ci: central services images veröffentlichen
All checks were successful
Build and Push Docker Images / build-backend (push) Successful in 33s
Build and Push Docker Images / build-frontend (push) Successful in 18s
Build and Push Docker Images / build-website (push) Successful in 16s
Build and Push Docker Images / build-central-services-api (push) Successful in 38s
Build and Push Docker Images / build-central-services-admin (push) Successful in 1m0s
Build and Push Docker Images / build-docs (push) Successful in 17s

This commit is contained in:
2026-08-02 17:23:30 +02:00
parent 3755b4136a
commit 28c5e8511f
5 changed files with 80 additions and 8 deletions

View File

@@ -3,6 +3,7 @@ CENTRAL_API_DOMAIN=services.fedeo.de
CENTRAL_ADMIN_DOMAIN=services-admin.fedeo.de
CONTACT_EMAIL=admin@example.com
POSTGRES_PASSWORD=change-me-postgres-password
FEDEO_CENTRAL_TAG=dev
DATABASE_URL=postgres://fedeo_push:fedeo_push@localhost:5442/fedeo_push
API_HOST=0.0.0.0
API_PORT=4020

View File

@@ -55,11 +55,21 @@ GOCARDLESS_SECRET_KEY=...
Ein Neustart nach Änderungen erfolgt mit:
```bash
docker compose pull
docker compose up -d
docker compose ps
docker compose logs -f api
```
API und Admin werden als fertige Images aus der FEDEO-Registry geladen:
```text
git.federspiel.tech/flfeders/fedeo/central-services-api:dev
git.federspiel.tech/flfeders/fedeo/central-services-admin:dev
```
Über `FEDEO_CENTRAL_TAG` kann in `.env` ein anderer Branch- oder Release-Tag gewählt werden. Auf dem Zielserver findet kein lokaler Image-Build statt.
Traefik leitet HTTP automatisch auf HTTPS um und bezieht Zertifikate per Lets Encrypt TLS-Challenge. PostgreSQL besitzt keinen Host-Port und ist nur im internen Docker-Netz erreichbar. API und Admin werden ebenfalls nicht direkt über Host-Ports veröffentlicht.
Der API-Container wendet Datenbankmigrationen vor jedem Start automatisch an. PostgreSQL-Daten liegen im Volume `push_postgres_data`; Lets-Encrypt-Daten liegen unter `traefik/letsencrypt`.

View File

@@ -46,9 +46,7 @@ services:
api:
restart: unless-stopped
build:
context: .
dockerfile: apps/api/Dockerfile
image: git.federspiel.tech/flfeders/fedeo/central-services-api:${FEDEO_CENTRAL_TAG:-dev}
env_file: ${CENTRAL_ENV_FILE:-.env}
environment:
DATABASE_URL: postgres://fedeo_push:${POSTGRES_PASSWORD:-fedeo_push}@postgres:5432/fedeo_push
@@ -73,9 +71,7 @@ services:
admin:
restart: unless-stopped
build:
context: .
dockerfile: apps/admin/Dockerfile
image: git.federspiel.tech/flfeders/fedeo/central-services-admin:${FEDEO_CENTRAL_TAG:-dev}
env_file: ${CENTRAL_ENV_FILE:-.env}
environment:
NUXT_PUBLIC_API_BASE: https://${CENTRAL_API_DOMAIN}

View File

@@ -70,8 +70,9 @@ echo "Die DNS-A/AAAA-Records beider Domains müssen auf diesen Server zeigen."
if [[ "${1:-}" == "--start" ]]; then
cd "$ROOT_DIR"
docker compose up -d --build
docker compose pull
docker compose up -d
docker compose ps
else
echo "Start: cd $ROOT_DIR && docker compose up -d --build"
echo "Start: cd $ROOT_DIR && docker compose pull && docker compose up -d"
fi