43 lines
1.6 KiB
Desktop File
43 lines
1.6 KiB
Desktop File
# 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
|