ci: add Gitea Actions deploy workflow
Some checks failed
Build & Deploy Dashboard / deploy (push) Failing after 50s
Some checks failed
Build & Deploy Dashboard / deploy (push) Failing after 50s
This commit is contained in:
57
.gitea/workflows/deploy.yml
Normal file
57
.gitea/workflows/deploy.yml
Normal file
@@ -0,0 +1,57 @@
|
||||
name: Build & Deploy Dashboard
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [main]
|
||||
|
||||
jobs:
|
||||
deploy:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Build Docker image
|
||||
run: |
|
||||
docker build -t digital-home-dashboard:latest .
|
||||
|
||||
- name: Stop old container
|
||||
run: |
|
||||
docker stop digital-home-dashboard 2>/dev/null || true
|
||||
docker rm digital-home-dashboard 2>/dev/null || true
|
||||
|
||||
- name: Run new container
|
||||
run: |
|
||||
docker run -d \
|
||||
--name digital-home-dashboard \
|
||||
--restart unless-stopped \
|
||||
--network coolify \
|
||||
--add-host=host.docker.internal:host-gateway \
|
||||
-p 3005:3000 \
|
||||
-e NEXTAUTH_SECRET=digital-home-jwt-secret-2026-cosmo \
|
||||
-e NEXTAUTH_URL=https://home.digital-home.site \
|
||||
-e AUTH_TRUST_HOST=true \
|
||||
-e NODE_ENV=production \
|
||||
-e GOOGLE_CLIENT_ID=${{ secrets.GOOGLE_CLIENT_ID }} \
|
||||
-e GOOGLE_CLIENT_SECRET=${{ secrets.GOOGLE_CLIENT_SECRET }} \
|
||||
-e GOOGLE_REFRESH_TOKEN=${{ secrets.GOOGLE_REFRESH_TOKEN }} \
|
||||
-e GOOGLE_CALENDAR_ID=daniilklimov25@gmail.com \
|
||||
--label 'traefik.enable=true' \
|
||||
--label 'traefik.http.middlewares.gzip.compress=true' \
|
||||
--label 'traefik.http.middlewares.redirect-to-https.redirectscheme.scheme=https' \
|
||||
--label 'traefik.http.routers.http-0-dashboard.entryPoints=http' \
|
||||
--label 'traefik.http.routers.http-0-dashboard.middlewares=redirect-to-https' \
|
||||
--label 'traefik.http.routers.http-0-dashboard.rule=Host(`home.digital-home.site`) && PathPrefix(`/`)' \
|
||||
--label 'traefik.http.routers.https-0-dashboard.entryPoints=https' \
|
||||
--label 'traefik.http.routers.https-0-dashboard.middlewares=gzip' \
|
||||
--label 'traefik.http.routers.https-0-dashboard.rule=Host(`home.digital-home.site`) && PathPrefix(`/`)' \
|
||||
--label 'traefik.http.routers.https-0-dashboard.tls=true' \
|
||||
--label 'traefik.http.routers.https-0-dashboard.tls.certresolver=letsencrypt' \
|
||||
--label 'traefik.http.services.dashboard.loadbalancer.server.port=3000' \
|
||||
digital-home-dashboard:latest
|
||||
|
||||
- name: Health check
|
||||
run: |
|
||||
sleep 5
|
||||
curl -sf http://localhost:3005/ -o /dev/null -w "%{http_code}" | grep -E "200|307"
|
||||
echo "✅ Dashboard is up"
|
||||
Reference in New Issue
Block a user