179 lines
5.1 KiB
YAML
Executable File
179 lines
5.1 KiB
YAML
Executable File
services:
|
|
app:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile
|
|
container_name: ${NETGESCON_APP_CONTAINER_NAME:-netgescon_app}
|
|
restart: unless-stopped
|
|
env_file:
|
|
- .env.docker.local
|
|
environment:
|
|
APP_ENV: local
|
|
APP_DEBUG: "true"
|
|
APP_URL: http://localhost:${APP_PORT:-8080}
|
|
DB_CONNECTION: mysql
|
|
DB_HOST: ${NETGESCON_DB_HOST:-host.docker.internal}
|
|
DB_PORT: ${NETGESCON_DB_PORT:-3306}
|
|
DB_DATABASE: ${NETGESCON_DB_DATABASE:-netgescon}
|
|
DB_USERNAME: ${NETGESCON_DB_USERNAME:-netgescon}
|
|
DB_PASSWORD: ${NETGESCON_DB_PASSWORD:-netgescon}
|
|
REDIS_HOST: redis
|
|
REDIS_PORT: 6379
|
|
CACHE_STORE: file
|
|
SESSION_DRIVER: file
|
|
QUEUE_CONNECTION: database
|
|
MAIL_MAILER: smtp
|
|
MAIL_HOST: mailhog
|
|
MAIL_PORT: 1025
|
|
FIX_PERMISSIONS: "true"
|
|
WAIT_FOR_DB: "true"
|
|
RUN_MIGRATIONS: ${RUN_MIGRATIONS:-false}
|
|
extra_hosts:
|
|
- "host.docker.internal:host-gateway"
|
|
volumes:
|
|
- ${NETGESCON_STORAGE_PATH:-./storage}:/var/www/storage
|
|
- ${NETGESCON_CACHE_PATH:-./bootstrap/cache}:/var/www/bootstrap/cache
|
|
- public_data:/var/www/public
|
|
networks:
|
|
- netgescon_network
|
|
- online_db_network
|
|
depends_on:
|
|
- redis
|
|
|
|
queue:
|
|
build:
|
|
context: .
|
|
|
|
dockerfile: Dockerfile
|
|
container_name: ${NETGESCON_QUEUE_CONTAINER_NAME:-netgescon_queue}
|
|
restart: unless-stopped
|
|
env_file:
|
|
- .env.docker.local
|
|
environment:
|
|
APP_ENV: local
|
|
APP_DEBUG: "true"
|
|
APP_URL: http://localhost:${APP_PORT:-8080}
|
|
DB_CONNECTION: mysql
|
|
DB_HOST: ${NETGESCON_DB_HOST:-host.docker.internal}
|
|
DB_PORT: ${NETGESCON_DB_PORT:-3306}
|
|
DB_DATABASE: ${NETGESCON_DB_DATABASE:-netgescon}
|
|
DB_USERNAME: ${NETGESCON_DB_USERNAME:-netgescon}
|
|
DB_PASSWORD: ${NETGESCON_DB_PASSWORD:-netgescon}
|
|
REDIS_HOST: redis
|
|
REDIS_PORT: 6379
|
|
CACHE_STORE: file
|
|
SESSION_DRIVER: file
|
|
QUEUE_CONNECTION: database
|
|
MAIL_MAILER: smtp
|
|
MAIL_HOST: mailhog
|
|
MAIL_PORT: 1025
|
|
FIX_PERMISSIONS: "true"
|
|
WAIT_FOR_DB: "true"
|
|
RUN_MIGRATIONS: "false"
|
|
command: ["php", "artisan", "queue:work", "--verbose", "--tries=3", "--timeout=120"]
|
|
extra_hosts:
|
|
- "host.docker.internal:host-gateway"
|
|
volumes:
|
|
- ${NETGESCON_STORAGE_PATH:-./storage}:/var/www/storage
|
|
- ${NETGESCON_CACHE_PATH:-./bootstrap/cache}:/var/www/bootstrap/cache
|
|
networks:
|
|
- netgescon_network
|
|
- online_db_network
|
|
depends_on:
|
|
- redis
|
|
- app
|
|
|
|
scheduler:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile
|
|
container_name: ${NETGESCON_SCHEDULER_CONTAINER_NAME:-netgescon_scheduler}
|
|
restart: unless-stopped
|
|
env_file:
|
|
- .env.docker.local
|
|
environment:
|
|
APP_ENV: local
|
|
APP_DEBUG: "true"
|
|
APP_URL: http://localhost:${APP_PORT:-8080}
|
|
DB_CONNECTION: mysql
|
|
DB_HOST: ${NETGESCON_DB_HOST:-host.docker.internal}
|
|
DB_PORT: ${NETGESCON_DB_PORT:-3306}
|
|
DB_DATABASE: ${NETGESCON_DB_DATABASE:-netgescon}
|
|
DB_USERNAME: ${NETGESCON_DB_USERNAME:-netgescon}
|
|
DB_PASSWORD: ${NETGESCON_DB_PASSWORD:-netgescon}
|
|
REDIS_HOST: redis
|
|
REDIS_PORT: 6379
|
|
CACHE_STORE: file
|
|
SESSION_DRIVER: file
|
|
QUEUE_CONNECTION: database
|
|
MAIL_MAILER: smtp
|
|
MAIL_HOST: mailhog
|
|
MAIL_PORT: 1025
|
|
FIX_PERMISSIONS: "true"
|
|
WAIT_FOR_DB: "true"
|
|
RUN_MIGRATIONS: "false"
|
|
command: ["php", "artisan", "schedule:work"]
|
|
extra_hosts:
|
|
- "host.docker.internal:host-gateway"
|
|
volumes:
|
|
- ${NETGESCON_STORAGE_PATH:-./storage}:/var/www/storage
|
|
- ${NETGESCON_CACHE_PATH:-./bootstrap/cache}:/var/www/bootstrap/cache
|
|
networks:
|
|
- netgescon_network
|
|
- online_db_network
|
|
depends_on:
|
|
- redis
|
|
- app
|
|
|
|
nginx:
|
|
image: nginx:alpine
|
|
container_name: ${NETGESCON_NGINX_CONTAINER_NAME:-netgescon_nginx}
|
|
restart: unless-stopped
|
|
ports:
|
|
- "${APP_PORT:-8080}:80"
|
|
volumes:
|
|
- public_data:/var/www/public:ro
|
|
- ./docker/nginx/default.conf:/etc/nginx/conf.d/default.conf:ro
|
|
networks:
|
|
- netgescon_network
|
|
depends_on:
|
|
- app
|
|
|
|
redis:
|
|
image: redis:alpine
|
|
container_name: ${NETGESCON_REDIS_CONTAINER_NAME:-netgescon_redis}
|
|
restart: unless-stopped
|
|
volumes:
|
|
- redis_data:/data
|
|
networks:
|
|
- netgescon_network
|
|
|
|
mailhog:
|
|
image: mailhog/mailhog
|
|
container_name: ${NETGESCON_MAILHOG_CONTAINER_NAME:-netgescon_mailhog}
|
|
ports:
|
|
- "${MAILHOG_SMTP_PORT:-1025}:1025"
|
|
- "${MAILHOG_UI_PORT:-8025}:8025"
|
|
networks:
|
|
- netgescon_network
|
|
|
|
host_mysql_bridge:
|
|
image: alpine/socat
|
|
container_name: ${NETGESCON_HOST_MYSQL_BRIDGE_CONTAINER_NAME:-netgescon_host_mysql_bridge}
|
|
restart: unless-stopped
|
|
network_mode: host
|
|
command:
|
|
- TCP-LISTEN:${HOST_MYSQL_BRIDGE_PORT:-13306},fork,reuseaddr,bind=0.0.0.0
|
|
- TCP:127.0.0.1:${HOST_MYSQL_TARGET_PORT:-3306}
|
|
|
|
volumes:
|
|
redis_data:
|
|
public_data:
|
|
|
|
networks:
|
|
netgescon_network:
|
|
driver: bridge
|
|
online_db_network:
|
|
external: true
|
|
name: ${NETGESCON_EXTERNAL_NETWORK:-docker_netgescon_online}
|