# Gondulf IndieAuth Server - systemd Unit for Docker # # Installation: # 1. Copy this file to /etc/systemd/system/gondulf.service # 2. sudo systemctl daemon-reload # 3. sudo systemctl enable --now gondulf # # Management: # sudo systemctl status gondulf # sudo systemctl restart gondulf # sudo systemctl stop gondulf # sudo journalctl -u gondulf -f # [Unit] Description=Gondulf IndieAuth Server (Docker) Documentation=https://github.com/yourusername/gondulf Requires=docker.service After=docker.service network-online.target Wants=network-online.target [Service] Type=simple Restart=always RestartSec=10s TimeoutStartSec=60s TimeoutStopSec=30s # Working directory (adjust to your installation path) WorkingDirectory=/opt/gondulf # Stop and remove any existing container ExecStartPre=-/usr/bin/docker stop gondulf ExecStartPre=-/usr/bin/docker rm gondulf # Start container ExecStart=/usr/bin/docker run \ --name gondulf \ --rm \ -p 8000:8000 \ -v gondulf_data:/data \ --env-file /opt/gondulf/.env \ --health-cmd "wget --no-verbose --tries=1 --spider http://localhost:8000/health || exit 1" \ --health-interval 30s \ --health-timeout 5s \ --health-retries 3 \ gondulf:latest # Stop container gracefully ExecStop=/usr/bin/docker stop -t 10 gondulf [Install] WantedBy=multi-user.target