Troubleshooting
All commands run on the server with sudo.
Current state
sudo eurion-ctl status # services and infrastructure
sudo eurion-ctl status -v # plus memory, disk and load
sudo eurion-ctl health # stopped containers, restarts, disk, database connections, backups
sudo eurion-ctl ps # every Eurion container with status and imageReading eurion-ctl status
healthy: the service answers its health check.degraded: the container runs but does not answer/health.not found: the container does not exist. This is normal for features switched off in the configuration (for exampleai-service,transcription-serviceandbridge-service), and the summary then says Degraded although everything works.
The most reliable check:
sudo docker ps --filter health=unhealthy --filter status=restartingIf the list is empty, every container is healthy. eurion-minio-init having exited with code 0 is normal: it only runs once.
Installed version:
grep eurion_version /opt/eurion/deploy/generated/group_vars/all.ymlLogs
sudo eurion-ctl logs # the last lines from every container
sudo eurion-ctl logs messaging-service # follow one service (Ctrl+C stops)
sudo eurion-ctl logs gateway --no-follow -n 500 # the last 500 linesThe name is the container name without eurion-. Examples: gateway, identity-service, messaging-service, file-service, video-service, admin-service, traefik, postgres, coturn.
Other logs:
| Log | Where |
|---|---|
| Updates | /opt/eurion/logs/upgrade-<time>.log, and upgrade-history.log with one line per successful update |
| The update service | journalctl -u eurion-updater |
| Current or last update started from the portal | /var/lib/eurion-updater/job.log |
| Backups | /opt/eurion/logs/backup.log |
| All containers, searchable | Grafana → Explore → Loki, see Monitoring |
Restarting
sudo eurion-ctl restart messaging-service # one service, waits for its health check
sudo eurion-ctl restart all # all Eurion services
sudo eurion-ctl restart infra # PostgreSQL, Redis, Kafka, MinIO, search (brief outage)Common problems
The installation stops
Read the last task (TASK [...]) that Ansible printed.
| Message | Cause |
|---|---|
Minimum 8GB RAM required / Minimum 4 CPU cores required | The server is too small, see requirements. |
Unsupported OS | The operating system is not supported. |
Errors about missing images, or pull access denied for eurion-… | eurion_version does not match the installation file, or the images have not been loaded (step 6 of the installation). |
Wait for each service to be healthy fails | A service does not start. Look at its log with eurion-ctl logs <service> --no-follow. |
The installation can be run again once the problem is fixed. Passwords are kept.
The browser warns about the certificate
With
tls.method: selfsignedthis is expected. Switch toletsencrypt.With
letsencrypt: check that the name points at the server and that ports 80 and 443 are reachable from the internet. Look at Traefik's log:bashsudo eurion-ctl logs traefik --no-follow -n 200 | grep -i -E 'acme|certificate'Check which certificate is served:
bashopenssl s_client -connect app.example.se:443 -servername app.example.se </dev/null 2>/dev/null \ | openssl x509 -noout -issuer -dates
Calls connect but there is no audio or video
Almost always ports or addresses:
turn.example.semust point at the server's public address.- 3478 TCP/UDP, 49152–65535 UDP and 10000–10100 UDP must be open, see DNS and firewall.
server.public_ipmust be the public address andserver.hostthe server's own address.- The TURN server must be running:
sudo docker ps --filter name=eurion-coturnandsudo eurion-ctl logs coturn --no-follow -n 100.
No e-mail arrives
See Outgoing e-mail.
No alerts
Alerts are only sent if smtp.host is filled in. See Monitoring.
The disk fills up
sudo eurion-ctl diskShows what takes up space and offers to clean up unused Docker resources. Remove old versions' images with eurion-ctl prune-images <old version> after a successful update.
The update fails
| What you see | What to do |
|---|---|
| Update to … failed, rolled back to … | The server runs the old version again. Open Log on the page and send the log to support. |
| Last check failed | The server cannot reach the update channel. Check outbound HTTPS to updates.eurion.se and journalctl -u eurion-updater. |
| latest.json is not signed by a trusted key or BAD SIGNATURE | Do not install. Contact support. |
| Can't be installed automatically: no bundle for version … | There is no bundle that matches your version. Contact support for a full bundle. |
| This account signs in with azure; password confirmation is not available | Sign in with a local super administrator account. |
| Not enough disk | Free up space, see above. |
| Cannot reach the server all the time | Check systemctl status eurion-updater and sudo eurion-ctl status. |
| The page shows nothing at all | Try the manual update. |
Collecting information for a support ticket
Run this and attach the file to the ticket:
OUT=/tmp/eurion-support-$(date +%Y%m%d-%H%M).txt
{
echo "== Version"; grep eurion_version /opt/eurion/deploy/generated/group_vars/all.yml
echo "== System"; uname -a; grep PRETTY_NAME /etc/os-release; nproc; free -h; df -h / /var/lib/docker
echo "== Containers"; docker ps -a --filter name=eurion- --format '{{.Names}}\t{{.Status}}\t{{.Image}}'
echo "== Health"; eurion-ctl health
echo "== Updates"; tail -n 20 /opt/eurion/logs/upgrade-history.log
echo "== Last update log"; tail -n 200 "$(ls -1t /opt/eurion/logs/upgrade-*.log 2>/dev/null | head -1)"
echo "== Updater"; journalctl -u eurion-updater --no-pager -n 100
} > "$OUT" 2>&1
echo "$OUT"Run the block as root (sudo -i first). Add the log for the service that misbehaves:
sudo eurion-ctl logs <service> --no-follow -n 500 > /tmp/<service>.log 2>&1Never send passwords
Do not attach secrets.yml, /opt/eurion/compose/.env, /etc/eurion/updater.json or backups. Read through the files before you send them; remove passwords and personal data that show up in logs.
Also include in the ticket:
- what happened and when (time and time zone),
- what you did just before (update, changed configuration, restart),
- whether it affects all users or some,
- error messages word for word or as a screenshot.
See Support.