portfolio-tracker/compose.yml
2025-12-22 12:54:34 +03:00

119 lines
2.3 KiB
YAML

services:
redis:
container_name: ${PROJECT_NAME}-redis-local
image: redis:latest
ports:
- ${REDIS_PORT}:6379
networks:
redis_net:
aliases:
- redis
restart: unless-stopped
backend:
container_name: ${PROJECT_NAME}-backend-local
build:
context: ./docker/backend
dockerfile: Dockerfile
args:
- UID=${UID:-1000}
- GID=${GID:-1000}
- USER=${USER-laravel}
volumes:
- ./src:/app
working_dir: /app
networks:
back_net:
aliases:
- backend
redis_net:
aliases:
- backend
nginx:
container_name: ${PROJECT_NAME}-nginx-local
build:
context: ./docker/nginx
dockerfile: Dockerfile
args:
- UID=${UID:-1000}
- GID=${GID:-1000}
- USER=${USER:-laravel}
restart: unless-stopped
ports:
- ${NGINX_PORT}:8000
volumes:
- ./src:/app
depends_on:
- backend
networks:
back_net:
aliases:
- nginx
db:
image: mariadb:10.6
restart: unless-stopped
tty: true
ports:
- ${DB_PORT}:3306
environment:
MYSQL_DATABASE: ${DB_DATABASE}
MYSQL_USER: ${DB_USER}
MYSQL_PASSWORD: ${DB_PASSWORD}
MYSQL_ROOT_PASSWORD: ${DB_PASSWORD}
SERVICE_TAGS: dev
SERVICE_NAME: db
volumes:
- mysql-data:/var/lib/mysql
networks:
back_net:
aliases:
- db
phpmyadmin:
image: phpmyadmin:5.2.0
environment:
PMA_ARBITRARY: 1
PMA_HOST: db
PMA_PORT: 3306
PMA_USER: ${DB_USER}
PMA_PASSWORD: ${DB_PASSWORD}
depends_on:
- db
ports:
- 8888:80
networks:
back_net:
aliases:
- pma
node:
image: node:18-alpine
container_name: ${PROJECT_NAME}-node
working_dir: /app
volumes:
- ./src:/app
- /app/node_modules
ports:
- "${HMR_PORT}:8080"
networks:
back_net:
aliases:
- node
environment:
- NODE_ENV=development
command: sh -c "npm install && npm run dev"
networks:
back_net:
name: ${PROJECT_NAME}_back_net_local
driver: bridge
redis_net:
name: ${PROJECT_NAME}_redis_net_local
driver: bridge
volumes:
mysql-data: