64 lines
2.3 KiB
YAML
64 lines
2.3 KiB
YAML
name: build-and-deploy
|
|
|
|
on:
|
|
push:
|
|
branches: [ main ]
|
|
|
|
jobs:
|
|
#───────────────── build & push ─────────────────
|
|
build:
|
|
runs-on: docker
|
|
env:
|
|
REG: gitea.nucleoriofrio.com/nucleo000
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
- uses: docker/setup-buildx-action@v2
|
|
- uses: docker/login-action@v2
|
|
with:
|
|
registry: gitea.nucleoriofrio.com
|
|
username: nucleo000
|
|
password: 7bc7b2fcd283bd6a251bef3ede368b7f897c919d
|
|
|
|
- name: Build+push repodructor
|
|
run: |
|
|
docker build -t $REG/repodructor:${{ github.sha }} -t $REG/repodructor:latest .
|
|
docker push $REG/repodructor:${{ github.sha }}
|
|
docker push $REG/repodructor:latest
|
|
|
|
#───────────────── deploy ─────────────────
|
|
deploy:
|
|
needs: build
|
|
runs-on: docker
|
|
env:
|
|
REG: gitea.nucleoriofrio.com/nucleo000
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
- name: Login to registry
|
|
run: docker login gitea.nucleoriofrio.com -u nucleo000 -p 7bc7b2fcd283bd6a251bef3ede368b7f897c919d
|
|
|
|
- name: Check music directory mount
|
|
run: |
|
|
echo "Checking if music directory is mounted..."
|
|
if [ -d "/srv/repodructor/musica" ] && mountpoint -q /srv/repodructor/musica; then
|
|
echo "✅ Music directory is properly mounted"
|
|
echo "Mount info:"
|
|
mount | grep "/srv/repodructor/musica"
|
|
else
|
|
echo "❌ ERROR: Music directory is not mounted!"
|
|
echo ""
|
|
echo "Please mount your music directory first:"
|
|
echo " sudo mkdir -p /srv/repodructor/musica"
|
|
echo " sudo mount -t cifs //YOUR_NAS_SERVER/path/to/music /srv/repodructor/musica -o username=YOUR_USER,password=YOUR_PASS,ro"
|
|
echo ""
|
|
echo "Or update docker-compose.yml to point to your music directory."
|
|
exit 1
|
|
fi
|
|
|
|
- name: Pull fresh images used in compose
|
|
run: docker compose pull
|
|
|
|
- name: Clean up stack
|
|
run: docker compose --project-name repodructor down
|
|
|
|
- name: Update stack
|
|
run: docker compose --project-name repodructor up -d --remove-orphans --wait |