Files
test_ea/compose.yaml
2026-02-15 01:34:17 +07:00

112 lines
2.7 KiB
YAML

services:
app:
image: laravel_frankenphp
build:
context: .
dockerfile: docker/Dockerfile
container_name: laravel_frankenphp
restart: unless-stopped
working_dir: /var/www
user: "${UID:-1000}:${GID:-1000}"
volumes:
- ./laravel:/var/www
- ./docker/Caddyfile:/etc/frankenphp/Caddyfile
- caddy_data:/data
ports:
- "127.0.0.1:8003:80"
# - "8443:443"
- "127.0.0.1:5173:5173"
depends_on:
mariadb:
condition: service_healthy
networks:
- laravel_network
mariadb:
image: mariadb:11.7
container_name: laravel_mariadb
restart: unless-stopped
ports:
- "127.0.0.1:3306:3306"
environment:
MARIADB_ROOT_PASSWORD: secret
MARIADB_DATABASE: laravel
MARIADB_USER: laravel
MARIADB_PASSWORD: secret
volumes:
# - ./docker/mariadb/data:/var/lib/mysql
- mariadb_data:/var/lib/mysql
# - ./docker/my.cnf:/etc/mysql/conf.d/my.cnf
networks:
- laravel_network
healthcheck:
test: [ "CMD", "mariadb-admin", "ping", "-h", "localhost", "-u", "root", "-psecret" ]
timeout: 20s
retries: 10
start_period: 30s
phpmyadmin:
image: phpmyadmin/phpmyadmin
container_name: laravel_phpmyadmin
restart: unless-stopped
ports:
- "127.0.0.1:6969:80"
environment:
PMA_HOST: mariadb
PMA_PORT: 3306
PMA_USER: laravel
PMA_PASSWORD: secret
PMA_ARBITRARY: 1
depends_on:
mariadb:
condition: service_healthy
networks:
- laravel_network
queue:
image: laravel_frankenphp
container_name: laravel_queue
working_dir: /var/www
restart: unless-stopped
command: php artisan queue:work --verbose --tries=3 --sleep=3
healthcheck:
test: [ "CMD", "php", "artisan", "queue:monitor", "default" ]
interval: 30s
timeout: 10s
retries: 3
start_period: 60s
volumes:
- ./laravel:/var/www
depends_on:
mariadb:
condition: service_healthy
networks:
- laravel_network
schedule:
image: laravel_frankenphp
container_name: laravel_schedule
restart: unless-stopped
working_dir: /var/www
user: "${UID:-1000}:${GID:-1000}"
volumes:
- ./laravel:/var/www
- ./docker/cron:/etc/cron.d:ro
command:
- "go-crond"
- "--default-user=${UID:-1000}"
- "--allow-unprivileged"
- "--include=/etc/cron.d"
- "--verbose"
healthcheck:
test: [ "CMD", "pgrep", "-f", "go-crond" ]
interval: 30s
timeout: 10s
retries: 3
start_period: 40s
depends_on:
- app
networks:
- laravel_network
networks:
laravel_network:
driver: bridge
volumes:
caddy_data:
mariadb_data: