44 lines
1.3 KiB
YAML
44 lines
1.3 KiB
YAML
version: '3.9'
|
|
|
|
# retro.vish.gg - Cyberpunk iPod Zone
|
|
# Clones Vish/retro_site dist/ on startup and serves it via nginx.
|
|
#
|
|
# Auto-deploy: pushes to Vish/retro_site trigger retro-webhook (retro-webhook/)
|
|
# which runs `docker exec` to refresh files without restarting this container.
|
|
#
|
|
# Manual redeploy: docker rm -f retro-site && docker compose up -d
|
|
|
|
services:
|
|
retro-site:
|
|
image: nginx:alpine
|
|
container_name: retro-site
|
|
restart: unless-stopped
|
|
ports:
|
|
- '8025:80'
|
|
volumes:
|
|
- site-data:/usr/share/nginx/html
|
|
environment:
|
|
# GIT_TOKEN is injected by Portainer at deploy time via portainer-deploy.yml
|
|
# Set it in the Portainer stack env vars - never hardcode here
|
|
- GIT_TOKEN=${GIT_TOKEN}
|
|
entrypoint:
|
|
- sh
|
|
- -c
|
|
- |
|
|
apk add --no-cache git
|
|
rm -rf /usr/share/nginx/html/*
|
|
git clone --depth 1 https://${GIT_TOKEN}@git.vish.gg/Vish/retro_site.git /tmp/site
|
|
cp -r /tmp/site/dist/* /usr/share/nginx/html/
|
|
cp /tmp/site/nginx.conf /etc/nginx/conf.d/default.conf
|
|
rm -rf /tmp/site
|
|
nginx -g 'daemon off;'
|
|
healthcheck:
|
|
test: ['CMD', 'wget', '-q', '--spider', 'http://localhost/']
|
|
interval: 30s
|
|
timeout: 10s
|
|
retries: 3
|
|
start_period: 60s
|
|
|
|
volumes:
|
|
site-data:
|