Files
linearvoid/.gitea/workflows/cd.yml
T
zwitschi 7ce6a24a77
CD / deploy (push) Failing after 25s
CI / test (push) Successful in 5m59s
CI / docker (push) Failing after 2m43s
CI / release (push) Skipped
reinstated indentation for env
2026-08-04 09:45:58 +02:00

61 lines
1.6 KiB
YAML

name: CD
on:
push:
branches: [main]
workflow_dispatch:
jobs:
deploy:
runs-on: [ubuntu-latest]
environment: production
steps:
- name: Checkout code
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Log in to Gitea Container Registry
uses: docker/login-action@v3
with:
registry: git.allucanget.biz
username: ${{ secrets.CI_REGISTRY_USER }}
password: ${{ secrets.CI_REGISTRY_TOKEN }}
- name: Prepare environment
run: |
cat > .env << 'EOF'
DATABASE_URL="${{ secrets.DATABASE_URL }}"
REDIS_URL=redis://redis:6379/0
PLAYLIST_PATH=/app/playlist/playlist.txt
HLS_SEGMENT_DURATION=6
HLS_WINDOW_SIZE=24
LOG_LEVEL=info
ADMIN_USERNAME="${{ secrets.ADMIN_USERNAME }}"
ADMIN_PASSWORD="${{ secrets.ADMIN_PASSWORD }}"
ADMIN_SESSION_TTL_HOURS=12
NGINX_PORT=80
EOF
- name: Deploy with docker-compose
env:
DOCKER_HOST: tcp://192.168.88.40:2375
run: |
docker compose -f docker-compose.prod.yml pull
docker compose -f docker-compose.prod.yml up -d --remove-orphans
- name: Health check
run: |
sleep 10
curl -f http://192.168.88.40:3000/health || exit 1
curl -f http://192.168.88.40:8081/health || exit 1
- name: Cleanup old images
env:
DOCKER_HOST: tcp://192.168.88.40:2375
run: |
docker image prune -f --filter "until=24h"