restructure backend folder and database
parent
b8a6abe100
commit
c9b55aa0ed
|
@ -3,7 +3,7 @@
|
|||
# - [ ] Configure volumes for persistent storage of database data
|
||||
secrets:
|
||||
mariadb_root:
|
||||
file: ${ROOT_DIR:-../..}/env/secrets.env
|
||||
file: ${ROOT_DIR:-../../..}/env/secrets.env
|
||||
services:
|
||||
database:
|
||||
secrets:
|
||||
|
@ -13,7 +13,7 @@ services:
|
|||
container_name: ${INFRASTRUCTURE_LABEL:-default}-mariadb-${ENVIRONMENT:-development}
|
||||
command: --bind-address=0.0.0.0
|
||||
env_file:
|
||||
- ../../env/${ENVIRONMENT:-development}/.env.database
|
||||
- ${ROOT_DIR:-../../..}/env/${ENVIRONMENT:-development}/.env.database
|
||||
volumes:
|
||||
- backend_mariadb_data:/var/lib/mysql
|
||||
- ./healthcheck.sh:/usr/local/bin/healthcheck.sh
|
||||
|
@ -24,25 +24,6 @@ services:
|
|||
test: ["CMD", "bash", "/usr/local/bin/healthcheck.sh"]
|
||||
interval: 1s
|
||||
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
|
||||
networks:
|
||||
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)
|
||||
include:
|
||||
- ./database/docker-compose.yml
|
||||
services:
|
||||
backend:
|
||||
container_name: ${INFRASTRUCTURE_LABEL:-default}-backend-laravel-${ENVIRONMENT:-development}
|
||||
profiles: ["laravel", "backend", "all", "app"]
|
||||
env_file:
|
||||
- ../../env/${ENVIRONMENT:-development}/.env.backend
|
||||
volumes:
|
||||
- ./src/entrypoint.sh:/usr/local/bin/entrypoint.sh
|
||||
depends_on:
|
||||
- database
|
||||
build:
|
||||
|
@ -13,7 +17,7 @@ services:
|
|||
networks:
|
||||
- backend
|
||||
labels:
|
||||
- "traefik.enable=${TRAEFIK_ENABLE}"
|
||||
- "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"
|
||||
|
|
|
@ -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:
|
||||
context: ./src
|
||||
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}
|
||||
profiles: ["webapp", "frontend", "all", "app"]
|
||||
ports:
|
||||
- 3000:3000
|
||||
labels:
|
||||
- "traefik.enable=${TRAEFIK_ENABLE}"
|
||||
- "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}`)'
|
||||
|
|
|
@ -1 +1 @@
|
|||
Subproject commit bea91fef76057fea0d7f0b68931df22fea44e5e6
|
||||
Subproject commit b5ed737d10ad899d46b7c53533654280b59ef35e
|
Loading…
Reference in New Issue