42 lines
1.3 KiB
YAML
42 lines
1.3 KiB
YAML
name: Deploy t-youtube
|
|
on:
|
|
push:
|
|
branches: [main]
|
|
paths:
|
|
- 'backend/**'
|
|
- 'frontend/**'
|
|
- 'Dockerfile'
|
|
- '.gitea/workflows/deploy.yml'
|
|
workflow_dispatch:
|
|
|
|
jobs:
|
|
build-and-deploy:
|
|
name: Build & Deploy
|
|
runs-on: nas
|
|
steps:
|
|
- name: Pull latest code
|
|
run: |
|
|
git -C /volume1/docker/t-youtube fetch http://localhost:3300/jimmy/t-youtube.git main 2>&1
|
|
git -C /volume1/docker/t-youtube merge FETCH_HEAD 2>&1
|
|
echo "OK: code updated"
|
|
|
|
- name: Build Docker image
|
|
run: |
|
|
/volume1/@appstore/ContainerManager/usr/bin/docker build -t t-youtube:latest /volume1/docker/t-youtube 2>&1
|
|
echo "OK: image built"
|
|
|
|
- name: Swap & Verify
|
|
run: |
|
|
D=/volume1/@appstore/ContainerManager/usr/bin
|
|
$D/docker stop t-youtube 2>/dev/null || true
|
|
$D/docker rm t-youtube 2>/dev/null || true
|
|
$D/docker run -d --name t-youtube --restart unless-stopped \
|
|
-p 8001:8000 \
|
|
--env-file /volume1/docker/t-youtube/.env \
|
|
-v /volume1/docker/t-youtube/data:/app/data \
|
|
-v /volume1/docker/t-youtube/config:/app/config \
|
|
t-youtube:latest 2>&1
|
|
sleep 3
|
|
$D/docker ps --filter name=t-youtube --format "{{.Status}}"
|
|
echo "OK: deploy complete"
|