130 lines
3 KiB
YAML
130 lines
3 KiB
YAML
|
|
services:
|
||
|
|
app:
|
||
|
|
image: codeberg.org/lvl0/ffr:latest
|
||
|
|
# build:
|
||
|
|
# context: ../..
|
||
|
|
# dockerfile: docker/production/Dockerfile
|
||
|
|
container_name: ffr-app
|
||
|
|
restart: unless-stopped
|
||
|
|
working_dir: /var/www/html
|
||
|
|
environment:
|
||
|
|
- APP_ENV=production
|
||
|
|
- APP_DEBUG=false
|
||
|
|
- DB_CONNECTION=mysql
|
||
|
|
- DB_HOST=db
|
||
|
|
- DB_PORT=3306
|
||
|
|
- DB_DATABASE=ffr
|
||
|
|
- DB_USERNAME=ffr_user
|
||
|
|
- DB_PASSWORD=ffr_password
|
||
|
|
- REDIS_HOST=redis
|
||
|
|
- REDIS_PORT=6379
|
||
|
|
- CACHE_DRIVER=redis
|
||
|
|
- SESSION_DRIVER=redis
|
||
|
|
- QUEUE_CONNECTION=redis
|
||
|
|
volumes: []
|
||
|
|
ports:
|
||
|
|
- "8000:80"
|
||
|
|
depends_on:
|
||
|
|
db:
|
||
|
|
condition: service_healthy
|
||
|
|
redis:
|
||
|
|
condition: service_started
|
||
|
|
networks:
|
||
|
|
- ffr-network
|
||
|
|
|
||
|
|
queue:
|
||
|
|
image: codeberg.org/lvl0/ffr:latest
|
||
|
|
container_name: ffr-queue
|
||
|
|
restart: unless-stopped
|
||
|
|
working_dir: /var/www/html
|
||
|
|
environment:
|
||
|
|
- APP_ENV=production
|
||
|
|
- APP_DEBUG=false
|
||
|
|
- DB_CONNECTION=mysql
|
||
|
|
- DB_HOST=db
|
||
|
|
- DB_PORT=3306
|
||
|
|
- DB_DATABASE=ffr
|
||
|
|
- DB_USERNAME=ffr_user
|
||
|
|
- DB_PASSWORD=ffr_password
|
||
|
|
- REDIS_HOST=redis
|
||
|
|
- REDIS_PORT=6379
|
||
|
|
- CACHE_DRIVER=redis
|
||
|
|
- SESSION_DRIVER=redis
|
||
|
|
- QUEUE_CONNECTION=redis
|
||
|
|
command: ["php", "artisan", "horizon"]
|
||
|
|
depends_on:
|
||
|
|
db:
|
||
|
|
condition: service_healthy
|
||
|
|
redis:
|
||
|
|
condition: service_started
|
||
|
|
networks:
|
||
|
|
- ffr-network
|
||
|
|
|
||
|
|
scheduler:
|
||
|
|
image: codeberg.org/lvl0/ffr:latest
|
||
|
|
container_name: ffr-scheduler
|
||
|
|
restart: unless-stopped
|
||
|
|
working_dir: /var/www/html
|
||
|
|
environment:
|
||
|
|
- APP_ENV=production
|
||
|
|
- APP_DEBUG=false
|
||
|
|
- DB_CONNECTION=mysql
|
||
|
|
- DB_HOST=db
|
||
|
|
- DB_PORT=3306
|
||
|
|
- DB_DATABASE=ffr
|
||
|
|
- DB_USERNAME=ffr_user
|
||
|
|
- DB_PASSWORD=ffr_password
|
||
|
|
- REDIS_HOST=redis
|
||
|
|
- REDIS_PORT=6379
|
||
|
|
- CACHE_DRIVER=redis
|
||
|
|
- SESSION_DRIVER=redis
|
||
|
|
- QUEUE_CONNECTION=redis
|
||
|
|
command: ["sh", "-c", "while true; do php artisan schedule:run --verbose --no-interaction; sleep 60; done"]
|
||
|
|
depends_on:
|
||
|
|
db:
|
||
|
|
condition: service_healthy
|
||
|
|
redis:
|
||
|
|
condition: service_started
|
||
|
|
networks:
|
||
|
|
- ffr-network
|
||
|
|
|
||
|
|
db:
|
||
|
|
image: docker.io/library/mysql:8.0
|
||
|
|
container_name: ffr-db
|
||
|
|
restart: unless-stopped
|
||
|
|
environment:
|
||
|
|
- MYSQL_DATABASE=ffr
|
||
|
|
- MYSQL_USER=ffr_user
|
||
|
|
- MYSQL_PASSWORD=ffr_password
|
||
|
|
- MYSQL_ROOT_PASSWORD=root_password
|
||
|
|
volumes:
|
||
|
|
- db_data:/var/lib/mysql
|
||
|
|
ports:
|
||
|
|
- "3306:3306"
|
||
|
|
healthcheck:
|
||
|
|
test: ["CMD", "mysqladmin", "ping", "-h", "localhost", "-u", "ffr_user", "-pffr_password"]
|
||
|
|
timeout: 5s
|
||
|
|
retries: 5
|
||
|
|
interval: 3s
|
||
|
|
start_period: 30s
|
||
|
|
networks:
|
||
|
|
- ffr-network
|
||
|
|
|
||
|
|
redis:
|
||
|
|
image: docker.io/library/redis:7-alpine
|
||
|
|
container_name: ffr-redis
|
||
|
|
restart: unless-stopped
|
||
|
|
volumes:
|
||
|
|
- redis_data:/data
|
||
|
|
networks:
|
||
|
|
- ffr-network
|
||
|
|
|
||
|
|
networks:
|
||
|
|
ffr-network:
|
||
|
|
driver: bridge
|
||
|
|
|
||
|
|
volumes:
|
||
|
|
db_data:
|
||
|
|
driver: local
|
||
|
|
redis_data:
|
||
|
|
driver: local
|