Add dev backend compose and nginx config
This commit is contained in:
114
dev-fpm.docker-compose.yml
Normal file
114
dev-fpm.docker-compose.yml
Normal file
@@ -0,0 +1,114 @@
|
||||
version: "3.8"
|
||||
|
||||
services:
|
||||
mariadb_webapp_dev:
|
||||
image: docker.io/bitnami/mariadb:11.1
|
||||
container_name: ${DEV_COMPOSE_PREFIX:-dev}-mariadb
|
||||
hostname: ${DEV_DB_HOST:-mariadb-webapp-dev}
|
||||
environment:
|
||||
MARIADB_USER: ${MARIADB_USER}
|
||||
MARIADB_DATABASE: ${MARIADB_DATABASE}
|
||||
MARIADB_PASSWORD: ${MARIADB_PASSWORD}
|
||||
MARIADB_ROOT_PASSWORD: ${MARIADB_ROOT_PASSWORD}
|
||||
networks:
|
||||
- dev_backend
|
||||
volumes:
|
||||
- mindboost_mariadb_data_dev:/var/lib/mysql
|
||||
|
||||
laravel-redis-dev:
|
||||
image: redis:alpine
|
||||
container_name: ${DEV_COMPOSE_PREFIX:-dev}-redis
|
||||
hostname: ${DEV_REDIS_HOST:-laravel-redis-dev}
|
||||
command: redis-server --appendonly yes --requirepass ${REDIS_PASSWORD}
|
||||
networks:
|
||||
- dev_backend
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- ./data/redis-dev:/data
|
||||
|
||||
laravel_backend_dev:
|
||||
image: ${BACKEND_IMAGE}
|
||||
container_name: ${DEV_COMPOSE_PREFIX:-dev}-backend
|
||||
environment:
|
||||
APP_ENV: ${APP_ENV:-production}
|
||||
APP_NAME: ${APP_NAME:-Mindboost Backend Dev}
|
||||
APP_URL: https://${DEV_BACKEND_DOMAIN}
|
||||
FRONTEND_URL: https://${DEV_FRONTEND_DOMAIN}
|
||||
DB_CONNECTION: mysql
|
||||
DB_HOST: ${DEV_DB_HOST:-mariadb-webapp-dev}
|
||||
DB_PORT: ${DB_PORT:-3306}
|
||||
DB_DATABASE: ${MARIADB_DATABASE}
|
||||
DB_USERNAME: ${MARIADB_USER}
|
||||
DB_PASSWORD: ${MARIADB_PASSWORD}
|
||||
REDIS_HOST: ${DEV_REDIS_HOST:-laravel-redis-dev}
|
||||
REDIS_PASSWORD: ${REDIS_PASSWORD}
|
||||
REDIS_PORT: ${REDIS_PORT:-6379}
|
||||
CACHE_DRIVER: redis
|
||||
QUEUE_CONNECTION: redis
|
||||
SESSION_DRIVER: redis
|
||||
volumes:
|
||||
- ${BACKEND_CODE_PATH:-./apps/backend/src}:/app
|
||||
- ${BACKEND_PUBLIC_PATH:-./apps/backend/src/public}:/var/www/public
|
||||
- ${BACKEND_ENV_FILE:-./env/development/.env.backend}:/var/www/.env
|
||||
- ./logs/backend-dev:/var/www/storage/logs
|
||||
depends_on:
|
||||
- mariadb_webapp_dev
|
||||
- laravel-redis-dev
|
||||
networks:
|
||||
- dev_backend
|
||||
|
||||
laravel-nginx-dev:
|
||||
image: nginx:alpine
|
||||
container_name: ${DEV_COMPOSE_PREFIX:-dev}-nginx
|
||||
volumes:
|
||||
- ./nginx:/etc/nginx/conf.d:ro
|
||||
- ${BACKEND_PUBLIC_PATH:-./apps/backend/src/public}:/var/www/public:ro
|
||||
depends_on:
|
||||
- laravel_backend_dev
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.routers.dev_backend_http.entrypoints=web"
|
||||
- "traefik.http.routers.dev_backend_http.rule=Host(`${DEV_BACKEND_DOMAIN}`)"
|
||||
- "traefik.http.routers.dev_backend_http.middlewares=traefik-https-redirect"
|
||||
- "traefik.http.routers.dev_backend_https.entrypoints=websecure"
|
||||
- "traefik.http.routers.dev_backend_https.rule=Host(`${DEV_BACKEND_DOMAIN}`)"
|
||||
- "traefik.http.routers.dev_backend_https.tls=true"
|
||||
- "traefik.http.routers.dev_backend_https.tls.certresolver=${TRAEFIK_CERT_RESOLVER}"
|
||||
- "traefik.http.routers.dev_backend_https.service=dev_backend_service"
|
||||
- "traefik.http.services.dev_backend_service.loadbalancer.server.port=80"
|
||||
- "traefik.docker.network=${TRAEFIK_NETWORK}"
|
||||
networks:
|
||||
- dev_backend
|
||||
- proxy
|
||||
|
||||
nuxt_frontend_dev:
|
||||
image: ${NUXT_IMAGE}
|
||||
container_name: ${DEV_COMPOSE_PREFIX:-dev}-frontend
|
||||
environment:
|
||||
VUE_APP_BACKEND_HOST_ADDRESS: https://${DEV_BACKEND_DOMAIN}
|
||||
NUXT_PUBLIC_BACKEND_URL: https://${DEV_BACKEND_DOMAIN}
|
||||
networks:
|
||||
- dev_backend
|
||||
- proxy
|
||||
depends_on:
|
||||
- laravel_backend_dev
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.routers.dev_frontend_http.entrypoints=web"
|
||||
- "traefik.http.routers.dev_frontend_http.rule=Host(`${DEV_FRONTEND_DOMAIN}`)"
|
||||
- "traefik.http.routers.dev_frontend_http.middlewares=traefik-https-redirect"
|
||||
- "traefik.http.routers.dev_frontend_https.entrypoints=websecure"
|
||||
- "traefik.http.routers.dev_frontend_https.rule=Host(`${DEV_FRONTEND_DOMAIN}`)"
|
||||
- "traefik.http.routers.dev_frontend_https.tls=true"
|
||||
- "traefik.http.routers.dev_frontend_https.tls.certresolver=${TRAEFIK_CERT_RESOLVER}"
|
||||
- "traefik.http.services.dev_frontend_https.loadbalancer.server.port=${VUE_INTERNAL_PORT}"
|
||||
- "traefik.docker.network=${TRAEFIK_NETWORK}"
|
||||
|
||||
networks:
|
||||
dev_backend:
|
||||
driver: bridge
|
||||
proxy:
|
||||
external: true
|
||||
|
||||
volumes:
|
||||
mindboost_mariadb_data_dev:
|
||||
27
nginx/dev-backend.conf
Normal file
27
nginx/dev-backend.conf
Normal file
@@ -0,0 +1,27 @@
|
||||
server {
|
||||
listen 80;
|
||||
server_name _;
|
||||
|
||||
root /var/www/public;
|
||||
index index.php index.html;
|
||||
|
||||
add_header X-Content-Type-Options nosniff;
|
||||
add_header X-Frame-Options SAMEORIGIN;
|
||||
add_header X-XSS-Protection "1; mode=block";
|
||||
|
||||
location / {
|
||||
try_files $uri $uri/ /index.php?$query_string;
|
||||
}
|
||||
|
||||
location ~ \.php$ {
|
||||
include fastcgi_params;
|
||||
fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
|
||||
fastcgi_param PATH_INFO $fastcgi_path_info;
|
||||
fastcgi_pass laravel_backend_dev:9000;
|
||||
fastcgi_index index.php;
|
||||
}
|
||||
|
||||
location ~ /\.(?!well-known).* {
|
||||
deny all;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user