Migrate omsorgapp to browser SPA, add Docker/CI build setup
Docker-Images bauen und veröffentlichen / build (, omsorgCore/Dockerfile, omsorgcore) (push) Successful in 23s
Docker-Images bauen und veröffentlichen / build (VITE_OMSORG_CORE_URL=${{ vars.OMSORG_CORE_PUBLIC_URL }}, omsorgapp/Dockerfile, omsorgapp) (push) Failing after 2s
Docker-Images bauen und veröffentlichen / build (, omsorgWeb/Dockerfile, omsorgweb) (push) Failing after 39s
Docker-Images bauen und veröffentlichen / build (, omsorgCore/Dockerfile, omsorgcore) (push) Successful in 23s
Docker-Images bauen und veröffentlichen / build (VITE_OMSORG_CORE_URL=${{ vars.OMSORG_CORE_PUBLIC_URL }}, omsorgapp/Dockerfile, omsorgapp) (push) Failing after 2s
Docker-Images bauen und veröffentlichen / build (, omsorgWeb/Dockerfile, omsorgweb) (push) Failing after 39s
- omsorgapp: drop Electron, run as a plain Vite/React browser app; refresh token moves to an HttpOnly cookie (omsorgCore), CORS added for the new browser origin, document download/preview switched to Blob-based browser APIs. - Add Dockerfiles for omsorgCore, omsorgapp, and omsorgWeb, a docker-compose.yml wiring Postgres/MySQL/all three apps together, and a Gitea Actions workflow that builds and pushes images to the repo's container registry on push to main and on version tags. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Sonnet 5
parent
e9e96a57dc
commit
598dfcd38a
@@ -0,0 +1,101 @@
|
||||
name: omsorg
|
||||
|
||||
# WICHTIG (der fehleranfälligste Punkt in diesem Setup):
|
||||
# - omsorgapp.build.args.VITE_OMSORG_CORE_URL muss die vom BROWSER erreichbare Adresse von
|
||||
# omsorgcore sein (hier: der auf dem Host published Port), NICHT der interne Compose-DNS-Name -
|
||||
# Vite bäckt diese URL zur Build-Zeit in den JS-Bundle ein (siehe omsorgapp/src/api/config.js).
|
||||
# - omsorgweb.environment.OMSORG_CORE_URL ist dagegen der interne Servicename (http://omsorgcore:8080),
|
||||
# da PHP dort serverseitig per cURL aufruft (kein Browser-Kontext), siehe
|
||||
# omsorgWeb/docker/bootstrap-config.php.
|
||||
|
||||
services:
|
||||
postgres:
|
||||
image: postgres:16
|
||||
environment:
|
||||
POSTGRES_DB: omsorg_core
|
||||
POSTGRES_USER: omsorg_core
|
||||
POSTGRES_PASSWORD: omsorg_core_dev_password
|
||||
volumes:
|
||||
- postgres_data:/var/lib/postgresql/data
|
||||
healthcheck:
|
||||
test: ["CMD-SHELL", "pg_isready -U omsorg_core"]
|
||||
interval: 5s
|
||||
timeout: 5s
|
||||
retries: 10
|
||||
|
||||
mysql:
|
||||
image: mysql:8.0
|
||||
environment:
|
||||
MYSQL_DATABASE: omsorg_web
|
||||
MYSQL_USER: omsorg_web
|
||||
MYSQL_PASSWORD: omsorg_web_dev_password
|
||||
MYSQL_ROOT_PASSWORD: omsorg_web_root_dev_password
|
||||
volumes:
|
||||
- mysql_data:/var/lib/mysql
|
||||
healthcheck:
|
||||
test: ["CMD", "mysqladmin", "ping", "-h", "localhost"]
|
||||
interval: 5s
|
||||
timeout: 5s
|
||||
retries: 10
|
||||
|
||||
omsorgcore:
|
||||
build:
|
||||
context: .
|
||||
dockerfile: omsorgCore/Dockerfile
|
||||
depends_on:
|
||||
postgres:
|
||||
condition: service_healthy
|
||||
environment:
|
||||
ASPNETCORE_ENVIRONMENT: Development
|
||||
ConnectionStrings__OmsorgCore: "Host=postgres;Port=5432;Database=omsorg_core;Username=omsorg_core;Password=omsorg_core_dev_password"
|
||||
Jwt__Secret: "CHANGE_ME_LOCAL_DEV_SECRET_MIN_32_CHARS_LONG"
|
||||
Cors__AllowedOrigins__0: "http://localhost:5173"
|
||||
ports:
|
||||
- "8080:8080"
|
||||
volumes:
|
||||
- omsorgcore_documents:/app/App_Data/documents
|
||||
|
||||
omsorgapp:
|
||||
build:
|
||||
context: .
|
||||
dockerfile: omsorgapp/Dockerfile
|
||||
args:
|
||||
VITE_OMSORG_CORE_URL: "http://localhost:8080"
|
||||
ports:
|
||||
- "5173:80"
|
||||
depends_on:
|
||||
- omsorgcore
|
||||
|
||||
omsorgweb:
|
||||
build:
|
||||
context: .
|
||||
dockerfile: omsorgWeb/Dockerfile
|
||||
depends_on:
|
||||
mysql:
|
||||
condition: service_healthy
|
||||
omsorgcore:
|
||||
condition: service_started
|
||||
environment:
|
||||
DB_HOST: mysql
|
||||
DB_NAME: omsorg_web
|
||||
DB_USER: omsorg_web
|
||||
DB_PASSWORD: omsorg_web_dev_password
|
||||
OMSORG_CORE_URL: "http://omsorgcore:8080"
|
||||
ports:
|
||||
- "8081:80"
|
||||
volumes:
|
||||
- web_uploads:/var/www/html/mitarbeiter-app-legacy/uploads
|
||||
- web_downloads:/var/www/html/mitarbeiter-app-legacy/downloads
|
||||
- web_fortbildung:/var/www/html/mitarbeiter-app-legacy/fortbildung-materials
|
||||
- web_avatars:/var/www/html/mitarbeiter-app-legacy/assets/avatars
|
||||
- web_data:/var/www/html/mitarbeiter-app-legacy/data
|
||||
|
||||
volumes:
|
||||
postgres_data:
|
||||
mysql_data:
|
||||
omsorgcore_documents:
|
||||
web_uploads:
|
||||
web_downloads:
|
||||
web_fortbildung:
|
||||
web_avatars:
|
||||
web_data:
|
||||
Reference in New Issue
Block a user