# DevOps Infrastructure - Auto-start on boot # ============================================================================= # Manages development infrastructure via docker-compose: # - forgejo (git forge at forge.nasty.sh) # - forgejo-db (postgres) # - forgejo-nginx (reverse proxy for forge + npm) # - forgejo-runner (CI/CD runner) # - verdaccio (npm cache at npm.nasty.sh) # - restic-rest-server (workstation backups) # # Deploy: sudo cp this file to /etc/systemd/system/devops.service # sudo systemctl daemon-reload # sudo systemctl enable devops # ============================================================================= [Unit] Description=DevOps Infrastructure (Git Forge + CI/CD + NPM Cache + Backups) Documentation=https://forgejo.org/docs/latest/admin/ Requires=docker.service After=docker.service network-online.target Wants=network-online.target [Service] Type=oneshot RemainAfterExit=yes WorkingDirectory=/bigdisk/forgejo # Start all stacks ExecStart=/usr/bin/docker-compose -f /bigdisk/forgejo/docker-compose.yml up -d ExecStart=/usr/bin/docker-compose -f /bigdisk/restic/docker-compose.yml up -d # Stop all stacks (reverse order) ExecStop=/usr/bin/docker-compose -f /bigdisk/restic/docker-compose.yml down ExecStop=/usr/bin/docker-compose -f /bigdisk/forgejo/docker-compose.yml down # Reload all stacks ExecReload=/usr/bin/docker-compose -f /bigdisk/forgejo/docker-compose.yml up -d --force-recreate ExecReload=/usr/bin/docker-compose -f /bigdisk/restic/docker-compose.yml up -d --force-recreate TimeoutStartSec=300 [Install] WantedBy=multi-user.target