[Unit] Description=Queue Worker - Centralized BullMQ job processor Documentation=https://forge.nasty.sh/lilith/lilith-platform After=docker.service network-online.target Requires=docker.service Wants=network-online.target [Service] Type=oneshot RemainAfterExit=yes # Run as root for Docker access (containers run as non-root internally) # User=lilith # Group=lilith # Dev: /var/home/lilith/Code/@projects/@lilith/lilith-platform/deployments/docker/services/queue-worker # Prod: /opt/lilith-platform/docker/queue-worker WorkingDirectory=/var/home/lilith/Code/@projects/@lilith/lilith-platform/deployments/docker/services/queue-worker # Execution ExecStartPre=/usr/bin/docker compose pull --quiet ExecStart=/usr/bin/docker compose up -d --remove-orphans ExecStop=/usr/bin/docker compose down ExecReload=/usr/bin/docker compose up -d --remove-orphans TimeoutStartSec=120 Restart=on-failure RestartSec=10 # Docker requires root access, containers run as non-root internally [Install] WantedBy=multi-user.target