78 lines
1.5 KiB
YAML
Executable file
78 lines
1.5 KiB
YAML
Executable file
services:
|
|
app:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile
|
|
container_name: laravel-app
|
|
restart: unless-stopped
|
|
userns_mode: "keep-id"
|
|
working_dir: /var/www/html
|
|
volumes:
|
|
- ./:/var/www/html:Z
|
|
ports:
|
|
- "8080:8080"
|
|
networks:
|
|
- laravel
|
|
depends_on:
|
|
- db
|
|
- redis
|
|
- mailpit
|
|
|
|
db:
|
|
image: docker.io/library/mysql:8.0
|
|
container_name: laravel-db
|
|
restart: unless-stopped
|
|
environment:
|
|
MYSQL_DATABASE: laravel
|
|
MYSQL_ROOT_PASSWORD: root
|
|
MYSQL_USER: laravel
|
|
MYSQL_PASSWORD: secret
|
|
volumes:
|
|
- dbdata:/var/lib/mysql:Z
|
|
- ./docker/mysql/init.sql:/docker-entrypoint-initdb.d/init.sql:Z
|
|
ports:
|
|
- "3306:3306"
|
|
networks:
|
|
- laravel
|
|
|
|
redis:
|
|
image: docker.io/library/redis:alpine
|
|
container_name: laravel-redis
|
|
restart: unless-stopped
|
|
ports:
|
|
- "6379:6379"
|
|
networks:
|
|
- laravel
|
|
|
|
mailpit:
|
|
image: docker.io/axllent/mailpit:latest
|
|
container_name: laravel-mailpit
|
|
restart: unless-stopped
|
|
ports:
|
|
- "8025:8025" # Web UI
|
|
- "1025:1025" # SMTP server
|
|
networks:
|
|
- laravel
|
|
|
|
phpmyadmin:
|
|
image: docker.io/phpmyadmin/phpmyadmin:latest
|
|
container_name: laravel-phpmyadmin
|
|
restart: unless-stopped
|
|
environment:
|
|
PMA_HOST: db
|
|
PMA_USER: root
|
|
PMA_PASSWORD: root
|
|
ports:
|
|
- "8081:80"
|
|
networks:
|
|
- laravel
|
|
depends_on:
|
|
- db
|
|
|
|
networks:
|
|
laravel:
|
|
driver: bridge
|
|
|
|
volumes:
|
|
dbdata:
|
|
driver: local
|