services: database: container_name: ${PROJECT_NAME}_database hostname: postgres image: postgres:17.4 ports: - ${DB_PORT}:5432 volumes: - db_data:/var/lib/postgresql/pgdata environment: POSTGRES_DB: ${DB_NAME} POSTGRES_USER: ${DB_USERNAME} POSTGRES_PASSWORD: ${DB_PASSWORD} PGDATA: /var/lib/postgresql/pgdata networks: - main_network restart: unless-stopped back: container_name: ${PROJECT_NAME}_back build: ./back volumes: - ./back:/app - /app/node_modules environment: PORT: ${BACK_PORT} JWT_SECRET: ${JWT_SECRET} NODE_ENV: development TELEGRAM_BOT_TOKEN: ${TELEGRAM_BOT_TOKEN} DB_HOST: database DB_PORT: 5432 DB_USERNAME: ${DB_USERNAME} DB_PASSWORD: ${DB_PASSWORD} DB_NAME: ${DB_NAME} networks: - main_network ports: - ${BACK_PORT}:${BACK_PORT} depends_on: - database restart: unless-stopped command: sh -c "pnpm migration:run && pnpm start:dev" front: container_name: ${PROJECT_NAME}_front build: context: ./front args: - VITE_API_URL=${API_URL} environment: NODE_ENV: development PORT: ${FRONT_PORT} HOST: 0.0.0.0 restart: unless-stopped volumes: - ./front:/app - /app/node_modules depends_on: - back networks: - main_network ports: - ${FRONT_PORT}:5173 command: npm run dev -- --host 0.0.0.0 networks: main_network: name: ${PROJECT_NAME}_network driver: bridge volumes: db_data: name: ${PROJECT_NAME}_volume