## ## Einstellung die für das gesamte Projekt gelten. Also der Name und der Admin ## Das Environment muss "production","staging" oder "development" heißen INFRASTRUCTURE_LABEL=mindboost ENVIRONMENT=development ADMIN_USER=${INFRASTRUCTURE_LABEL:-default}_${ENVIRONMENT:-development} ADMIN_PASSWORD_HASH='$2y$05$U7noO29Ru/4VB5x8TpZo3.b4VjH6AAnhufJJUG2Vs7qHCM2Cd8yIK' # for development = admin SERVER_IP=127.0.0.1 ################################################################################################# # 🔧 ENVIRONMENT VARIABLES 🔧 # ################################################################################################# # # This file contains **default (fallback) values** for environment variables. # These values ensure that services run with sane defaults if no other configuration is provided. # # 📌 **ENVIRONMENT VARIABLE PRIORITY ORDER (Lowest to Highest)** # 1️⃣ **Fallback Values in the File** (Used only if no other source provides a value) # 2️⃣ **Global Defaults in `.env.all`** (Shared settings across all services) # 3️⃣ **Service-Specific `.env` Files** (Overrides per service group, e.g., `.env.backend`, `.env.proxy`) # 4️⃣ **Preloaded Shell Environment** (`export VAR=value` before running `docker compose`) # 5️⃣ **CLI Overrides** (`docker compose --env-file` or `-e VAR=value` → Highest Priority) # # 🔄 **Overwriting Behavior** # - Variables defined in **`.env.all`** override values in this file. # - Variables defined in **`.env.`** (e.g., `.env.backend`) override `.env.all`. # - Variables explicitly **exported in the shell** take priority over all `.env` files. # - Variables passed via **CLI (`--env-file` or `-e VAR=value`)** have the **highest priority**. # # 🚀 **Key Takeaways** # ✅ Use `.env.all` for common values across environments. # ✅ Use `.env.` for service-specific configurations. # ✅ If needed, manually override variables in the shell or CLI. # ################################################################################################# ## ______________________________________________________________________________________________ ## SEVICE GROUP ADMINISTRATION ## ______________________________________________________________________________________________ # ---------------------------------- # Portainer # ---------------------------------- PORTAINER_IMAGE=portainer/portainer-ce:latest PORTAINER_DATA_PATH=../../../volumes/administration/portainer/data ## ______________________________________________________________________________________________ ## SEVICE GROUP DATABASE ## ______________________________________________________________________________________________ # ---------------------------------- # Datenbank (MariaDB) # ---------------------------------- MARIADB_USER=${INFRASTRUCTURE_LABEL:-default}_${ENVIRONMENT:-development} MARIADB_DATABASE=${INFRASTRUCTURE_LABEL:-default}_${ENVIRONMENT:-development} MARIADB_PASSWORD=${INFRASTRUCTURE_LABEL:-default}_${ENVIRONMENT:-development} MARIADB_ROOT_PASSWORD=${INFRASTRUCTURE_LABEL:-default}_${ENVIRONMENT:-development}-root MARIADB_PORT=3306 MARIADB_HOST=${INFRASTRUCTURE_LABEL:-default}_database_${ENVIRONMENT:-development} ## ______________________________________________________________________________________________ ## SEVICE GROUP BACKEND ## ______________________________________________________________________________________________ # ---------------------------------- # Redis # ---------------------------------- REDIS_PASSWORD=laravel-redis-passwort REDIS_PORT=6379 # ---------------------------------- # Laravel Backend # ---------------------------------- BACKEND_NETWORK=backend APP_NAME="mindboost backend - Compose Deployment" APP_URL=https://backend.local LARAVEL_PORT=8000 LARAVEL_VITE_PORT=5173 DB_HOST=${MARIADB_HOST:-mariadb} DB_PORT=${MARIADB_PORT:-3306} DB_PASSWORD=${MARIADB_PASSWORD:-default} DB_USERNAME=${MARIADB_USER:-default} DB_DATABASE=${MARIADB_DATABASE:-default} JWT_SECRET=zMtO8sgsnc4UixWSsYWE1pK9EdpNLzxNSoIPlUpTe6dDlarM3bu4cwM80tH3jA0F # ---------------------------------- # Adminer # ---------------------------------- ADMINER_PORT=8080 ## ______________________________________________________________________________________________ ## SEVICE GROUP DEVELOP ## ______________________________________________________________________________________________ # ---------------------------------- # GITEA AND GITEA DB # ---------------------------------- USER_UID=1000 USER_GID=1000 GITEA_VOLUME_PATH=../../../volumes/develop/gitea/gitea GITEA_DATABASE_VOLUME_PATH=../../../volumes/develop/gitea/gitea_db GITEA_MYSQL_ROOT_PASSWORD=very-difficult-passwort-gitea GITEA_MYSQL_USER=gitea GITEA_MYSQL_PASSWORD=very-difficult-gitea GITEA_MYSQL_DATABASE=gitea GITEA_MYSQL_ALLOW_EMPTY_PASSWORD=true ## ______________________________________________________________________________________________ ## SEVICE GROUP FRONTEND ## ______________________________________________________________________________________________ # ---------------------------------- # VUE APP # ---------------------------------- BACKEND_URL="backend.local" ## ______________________________________________________________________________________________ ## SEVICE GROUP PROXY ## ______________________________________________________________________________________________ # ---------------------------------- # TRAEFIK # ---------------------------------- TRAEFIK_ENABLE=true TRAEFIK_NETWORK=proxy TRAEFIK_BASIC_AUTH_USERS=${ADMIN_USER:-admin}:${ADMIN_PASSWORD_HASH} TRAEFIK_CERT_RESOLVER= ## Domains when TRAEFIK is ENABLED PORTAINER_DOMAIN=portainer.local FRONTEND_DOMAIN=frontend.local FRONTEND_DOMAIN_2=app.frontend.local BACKEND_DOMAIN=backend.local WEBSITE_DOMAIN=web.local GITEA_DOMAIN=gitea.local LIMESURVEY_DOMAIN=survey.local LINKSTACK_DOMAIN=linkstack.local TRAEFIK_DOMAIN=traefik.local CLOUD_DOMAIN=cloud.local ### TLS for Domains PORTAINER_TLS_DOMAIN_MAIN=${PORTAINER_DOMAIN} FRONTEND_TLS_DOMAIN_MAIN=${FRONTEND_DOMAIN} FRONTEND_TLS_DOMAIN_SANS=${FRONTEND_DOMAIN_2} BACKEND_TLS_DOMAIN_MAIN=${BACKEND_DOMAIN} WEBSITE_TLS_DOMAIN_MAIN=${WEBSITE_DOMAIN} GITEA_TLS_DOMAIN_MAIN=${GITEA_DOMAIN} LIMESURVEY_TLS_DOMAIN_MAIN=${LIMESURVEY_DOMAIN} LINKSTACK_TLS_DOMAIN_MAIN=${LINKSTACK_DOMAIN} TRAEFIK_TLS_DOMAIN_MAIN=${TRAEFIK_DOMAIN} CLOUD_TLS_DOMAIN_MAIN=${CLOUD_DOMAIN} ## MIDDLEWARES TRAEFIK_HTTPS_REDIRECT_MIDDLEWARE=${INFRASTRUCTURE_LABEL:-default}-https-redirect TRAEFIK_BASIC_AUTH_MIDDLEWARE=${INFRASTRUCTURE_LABEL:-default}-basic-auth ## ENTRYPOINTS TRAEFIK_ENTRYPOINT=websecure TRAEFIK_ENTRYPOINT_HTTP=web ## ______________________________________________________________________________________________ ## SEVICE GROUP SECURITY ## ______________________________________________________________________________________________ # ---------------------------------- # WIREGUARD # ---------------------------------- WG_DEFAULT_ADDRESS=22.22.22.0 WG_HOST=${SERVER_IP:-127.0.0.1} WG_LANG=de ## ______________________________________________________________________________________________ ## SEVICE GROUP TOOLS ## ______________________________________________________________________________________________ # ---------------------------------- # NEXTCLOUD DB # ---------------------------------- MYSQL_ROOT_PASSWORD=headpiece-constant1-denim-mindboost #SQL root Passwort eingeben MYSQL_PASSWORD=idealist9-frayed-murkiness-mindboost #SQL Benutzer Passwort eingeben MYSQL_DATABASE=nextcloud-mindboost #Datenbank Name MYSQL_USER=mindboostcloud #SQL Nutzername MYSQL_INITDB_SKIP_TZINFO=1 MARIADB_AUTO_UPGRADE=1 # ---------------------------------- # NEXTCLOUD CLOUD # ---------------------------------- TRUSTED_PROXIES=172.16.255.254/16 OVERWRITEPROTOCOL=https OVERWRITECLIURL=https://${CLOUD_DOMAIN:-cloud} OVERWRITEHOST=${CLOUD_DOMAIN:-cloud} REDIS_HOST=nextcloud-redis REDIS_HOST_PASSWORD=redis-mindboost-passwort ## ______________________________________________________________________________________________ ## SEVICE GROUP WEBSITE ## ______________________________________________________________________________________________ # ---------------------------------- # KIRBY CMS # ---------------------------------- KIRBY_USER_ID=0