Add Gitea Actions CI/CD to build, push, and deploy on main.
CI / test (push) Failing after 12m47s
CI / build-and-push (push) Skipped
CI / deploy (push) Skipped

Mirrors the airports runner flow: test, publish to the Gitea registry, then pull APP_IMAGE into the z00 compose stack.
This commit is contained in:
ben
2026-08-12 22:56:46 +02:00
parent 4898d5cfde
commit 5dd0a3aeac
7 changed files with 371 additions and 6 deletions
+9 -6
View File
@@ -39,8 +39,14 @@ x-app-env: &app-env
SEED_USER_EMAIL: ${SEED_USER_EMAIL:-demo@example.com}
SEED_USER_PASSWORD: ${SEED_USER_PASSWORD:-password}
# Local: omit APP_IMAGE (builds andytranscribe-app:latest).
# CI/prod: set APP_IMAGE=gitea.z00.nu/ben/andytranscribe:<sha> and pull.
x-app-image: &app-image
image: ${APP_IMAGE:-andytranscribe-app:latest}
services:
app:
<<: *app-image
build:
context: .
dockerfile: Dockerfile
@@ -50,7 +56,6 @@ services:
VITE_REVERB_HOST: ${VITE_REVERB_HOST:-localhost}
VITE_REVERB_PORT: ${REVERB_HOST_PORT:-8081}
VITE_REVERB_SCHEME: ${VITE_REVERB_SCHEME:-http}
image: andytranscribe-app:latest
container_name: andytranscribe-app
ports:
- "${APP_HOST_PORT:-8080}:80"
@@ -72,11 +77,10 @@ services:
condition: service_started
restart: unless-stopped
# Shares andytranscribe-app:latest — do not declare build: here (avoids rebuilding 3×).
# Shares the app image — do not declare build: here (avoids rebuilding 3×).
# `docker compose up --build` builds `app` first, then starts these with the tagged image.
queue:
image: andytranscribe-app:latest
pull_policy: never
<<: *app-image
container_name: andytranscribe-queue
command:
- php
@@ -103,8 +107,7 @@ services:
restart: unless-stopped
reverb:
image: andytranscribe-app:latest
pull_policy: never
<<: *app-image
container_name: andytranscribe-reverb
command:
- php