From 76e3b3938f8d78f8b5ffe3b00af0ef06f6b00743 Mon Sep 17 00:00:00 2001 From: rorapp Date: Tue, 18 Feb 2025 17:36:15 +0100 Subject: [PATCH] add an .env.all file that contains all default values --- env/.env.all | 224 ++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 222 insertions(+), 2 deletions(-) diff --git a/env/.env.all b/env/.env.all index 667e208..4bf35e0 100644 --- a/env/.env.all +++ b/env/.env.all @@ -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.`** (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 \ No newline at end of file