restructure backend folder and database
parent
b8a6abe100
commit
c9b55aa0ed
|
@ -3,7 +3,7 @@
|
||||||
# - [ ] Configure volumes for persistent storage of database data
|
# - [ ] Configure volumes for persistent storage of database data
|
||||||
secrets:
|
secrets:
|
||||||
mariadb_root:
|
mariadb_root:
|
||||||
file: ${ROOT_DIR:-../..}/env/secrets.env
|
file: ${ROOT_DIR:-../../..}/env/secrets.env
|
||||||
services:
|
services:
|
||||||
database:
|
database:
|
||||||
secrets:
|
secrets:
|
||||||
|
@ -13,7 +13,7 @@ services:
|
||||||
container_name: ${INFRASTRUCTURE_LABEL:-default}-mariadb-${ENVIRONMENT:-development}
|
container_name: ${INFRASTRUCTURE_LABEL:-default}-mariadb-${ENVIRONMENT:-development}
|
||||||
command: --bind-address=0.0.0.0
|
command: --bind-address=0.0.0.0
|
||||||
env_file:
|
env_file:
|
||||||
- ../../env/${ENVIRONMENT:-development}/.env.database
|
- ${ROOT_DIR:-../../..}/env/${ENVIRONMENT:-development}/.env.database
|
||||||
volumes:
|
volumes:
|
||||||
- backend_mariadb_data:/var/lib/mysql
|
- backend_mariadb_data:/var/lib/mysql
|
||||||
- ./healthcheck.sh:/usr/local/bin/healthcheck.sh
|
- ./healthcheck.sh:/usr/local/bin/healthcheck.sh
|
||||||
|
@ -24,25 +24,6 @@ services:
|
||||||
test: ["CMD", "bash", "/usr/local/bin/healthcheck.sh"]
|
test: ["CMD", "bash", "/usr/local/bin/healthcheck.sh"]
|
||||||
interval: 1s
|
interval: 1s
|
||||||
retries: 3
|
retries: 3
|
||||||
adminer:
|
|
||||||
profiles: ["all", "database", "backend", "adminer", "app"]
|
|
||||||
image: adminer
|
|
||||||
container_name: ${INFRASTRUCTURE_LABEL:-default}-adminer-${ENVIRONMENT:-development}
|
|
||||||
restart: always
|
|
||||||
ports:
|
|
||||||
- ${ADMINER_PORT:-0}:8080
|
|
||||||
networks:
|
|
||||||
- database
|
|
||||||
- proxy
|
|
||||||
labels:
|
|
||||||
- "traefik.enable=true"
|
|
||||||
- "traefik.http.routers.${INFRASTRUCTURE_LABEL:-default}_adminer.entrypoints=websecure"
|
|
||||||
- "traefik.http.routers.${INFRASTRUCTURE_LABEL:-default}_adminer.rule=Host(`${ADMINER_DOMAIN}`)"
|
|
||||||
- "traefik.http.routers.${INFRASTRUCTURE_LABEL:-default}_adminer.tls=true"
|
|
||||||
- "traefik.http.routers.${INFRASTRUCTURE_LABEL:-default}_adminer.tls.certresolver=http_resolver"
|
|
||||||
- 'traefik.http.routers.${INFRASTRUCTURE_LABEL:-default}_adminer.service=adminer'
|
|
||||||
- "traefik.http.adminer.cloud.loadbalancer.server.port=8080"
|
|
||||||
- "traefik.docker.network=${TRAEFIK_NETWORK:-default}"
|
|
||||||
# TODO: ADMINER IS NOT PREPARED FOR TRAEFIK
|
# TODO: ADMINER IS NOT PREPARED FOR TRAEFIK
|
||||||
networks:
|
networks:
|
||||||
backend:
|
backend:
|
|
@ -0,0 +1,48 @@
|
||||||
|
### Backend (./apps/backend/docker-compose.yml)
|
||||||
|
include:
|
||||||
|
- ./database/docker-compose.yml
|
||||||
|
services:
|
||||||
|
backend:
|
||||||
|
container_name: ${INFRASTRUCTURE_LABEL:-default}-backend-laravel-${ENVIRONMENT:-development}
|
||||||
|
profiles: ["laravel", "backend", "all", "app"]
|
||||||
|
ports:
|
||||||
|
- "${LARAVEL_PORT:-8000}:8000"
|
||||||
|
- "${LARAVEL_VITE_PORT:-5173}:5173"
|
||||||
|
env_file:
|
||||||
|
- ../../env/${ENVIRONMENT:-development}/.env.backend
|
||||||
|
volumes:
|
||||||
|
- ./src/entrypoint.sh:/usr/local/bin/entrypoint.sh
|
||||||
|
depends_on:
|
||||||
|
- database
|
||||||
|
build:
|
||||||
|
context: ./src
|
||||||
|
dockerfile: Dockerfile
|
||||||
|
networks:
|
||||||
|
- backend
|
||||||
|
labels:
|
||||||
|
- "traefik.enable=${TRAEFIK_ENABLE:-false}"
|
||||||
|
- "traefik.http.routers.backend.entrypoints=${TRAEFIK_ENTRYPOINT}"
|
||||||
|
- "traefik.http.routers.backend.rule=Host(`${BACKEND_DOMAIN}`)"
|
||||||
|
- "traefik.http.routers.backend.tls=true"
|
||||||
|
- "traefik.http.routers.backend.tls.certresolver=${TRAEFIK_CERT_RESOLVER}"
|
||||||
|
- "traefik.http.routers.backend.tls.domains[0].main=`${BACKEND_DOMAIN}`"
|
||||||
|
- "traefik.http.services.backend.loadbalancer.server.port=${BACKEND_PORT:-8000}"
|
||||||
|
- "traefik.docker.network=${TRAEFIK_NETWORK}"
|
||||||
|
backend-redis:
|
||||||
|
image: redis:alpine
|
||||||
|
container_name: ${INFRASTRUCTURE_LABEL:-default}-backend-redis-${ENVIRONMENT:-development}
|
||||||
|
profiles: ["redis", "backend", "all"]
|
||||||
|
env_file:
|
||||||
|
- ../../env/${ENVIRONMENT:-development}/.env.backend
|
||||||
|
restart: unless-stopped
|
||||||
|
command: redis-server --appendonly yes --requirepass ${REDIS_PASSWORD:-laravel-redis-passwort} # Redis Passwort eingeben
|
||||||
|
volumes:
|
||||||
|
- backend_redis_data:/data
|
||||||
|
networks:
|
||||||
|
- backend
|
||||||
|
volumes:
|
||||||
|
backend_redis_data:
|
||||||
|
driver: local
|
||||||
|
name: "${INFRASTRUCTURE_LABEL}_backend_redis_data"
|
||||||
|
|
||||||
|
|
|
@ -1,10 +1,14 @@
|
||||||
### Backend (./apps/backend/docker-compose.yml)
|
### Backend (./apps/backend/docker-compose.yml)
|
||||||
|
include:
|
||||||
|
- ./database/docker-compose.yml
|
||||||
services:
|
services:
|
||||||
backend:
|
backend:
|
||||||
container_name: ${INFRASTRUCTURE_LABEL:-default}-backend-laravel-${ENVIRONMENT:-development}
|
container_name: ${INFRASTRUCTURE_LABEL:-default}-backend-laravel-${ENVIRONMENT:-development}
|
||||||
profiles: ["laravel", "backend", "all", "app"]
|
profiles: ["laravel", "backend", "all", "app"]
|
||||||
env_file:
|
env_file:
|
||||||
- ../../env/${ENVIRONMENT:-development}/.env.backend
|
- ../../env/${ENVIRONMENT:-development}/.env.backend
|
||||||
|
volumes:
|
||||||
|
- ./src/entrypoint.sh:/usr/local/bin/entrypoint.sh
|
||||||
depends_on:
|
depends_on:
|
||||||
- database
|
- database
|
||||||
build:
|
build:
|
||||||
|
@ -13,7 +17,7 @@ services:
|
||||||
networks:
|
networks:
|
||||||
- backend
|
- backend
|
||||||
labels:
|
labels:
|
||||||
- "traefik.enable=${TRAEFIK_ENABLE}"
|
- "traefik.enable=${TRAEFIK_ENABLE:-false}"
|
||||||
- "traefik.http.routers.backend.entrypoints=${TRAEFIK_ENTRYPOINT}"
|
- "traefik.http.routers.backend.entrypoints=${TRAEFIK_ENTRYPOINT}"
|
||||||
- "traefik.http.routers.backend.rule=Host(`${BACKEND_DOMAIN}`)"
|
- "traefik.http.routers.backend.rule=Host(`${BACKEND_DOMAIN}`)"
|
||||||
- "traefik.http.routers.backend.tls=true"
|
- "traefik.http.routers.backend.tls=true"
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
Subproject commit 0e3ecbb0a788f2afa5699185ef65901781d11c79
|
Subproject commit 623a2709481206350acc350a3abc245efe0cad23
|
|
@ -0,0 +1,19 @@
|
||||||
|
services:
|
||||||
|
webapp:
|
||||||
|
build:
|
||||||
|
context: ./src
|
||||||
|
dockerfile: Dockerfile
|
||||||
|
args:
|
||||||
|
BACKEND_URL: ${BACKEND_URL:-http://localhost:8000} # this argument is important on build to set the server url!
|
||||||
|
container_name: ${INFRASTRUCTURE_LABEL:-default}-frontend-${ENVIRONMENT:-development}
|
||||||
|
profiles: ["webapp", "frontend", "all", "app"]
|
||||||
|
ports:
|
||||||
|
- 3000:3000
|
||||||
|
labels:
|
||||||
|
- "traefik.enable=${TRAEFIK_ENABLE:-false}"
|
||||||
|
- "traefik.http.routers.webapp.service=webapp"
|
||||||
|
- "traefik.http.routers.webapp.entrypoints=${TRAEFIK_ENTRYPOINT}"
|
||||||
|
- 'traefik.http.routers.webapp.rule=Host(`${FRONTEND_DOMAIN}`) || Host(`${FRONTEND_DOMAIN_2}`)'
|
||||||
|
- "traefik.http.services.webapp.loadbalancer.server.port=3000"
|
||||||
|
- "traefik.docker.network=${TRAEFIK_NETWORK}"
|
||||||
|
|
|
@ -3,12 +3,12 @@ services:
|
||||||
build:
|
build:
|
||||||
context: ./src
|
context: ./src
|
||||||
dockerfile: Dockerfile
|
dockerfile: Dockerfile
|
||||||
|
args:
|
||||||
|
BACKEND_URL: ${BACKEND_URL:-http://localhost:8000} # this argument is important on build to set the backend server url!
|
||||||
container_name: ${INFRASTRUCTURE_LABEL:-default}-frontend-${ENVIRONMENT:-development}
|
container_name: ${INFRASTRUCTURE_LABEL:-default}-frontend-${ENVIRONMENT:-development}
|
||||||
profiles: ["webapp", "frontend", "all", "app"]
|
profiles: ["webapp", "frontend", "all", "app"]
|
||||||
ports:
|
|
||||||
- 3000:3000
|
|
||||||
labels:
|
labels:
|
||||||
- "traefik.enable=${TRAEFIK_ENABLE}"
|
- "traefik.enable=${TRAEFIK_ENABLE:-false}"
|
||||||
- "traefik.http.routers.webapp.service=webapp"
|
- "traefik.http.routers.webapp.service=webapp"
|
||||||
- "traefik.http.routers.webapp.entrypoints=${TRAEFIK_ENTRYPOINT}"
|
- "traefik.http.routers.webapp.entrypoints=${TRAEFIK_ENTRYPOINT}"
|
||||||
- 'traefik.http.routers.webapp.rule=Host(`${FRONTEND_DOMAIN}`) || Host(`${FRONTEND_DOMAIN_2}`)'
|
- 'traefik.http.routers.webapp.rule=Host(`${FRONTEND_DOMAIN}`) || Host(`${FRONTEND_DOMAIN_2}`)'
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
Subproject commit bea91fef76057fea0d7f0b68931df22fea44e5e6
|
Subproject commit b5ed737d10ad899d46b7c53533654280b59ef35e
|
Loading…
Reference in New Issue