add minor improvement and fallback values
parent
c45823ee91
commit
b886adf877
|
@ -1,7 +1,7 @@
|
||||||
### Database (./apps/database/docker-compose.yml)
|
### Database (./apps/database/docker-compose.yml)
|
||||||
# - [ ] Create a MariaDB service
|
# - [ ] Create a MariaDB service
|
||||||
# - [ ] Configure volumes for persistent storage of database data
|
# - [ ] 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
|
# - [ ] Configure networking to allow connections from the backend service
|
||||||
# - [ ] Set up regular backup jobs for the database
|
# - [ ] Set up regular backup jobs for the database
|
||||||
# - [ ] Configure appropriate resource limits and restart policies
|
# - [ ] Configure appropriate resource limits and restart policies
|
||||||
|
@ -9,12 +9,11 @@ services:
|
||||||
database:
|
database:
|
||||||
profiles: ["all", "mariadb", "backend", "app"]
|
profiles: ["all", "mariadb", "backend", "app"]
|
||||||
image: mariadb:latest
|
image: mariadb:latest
|
||||||
container_name: ${INFRASTRUCTURE_LABEL}-mariadb-${ENVIRONMENT}
|
container_name: ${INFRASTRUCTURE_LABEL:-default}-mariadb-${ENVIRONMENT:-development}
|
||||||
command: --bind-address=0.0.0.0
|
command: --bind-address=0.0.0.0
|
||||||
hostname: ${MARIADB_HOST}
|
|
||||||
env_file:
|
env_file:
|
||||||
- ../../env/.env.all
|
- ../../env/.env.all
|
||||||
- ../../env/${ENVIRONMENT:-development}/.env.database
|
- ../../env/${ENVIRONMENT:-development}/.env.backend
|
||||||
- ../../env/${ENVIRONMENT:-development}/.env.proxy
|
- ../../env/${ENVIRONMENT:-development}/.env.proxy
|
||||||
environment:
|
environment:
|
||||||
- MARIADB_USER=${MARIADB_USER}
|
- MARIADB_USER=${MARIADB_USER}
|
||||||
|
@ -32,7 +31,7 @@ services:
|
||||||
adminer:
|
adminer:
|
||||||
profiles: ["all", "mariadb", "backend", "app"]
|
profiles: ["all", "mariadb", "backend", "app"]
|
||||||
image: adminer
|
image: adminer
|
||||||
container_name: local_adminer
|
container_name: ${INFRASTRUCTURE_LABEL:-default}-adminer-${ENVIRONMENT:-development}
|
||||||
restart: always
|
restart: always
|
||||||
ports:
|
ports:
|
||||||
- 8082:8080
|
- 8082:8080
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
### Develop (./apps/develop/docker-compose.yml)
|
### Develop (./apps/develop/docker-compose.yml)
|
||||||
# - [ ] Create services for Gitea, Jenkins, and Adminer
|
# - [ ] Create services for Gitea, Jenkins, and Adminer
|
||||||
# - [ ] Configure volumes for persistent storage of Git repositories, Jenkins data, and Adminer settings
|
# - [ ] 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
|
# - [ ] 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
|
# - [ ] Set up access controls and security measures for development tools
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
# - [ ] Create a Vue.js frontend service
|
# - [ ] Create a Vue.js frontend service
|
||||||
# - [ ] Set up a Node.js environment for the frontend
|
# - [ ] Set up a Node.js environment for the frontend
|
||||||
# - [ ] Configure volumes for persistent storage of frontend assets
|
# - [ ] 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
|
# - [ ] Configure networking to communicate with the backend service
|
||||||
# - [ ] Set up healthchecks for the frontend service
|
# - [ ] Set up healthchecks for the frontend service
|
||||||
services:
|
services:
|
||||||
|
@ -10,7 +10,7 @@ services:
|
||||||
build:
|
build:
|
||||||
context: ./src
|
context: ./src
|
||||||
dockerfile: Dockerfile
|
dockerfile: Dockerfile
|
||||||
container_name: ${INFRASTRUCTURE_LABEL}-frontend-${ENVIRONMENT}
|
container_name: ${INFRASTRUCTURE_LABEL:-default}-frontend-${ENVIRONMENT:-development}
|
||||||
profiles: ["webapp", "frontend", "all", "app"]
|
profiles: ["webapp", "frontend", "all", "app"]
|
||||||
depends_on:
|
depends_on:
|
||||||
- database
|
- database
|
||||||
|
|
|
@ -6,17 +6,17 @@ services:
|
||||||
environment:
|
environment:
|
||||||
# Change Language:
|
# 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)
|
# (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:
|
# ⚠️ Required:
|
||||||
# Change this to your host's public address
|
# Change this to your host's public address
|
||||||
- WG_HOST=${SERVER_IP}
|
- WG_HOST=${SERVER_IP:-localhost}
|
||||||
|
|
||||||
# Optional:
|
# Optional:
|
||||||
# - PASSWORD_HASH=$$2y$$10$$hBCoykrB95WSzuV4fafBzOHWKu9sbyVa34GJr8VV5R/pIelfEMYyG # (needs double $$, hash of 'foobar123'; see "How_to_generate_an_bcrypt_hash.md" for generate the hash)
|
# - 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
|
# - PORT=51821
|
||||||
# - WG_PORT=51820
|
# - WG_PORT=51820
|
||||||
# - WG_CONFIG_PORT=92820
|
# - 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_DEFAULT_DNS=1.1.1.1
|
||||||
# - WG_MTU=1420
|
# - WG_MTU=1420
|
||||||
# - WG_ALLOWED_IPS=192.168.15.0/24, 10.0.1.0/24
|
# - WG_ALLOWED_IPS=192.168.15.0/24, 10.0.1.0/24
|
||||||
|
|
|
@ -1,21 +1,21 @@
|
||||||
### Tools (./apps/tools/docker-compose.yml)
|
### Tools (./apps/tools/docker-compose.yml)
|
||||||
# - [ ] Create services for Nextcloud, LimeSurvey, and LinkStack
|
# - [ ] Create services for Nextcloud, LimeSurvey, and LinkStack
|
||||||
# - [ ] Configure volumes for persistent storage of files, survey data, and link management data
|
# - [ ] 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
|
# - [ ] Configure networking to expose these services to the internet via the proxy
|
||||||
# - [ ] Set up regular backup jobs for critical data in these services
|
# - [ ] Set up regular backup jobs for critical data in these services
|
||||||
|
|
||||||
services:
|
services:
|
||||||
nextcloud-db:
|
nextcloud-db:
|
||||||
image: mariadb:10.6
|
image: mariadb:10.6
|
||||||
container_name: ${INFRASTRUCTURE_LABEL}-nextcloud-db-${ENVIRONMENT}
|
container_name: ${INFRASTRUCTURE_LABEL:-default}-nextcloud-db-${ENVIRONMENT:-development}
|
||||||
profiles: ["all", "tools", "nextcloud"]
|
profiles: ["all", "tools", "nextcloud"]
|
||||||
command: --transaction-isolation=READ-COMMITTED --innodb_read_only_compressed=OFF
|
command: --transaction-isolation=READ-COMMITTED --innodb_read_only_compressed=OFF
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
volumes:
|
volumes:
|
||||||
- /etc/localtime:/etc/localtime:ro
|
- /etc/localtime:/etc/localtime:ro
|
||||||
- /etc/timezone:/etc/timezone: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:
|
environment:
|
||||||
- MYSQL_ROOT_PASSWORD=headpiece-constant1-denim-mindboost #SQL root Passwort eingeben
|
- MYSQL_ROOT_PASSWORD=headpiece-constant1-denim-mindboost #SQL root Passwort eingeben
|
||||||
- MYSQL_PASSWORD=idealist9-frayed-murkiness-mindboost #SQL Benutzer Passwort eingeben
|
- MYSQL_PASSWORD=idealist9-frayed-murkiness-mindboost #SQL Benutzer Passwort eingeben
|
||||||
|
@ -25,14 +25,14 @@ services:
|
||||||
- MARIADB_AUTO_UPGRADE=1
|
- MARIADB_AUTO_UPGRADE=1
|
||||||
nextcloud-redis:
|
nextcloud-redis:
|
||||||
image: redis:alpine
|
image: redis:alpine
|
||||||
container_name: ${INFRASTRUCTURE_LABEL}-nextcloud-redis-${ENVIRONMENT}
|
container_name: ${INFRASTRUCTURE_LABEL:-default}-nextcloud-redis-${ENVIRONMENT:-development}
|
||||||
profiles: ["all", "tools", "nextcloud"]
|
profiles: ["all", "tools", "nextcloud"]
|
||||||
hostname: nextcloud-redis
|
hostname: nextcloud-redis
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
command: redis-server --requirepass redis-mindboost-passwort # Redis Passwort eingeben
|
command: redis-server --requirepass redis-mindboost-passwort # Redis Passwort eingeben
|
||||||
cloud:
|
cloud:
|
||||||
image: nextcloud
|
image: nextcloud
|
||||||
container_name: ${INFRASTRUCTURE_LABEL}-nextcloud-app-${ENVIRONMENT}
|
container_name: ${INFRASTRUCTURE_LABEL:-default}-nextcloud-app-${ENVIRONMENT:-development}
|
||||||
profiles: ["all", "tools", "nextcloud"]
|
profiles: ["all", "tools", "nextcloud"]
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
depends_on:
|
depends_on:
|
||||||
|
@ -41,27 +41,27 @@ services:
|
||||||
environment:
|
environment:
|
||||||
TRUSTED_PROXIES: 172.16.255.254/16
|
TRUSTED_PROXIES: 172.16.255.254/16
|
||||||
OVERWRITEPROTOCOL: https
|
OVERWRITEPROTOCOL: https
|
||||||
OVERWRITECLIURL: https://${CLOUD_DOMAIN}
|
OVERWRITECLIURL: https://${CLOUD_DOMAIN:-cloud}
|
||||||
OVERWRITEHOST: ${CLOUD_DOMAIN}
|
OVERWRITEHOST: ${CLOUD_DOMAIN:-cloud}
|
||||||
REDIS_HOST: nextcloud-redis
|
REDIS_HOST: nextcloud-redis
|
||||||
REDIS_HOST_PASSWORD: redis-mindboost-passwort # Redis Passwort von oben wieder eingeben
|
REDIS_HOST_PASSWORD: redis-mindboost-passwort # Redis Passwort von oben wieder eingeben
|
||||||
volumes:
|
volumes:
|
||||||
- ./app:/var/www/html
|
- ./app:/var/www/html
|
||||||
- ../../volumes/tools/${INFRASTRUCTURE_LABEL}_cloudapp/:/var/www/html/data
|
- ../../volumes/tools/${INFRASTRUCTURE_LABEL:-default}_cloudapp/:/var/www/html/data
|
||||||
labels:
|
labels:
|
||||||
- "traefik.enable=true"
|
- "traefik.enable=true"
|
||||||
- "traefik.http.routers.${INFRASTRUCTURE_LABEL}_cloud.entrypoints=websecure"
|
- "traefik.http.routers.${INFRASTRUCTURE_LABEL:-default}_cloud.entrypoints=websecure"
|
||||||
- "traefik.http.routers.${INFRASTRUCTURE_LABEL}_cloud.rule=Host(`${CLOUD_DOMAIN}`)"
|
- "traefik.http.routers.${INFRASTRUCTURE_LABEL:-default}_cloud.rule=Host(`${CLOUD_DOMAIN}`)"
|
||||||
- "traefik.http.routers.${INFRASTRUCTURE_LABEL}_cloud.tls=true"
|
- "traefik.http.routers.${INFRASTRUCTURE_LABEL:-default}_cloud.tls=true"
|
||||||
- "traefik.http.routers.${INFRASTRUCTURE_LABEL}_cloud.tls.certresolver=http_resolver"
|
- "traefik.http.routers.${INFRASTRUCTURE_LABEL:-default}_cloud.tls.certresolver=http_resolver"
|
||||||
- 'traefik.http.routers.${INFRASTRUCTURE_LABEL}_cloud.service=cloud'
|
- 'traefik.http.routers.${INFRASTRUCTURE_LABEL:-default}_cloud.service=cloud'
|
||||||
- "traefik.http.services.cloud.loadbalancer.server.port=80"
|
- "traefik.http.services.cloud.loadbalancer.server.port=80"
|
||||||
- "traefik.docker.network=${TRAEFIK_NETWORK}"
|
- "traefik.docker.network=${TRAEFIK_NETWORK:-default}"
|
||||||
- "traefik.http.routers.${INFRASTRUCTURE_LABEL}_cloud.middlewares=nextcloud-dav,default@file"
|
- "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.regex=^/.well-known/ca(l|rd)dav"
|
||||||
- "traefik.http.middlewares.nextcloud-dav.replacepathregex.replacement=/remote.php/dav/"
|
- "traefik.http.middlewares.nextcloud-dav.replacepathregex.replacement=/remote.php/dav/"
|
||||||
networks:
|
networks:
|
||||||
- ${TRAEFIK_NETWORK}
|
- ${TRAEFIK_NETWORK}
|
||||||
networks:
|
networks:
|
||||||
nextcloud:
|
nextcloud:
|
||||||
name: ${INFRASTRUCTURE_LABEL}_nextcloud
|
name: ${INFRASTRUCTURE_LABEL:-default}_nextcloud
|
||||||
|
|
|
@ -4,7 +4,7 @@ services:
|
||||||
context: ./kirby
|
context: ./kirby
|
||||||
dockerfile: Dockerfile
|
dockerfile: Dockerfile
|
||||||
image: kirbycms
|
image: kirbycms
|
||||||
container_name: ${INFRASTRUCTURE_LABEL}-kirbycms-${ENVIRONMENT}
|
container_name: ${INFRASTRUCTURE_LABEL:-default}-kirbycms-${ENVIRONMENT:-development}
|
||||||
profiles: ["website","kirbycms","all"]
|
profiles: ["website","kirbycms","all"]
|
||||||
volumes:
|
volumes:
|
||||||
- ../../volumes/website/kirbycms:/var/www/html:rw # Persistente Daten
|
- ../../volumes/website/kirbycms:/var/www/html:rw # Persistente Daten
|
||||||
|
|
Loading…
Reference in New Issue