- App_Server/Dockerfile: Build-Context auf Repo-Root, COPY-Pfade angepasst, ENTRYPOINT aktiviert, dev-Stage mit inittypescriptdev.sh - NGINX_Server/Dockerfile: Multi-Stage mit frontend-Stage (Node.js baut TypeScript), statische Dateien und Config-Templates ins Image kopiert - docker-compose.base.yaml: Context auf '.', python-venv Volume entfernt, NGINX_STATIC_DIR/CONFIG_TEMPLATE_DIR bind-mounts in Dev verschoben - docker-compose.dev.yaml: python-venv-dev Volume, APP_DEBUG=true, nginx-proxy mit bind-mounts fuer statische Dateien und Templates - docker-compose.prod.yaml: Code-bind-mount entfernt, nginx-proxy extends - approot.py: absolute Pfade, Debug-Modus via APP_DEBUG Umgebungsvariable - init.sh: vereinfacht (kein cd/pip, absolute Pfade) - inireader.mjs: absoluter Pfad fuer config.ini - package.json: scripts.build (tsc + rollup) ergaenzt - .dockerignore, deploy-kbcrm-test.sh, deploy-kbcrm-prod.sh erstellt - docker-compose.save.yaml geloescht - env-sample: BUILD_ENVIRONMENT nach oben, Dev-only Variablen markiert Generated by Mistral Vibe. Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
72 lines
3.0 KiB
Plaintext
72 lines
3.0 KiB
Plaintext
# =============================================================================
|
|
# BUILD-UMGEBUNG (zentrale Einstellung — hier dev/prod umschalten)
|
|
# =============================================================================
|
|
# Bestimmt, welche docker-compose-*.yaml neben der base-Datei geladen wird.
|
|
# COMPOSE_FILE wird von Docker Compose automatisch ausgewertet (auch via .env);
|
|
# mehrere Dateien werden durch ':' getrennt und nacheinander gemerged.
|
|
BUILD_ENVIRONMENT=dev
|
|
COMPOSE_FILE=docker-compose.base.yaml:docker-compose.${BUILD_ENVIRONMENT}.yaml
|
|
|
|
# Parameter für NGINX-Server
|
|
NGINX_VERSION=mainline-alpine
|
|
# SSL für NGINX aktivieren (true) oder deaktivieren (false).
|
|
# Bei false muss NGINX_HOST_PORT angepasst werden (z.B. 8080 statt 443).
|
|
NGINX_USE_SSL=true
|
|
NGINX_HOST_PORT=443
|
|
NGINX_SERVER_NAME=kbp_crm.mylocal.de
|
|
# NGINX_STATIC_DIR: nur in Dev benoetigt (bind-mount fuer statische Dateien).
|
|
# In Prod liegen die statischen Dateien im NGINX-Image.
|
|
NGINX_STATIC_DIR=/home/schoschi/Entwicklung/Projekte_Runden/kbcrm/NGINX_Server/html
|
|
# NGINX_CONFIG_TEMPLATE_DIR: nur in Dev benoetigt (bind-mount fuer NGINX-Templates).
|
|
# In Prod liegen die Templates im NGINX-Image.
|
|
NGINX_CONFIG_TEMPLATE_DIR=/home/schoschi/Entwicklung/Projekte_Runden/kbcrm/NGINX_Server/configtemplates
|
|
NGINX_CERTS=/home/schoschi/Entwicklung/Projekte_Runden/kbcrm/NGINX_Server/certs
|
|
NGINX_CERT=wildcard.mylocal.crt
|
|
NGINX_CERT_KEY=wildcard.mylocal.key
|
|
|
|
# Parameter for Python App-Server
|
|
PYTHON_VERSION=slim-bookworm
|
|
# PYTHON_APP_DIR entfaellt — Code wird in Prod ins Image gebaut (Option B).
|
|
# In Dev wird PYTHON_DEV_DIR als bind-mount verwendet (siehe docker-compose.dev.yaml).
|
|
PYTHON_DEV_DIR=/home/schoschi/Entwicklung/Projekte_Runden/kbcrm
|
|
PYTHON_DB_DIR=/home/schoschi/Entwicklung/Projekte_Runden/kbcrm/App_Server/data
|
|
# PYTHON_ENV_DIR=/home/schoschi/Entwicklung/Projekte_Runden/kbcrm/App_Server/env
|
|
|
|
# Parameter für Dev-Mode (Development-Container für VS-Code)
|
|
NODE_VERSION=lts
|
|
NPM_VERSION=latest
|
|
|
|
# =============================================================================
|
|
# ZITADEL OIDC SETTINGS
|
|
# =============================================================================
|
|
|
|
# Zitadel Issuer URL (OIDC Provider)
|
|
# Example: https://your-zitadel-instance.zitadel.cloud
|
|
ZITADEL_ISSUER=https://id.vmlx.de
|
|
|
|
# OIDC Client ID from Zitadel
|
|
ZITADEL_CLIENT_ID=###client##
|
|
|
|
# OIDC Client Secret from Zitadel # not for PKCE
|
|
ZITADEL_CLIENT_SECRET=####secret ###
|
|
|
|
# Redirect URI for OIDC callback
|
|
# Default: http://localhost:5000/auth/callback
|
|
#ZITADEL_REDIRECT_URI=http://localhost:8000/auth/callback
|
|
ZITADEL_REDIRECT_URI=https://kbp_crm.mylocal.de/auth/callback
|
|
|
|
# OIDC Scopes (comma-separated)
|
|
ZITADEL_SCOPES=openid,profile,email
|
|
|
|
# =============================================================================
|
|
# EMAIL SETTINGS (for notifications)
|
|
# =============================================================================
|
|
|
|
# SMTP Server
|
|
# SMTP_SERVER=localhost
|
|
# SMTP_PORT=587
|
|
# SMTP_USERNAME=
|
|
# SMTP_PASSWORD=
|
|
# SMTP_USE_TLS=true
|
|
# EMAIL_FROM=formeleon@yourdomain.com
|