diff --git a/apps/database/docker-compose.yml b/apps/database/docker-compose.yml index f4f3687..87d0bdc 100644 --- a/apps/database/docker-compose.yml +++ b/apps/database/docker-compose.yml @@ -1,7 +1,7 @@ ### Database (./apps/database/docker-compose.yml) # - [ ] Create a MariaDB service # - [ ] Configure volumes for persistent storage of database data -# - [ ] Set up environment variables using the new structure (../../env/${ENVIRONMENT}/database.env) +# - [ ] Set up environment variables using the new structure (../../env/${ENVIRONMENT:-development}/database.env) # - [ ] Configure networking to allow connections from the backend service # - [ ] Set up regular backup jobs for the database # - [ ] Configure appropriate resource limits and restart policies @@ -9,12 +9,11 @@ services: database: profiles: ["all", "mariadb", "backend", "app"] image: mariadb:latest - container_name: ${INFRASTRUCTURE_LABEL}-mariadb-${ENVIRONMENT} + container_name: ${INFRASTRUCTURE_LABEL:-default}-mariadb-${ENVIRONMENT:-development} command: --bind-address=0.0.0.0 - hostname: ${MARIADB_HOST} env_file: - ../../env/.env.all - - ../../env/${ENVIRONMENT:-development}/.env.database + - ../../env/${ENVIRONMENT:-development}/.env.backend - ../../env/${ENVIRONMENT:-development}/.env.proxy environment: - MARIADB_USER=${MARIADB_USER} @@ -32,7 +31,7 @@ services: adminer: profiles: ["all", "mariadb", "backend", "app"] image: adminer - container_name: local_adminer + container_name: ${INFRASTRUCTURE_LABEL:-default}-adminer-${ENVIRONMENT:-development} restart: always ports: - 8082:8080 diff --git a/apps/develop/docker-compose.yml b/apps/develop/docker-compose.yml index 343142b..7b57820 100644 --- a/apps/develop/docker-compose.yml +++ b/apps/develop/docker-compose.yml @@ -1,7 +1,7 @@ ### Develop (./apps/develop/docker-compose.yml) # - [ ] Create services for Gitea, Jenkins, and Adminer # - [ ] Configure volumes for persistent storage of Git repositories, Jenkins data, and Adminer settings -# - [ ] Set up environment variables using the new structure (../../env/${ENVIRONMENT}/develop.env) +# - [ ] Set up environment variables using the new structure (../../env/${ENVIRONMENT:-development}/develop.env) # - [ ] Configure networking to allow these services to communicate with each other and the necessary application services # - [ ] Set up access controls and security measures for development tools diff --git a/apps/frontend/docker-compose.yml b/apps/frontend/docker-compose.yml index 1660091..549cac9 100644 --- a/apps/frontend/docker-compose.yml +++ b/apps/frontend/docker-compose.yml @@ -2,7 +2,7 @@ # - [ ] Create a Vue.js frontend service # - [ ] Set up a Node.js environment for the frontend # - [ ] Configure volumes for persistent storage of frontend assets -# - [ ] Set up environment variables using the new structure (../../env/${ENVIRONMENT}/frontend.env) +# - [ ] Set up environment variables using the new structure (../../env/${ENVIRONMENT:-development}/frontend.env) # - [ ] Configure networking to communicate with the backend service # - [ ] Set up healthchecks for the frontend service services: @@ -10,7 +10,7 @@ services: build: context: ./src dockerfile: Dockerfile - container_name: ${INFRASTRUCTURE_LABEL}-frontend-${ENVIRONMENT} + container_name: ${INFRASTRUCTURE_LABEL:-default}-frontend-${ENVIRONMENT:-development} profiles: ["webapp", "frontend", "all", "app"] depends_on: - database diff --git a/apps/security/docker-compose.yml b/apps/security/docker-compose.yml index 5547c09..abeee23 100644 --- a/apps/security/docker-compose.yml +++ b/apps/security/docker-compose.yml @@ -6,17 +6,17 @@ services: environment: # Change Language: # (Supports: en, ua, ru, tr, no, pl, fr, de, ca, es, ko, vi, nl, is, pt, chs, cht, it, th, hi, ja, si) - - LANG=de + - LANG=${WG_LANG:-de} # ⚠️ Required: # Change this to your host's public address - - WG_HOST=${SERVER_IP} + - WG_HOST=${SERVER_IP:-localhost} # Optional: # - PASSWORD_HASH=$$2y$$10$$hBCoykrB95WSzuV4fafBzOHWKu9sbyVa34GJr8VV5R/pIelfEMYyG # (needs double $$, hash of 'foobar123'; see "How_to_generate_an_bcrypt_hash.md" for generate the hash) # - PORT=51821 # - WG_PORT=51820 # - WG_CONFIG_PORT=92820 - - WG_DEFAULT_ADDRESS=22.22.22.0 + - WG_DEFAULT_ADDRESS=${WG_DEFAULT_ADDRESS:-22.22.22.0} # - WG_DEFAULT_DNS=1.1.1.1 # - WG_MTU=1420 # - WG_ALLOWED_IPS=192.168.15.0/24, 10.0.1.0/24 diff --git a/apps/tools/docker-compose.yml b/apps/tools/docker-compose.yml index 15224f7..4aa9966 100644 --- a/apps/tools/docker-compose.yml +++ b/apps/tools/docker-compose.yml @@ -1,21 +1,21 @@ ### Tools (./apps/tools/docker-compose.yml) # - [ ] Create services for Nextcloud, LimeSurvey, and LinkStack # - [ ] Configure volumes for persistent storage of files, survey data, and link management data -# - [ ] Set up environment variables using the new structure (../../env/${ENVIRONMENT}/tools.env) +# - [ ] Set up environment variables using the new structure (../../env/${ENVIRONMENT:-development}/tools.env) # - [ ] Configure networking to expose these services to the internet via the proxy # - [ ] Set up regular backup jobs for critical data in these services services: nextcloud-db: image: mariadb:10.6 - container_name: ${INFRASTRUCTURE_LABEL}-nextcloud-db-${ENVIRONMENT} + container_name: ${INFRASTRUCTURE_LABEL:-default}-nextcloud-db-${ENVIRONMENT:-development} profiles: ["all", "tools", "nextcloud"] command: --transaction-isolation=READ-COMMITTED --innodb_read_only_compressed=OFF restart: unless-stopped volumes: - /etc/localtime:/etc/localtime:ro - /etc/timezone:/etc/timezone:ro - - ../../volumes/tools/${INFRASTRUCTURE_LABEL}_cloud/database:/var/lib/mysql + - ../../volumes/tools/${INFRASTRUCTURE_LABEL:-default}_cloud/database:/var/lib/mysql environment: - MYSQL_ROOT_PASSWORD=headpiece-constant1-denim-mindboost #SQL root Passwort eingeben - MYSQL_PASSWORD=idealist9-frayed-murkiness-mindboost #SQL Benutzer Passwort eingeben @@ -25,14 +25,14 @@ services: - MARIADB_AUTO_UPGRADE=1 nextcloud-redis: image: redis:alpine - container_name: ${INFRASTRUCTURE_LABEL}-nextcloud-redis-${ENVIRONMENT} + container_name: ${INFRASTRUCTURE_LABEL:-default}-nextcloud-redis-${ENVIRONMENT:-development} profiles: ["all", "tools", "nextcloud"] hostname: nextcloud-redis restart: unless-stopped command: redis-server --requirepass redis-mindboost-passwort # Redis Passwort eingeben cloud: image: nextcloud - container_name: ${INFRASTRUCTURE_LABEL}-nextcloud-app-${ENVIRONMENT} + container_name: ${INFRASTRUCTURE_LABEL:-default}-nextcloud-app-${ENVIRONMENT:-development} profiles: ["all", "tools", "nextcloud"] restart: unless-stopped depends_on: @@ -41,27 +41,27 @@ services: environment: TRUSTED_PROXIES: 172.16.255.254/16 OVERWRITEPROTOCOL: https - OVERWRITECLIURL: https://${CLOUD_DOMAIN} - OVERWRITEHOST: ${CLOUD_DOMAIN} + OVERWRITECLIURL: https://${CLOUD_DOMAIN:-cloud} + OVERWRITEHOST: ${CLOUD_DOMAIN:-cloud} REDIS_HOST: nextcloud-redis REDIS_HOST_PASSWORD: redis-mindboost-passwort # Redis Passwort von oben wieder eingeben volumes: - ./app:/var/www/html - - ../../volumes/tools/${INFRASTRUCTURE_LABEL}_cloudapp/:/var/www/html/data + - ../../volumes/tools/${INFRASTRUCTURE_LABEL:-default}_cloudapp/:/var/www/html/data labels: - "traefik.enable=true" - - "traefik.http.routers.${INFRASTRUCTURE_LABEL}_cloud.entrypoints=websecure" - - "traefik.http.routers.${INFRASTRUCTURE_LABEL}_cloud.rule=Host(`${CLOUD_DOMAIN}`)" - - "traefik.http.routers.${INFRASTRUCTURE_LABEL}_cloud.tls=true" - - "traefik.http.routers.${INFRASTRUCTURE_LABEL}_cloud.tls.certresolver=http_resolver" - - 'traefik.http.routers.${INFRASTRUCTURE_LABEL}_cloud.service=cloud' + - "traefik.http.routers.${INFRASTRUCTURE_LABEL:-default}_cloud.entrypoints=websecure" + - "traefik.http.routers.${INFRASTRUCTURE_LABEL:-default}_cloud.rule=Host(`${CLOUD_DOMAIN}`)" + - "traefik.http.routers.${INFRASTRUCTURE_LABEL:-default}_cloud.tls=true" + - "traefik.http.routers.${INFRASTRUCTURE_LABEL:-default}_cloud.tls.certresolver=http_resolver" + - 'traefik.http.routers.${INFRASTRUCTURE_LABEL:-default}_cloud.service=cloud' - "traefik.http.services.cloud.loadbalancer.server.port=80" - - "traefik.docker.network=${TRAEFIK_NETWORK}" - - "traefik.http.routers.${INFRASTRUCTURE_LABEL}_cloud.middlewares=nextcloud-dav,default@file" + - "traefik.docker.network=${TRAEFIK_NETWORK:-default}" + - "traefik.http.routers.${INFRASTRUCTURE_LABEL:-default}_cloud.middlewares=nextcloud-dav,default@file" - "traefik.http.middlewares.nextcloud-dav.replacepathregex.regex=^/.well-known/ca(l|rd)dav" - "traefik.http.middlewares.nextcloud-dav.replacepathregex.replacement=/remote.php/dav/" networks: - ${TRAEFIK_NETWORK} networks: nextcloud: - name: ${INFRASTRUCTURE_LABEL}_nextcloud + name: ${INFRASTRUCTURE_LABEL:-default}_nextcloud diff --git a/apps/website/docker-compose.yml b/apps/website/docker-compose.yml index c90bfcb..06a1ade 100644 --- a/apps/website/docker-compose.yml +++ b/apps/website/docker-compose.yml @@ -4,7 +4,7 @@ services: context: ./kirby dockerfile: Dockerfile image: kirbycms - container_name: ${INFRASTRUCTURE_LABEL}-kirbycms-${ENVIRONMENT} + container_name: ${INFRASTRUCTURE_LABEL:-default}-kirbycms-${ENVIRONMENT:-development} profiles: ["website","kirbycms","all"] volumes: - ../../volumes/website/kirbycms:/var/www/html:rw # Persistente Daten