112 lines
2.7 KiB
YAML
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: |