New docker compose: try 1

This commit is contained in:
= 2025-04-15 21:56:28 +02:00
parent bbc9dd85da
commit d3845ba668

View file

@ -1,66 +1,45 @@
version: '3.8'
version: "3.8"
services:
backend:
build:
context: ./backend
dockerfile: Dockerfile
container_name: laravel_backend
volumes:
- ./backend:/var/www/html
networks:
- app-network
environment:
- APP_ENV=local
- DB_HOST=db
- DB_PORT=3306
depends_on:
- db
frontend:
build:
context: ./frontend
dockerfile: Dockerfile
container_name: react_frontend
volumes:
- ./frontend:/app
networks:
- app-network
environment:
- CHOKIDAR_USEPOLLING=true
stdin_open: true
tty: true
db:
image: mysql:8.0
container_name: mysql_db
restart: always
volumes:
- db-data:/var/lib/mysql
networks:
- app-network
container_name: dishplanner-db
restart: unless-stopped
environment:
MYSQL_ROOT_PASSWORD: root
MYSQL_DATABASE: laravel
MYSQL_USER: laravel
MYSQL_PASSWORD: laravel
nginx:
image: nginx:latest
container_name: nginx_proxy
MYSQL_ROOT_PASSWORD: rootpassword
MYSQL_DATABASE: dishplanner
MYSQL_USER: dishuser
MYSQL_PASSWORD: dishpass
volumes:
- ./nginx:/etc/nginx/conf.d
- db_data:/var/lib/mysql
backend:
image: jochent/dishplanner-backend:latest
container_name: dishplanner-backend
restart: unless-stopped
environment:
DB_CONNECTION: mysql
DB_HOST: db
DB_PORT: 3306
DB_DATABASE: dishplanner
DB_USERNAME: dishuser
DB_PASSWORD: dishpass
depends_on:
- db
ports:
- "80:80"
- "9000:9000" # Only needed if exposing php-fpm, otherwise remove
frontend:
image: jochent/dishplanner-frontend:latest
container_name: dishplanner-frontend
restart: unless-stopped
environment:
NEXT_PUBLIC_API_URL: http://localhost:9000 # or backend:9000 if hitting directly
depends_on:
- backend
- frontend
networks:
- app-network
networks:
app-network:
driver: bridge
ports:
- "3000:3000"
volumes:
db-data:
db_data: