Files
minecraft-aiworld/.gitea/workflows/deploy.yml
SysAdmin b91aec3bf7 fix(ci): use docker compose up --force-recreate so new volume mounts apply
docker restart does not re-read docker-compose.yml, so new bind mounts
added to the compose file are ignored until containers are recreated.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-05 02:10:01 +01:00

49 lines
1.5 KiB
YAML

name: Deploy Addons
on:
push:
branches: [main]
paths:
- 'addon/**'
- 'lobby-addon/**'
- 'hub-return-addon/**'
- 'easter-egg-addon/**'
- 'docker-compose.yml'
- 'scripts/**'
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Deploy via SSH
uses: appleboy/ssh-action@v1
with:
host: ${{ secrets.DEPLOY_HOST }}
username: ${{ secrets.DEPLOY_USER }}
password: ${{ secrets.DEPLOY_PASSWORD }}
port: 22
script: |
set -e
APP_DIR="$HOME/minecraft-multiworld"
# First run: clone. Subsequent: pull.
if [ ! -d "$APP_DIR/.git" ]; then
cd "$APP_DIR"
git init
git remote add origin https://git.silverlabs.uk/SilverLABS/minecraft-aiworld.git
git fetch origin main
git checkout -f origin/main -- addon/ lobby-addon/ hub-return-addon/ easter-egg-addon/ docker-compose.yml
else
cd "$APP_DIR"
git fetch origin main
git checkout -f origin/main -- addon/ lobby-addon/ hub-return-addon/ easter-egg-addon/ docker-compose.yml
fi
# Recreate containers so any new docker-compose volume mounts are applied,
# then restart remaining containers to pick up script changes
docker compose up -d --force-recreate
# Wait and verify
sleep 10
docker ps --filter "name=mc-" --format "{{.Names}}: {{.Status}}"