# Gondulf IndieAuth Server - systemd Unit for Compose (Podman or Docker) # # This unit works with both podman-compose and docker-compose # # Installation (Podman rootless): # 1. Copy this file to ~/.config/systemd/user/gondulf.service # 2. Edit ExecStart/ExecStop to use podman-compose # 3. systemctl --user daemon-reload # 4. systemctl --user enable --now gondulf # 5. loginctl enable-linger $USER # # Installation (Docker): # 1. Copy this file to /etc/systemd/system/gondulf.service # 2. Edit ExecStart/ExecStop to use docker-compose # 3. Edit Requires= and After= to include docker.service # 4. sudo systemctl daemon-reload # 5. sudo systemctl enable --now gondulf # # Management: # systemctl --user status gondulf # For rootless # sudo systemctl status gondulf # For rootful/Docker # [Unit] Description=Gondulf IndieAuth Server (Compose) Documentation=https://github.com/yourusername/gondulf After=network-online.target Wants=network-online.target # For Docker, add: # Requires=docker.service # After=docker.service [Service] Type=oneshot RemainAfterExit=yes TimeoutStartSec=300 TimeoutStopSec=60 # Working directory (adjust to your installation path) # Rootless Podman: WorkingDirectory=/home/%u/gondulf # Docker: WorkingDirectory=/opt/gondulf WorkingDirectory=/home/%u/gondulf # Start services (choose one based on your container engine) # For Podman (rootless): ExecStart=/usr/bin/podman-compose -f docker-compose.yml -f docker-compose.production.yml up -d # For Docker (rootful): # ExecStart=/usr/bin/docker-compose -f docker-compose.yml -f docker-compose.production.yml up -d # Stop services (choose one based on your container engine) # For Podman: ExecStop=/usr/bin/podman-compose down # For Docker: # ExecStop=/usr/bin/docker-compose down Restart=on-failure RestartSec=30s [Install] # For rootless Podman: WantedBy=default.target # For Docker: # WantedBy=multi-user.target