add an .env.all file that contains all default values

rapp/pick-what-you-like
Robert Rapp 2025-02-18 17:36:15 +01:00
parent 97b28e9540
commit 76e3b3938f
1 changed files with 222 additions and 2 deletions

224
env/.env.all vendored
View File

@ -2,9 +2,229 @@
## 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_dev
INFRASTRUCTURE_LABEL=mindboost
ENVIRONMENT=development
ADMIN_USER=${INFRASTRUCTURE_LABEL}_${ENVIRONMENT}
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.<service>`** (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.<service>` 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