services: backend_db: image: postgres:17-alpine3.21 container_name: ${PROJECT_NAME}-pgsql ports: - "8050:5432" environment: POSTGRES_DB: ${POSTGRES_DB} POSTGRES_USER: ${POSTGRES_USER} POSTGRES_PASSWORD: ${POSTGRES_PASSWORD} volumes: - ./data:/var/lib/postgresql/data profiles: - server networks: - notification notification_db: image: postgres:17-alpine3.21 container_name: notification_db ports: - "8070:5432" environment: POSTGRES_DB: ${NOTIFICATION_DB} POSTGRES_USER: ${POSTGRES_USER} POSTGRES_PASSWORD: ${POSTGRES_PASSWORD} volumes: - ./notification:/var/lib/postgresql/data profiles: - server networks: - notification # redis: # image: redis:7-alpine3.21 # container_name: redis laravel: build: context: ${PROJECT_PATH} dockerfile: Dockerfile container_name: ${PROJECT_NAME} ports: - "8000:8000" volumes: - ./laravel:/var/www/crm profiles: - server networks: - notification depends_on: - postgres notification_server: build: context: ${NOTIFICATION_SERVER_PATH} dockerfile: Dockerfile container_name: notification-server environment: - NODE_ENV=production - DB_HOST=notification_db - DB_PORT=5432 - DB_USERNAME=${NOTIFICATION_SERVER_USER} - DB_PASSWORD=${NOTIFICATION_SERVER_PASSWORD} - DB_DATABASE=${NOTIFICATION_SERVER_DB} - DB_SSL=${NOTIFICATION_SERVER_DB_SSL} - DB_SYNC=${NOTIFICATION_SERVER_DB_SYNC} - PORT=${NOTIFICATION_SERVER_PORT} ports: - "3023:3023" volumes: - ${NOTIFICATION_SERVER_PATH}:/var/www/crm-notification-server profiles: - server networks: - notification depends_on: - backend-db - laravel - notification_db networks: notification: driver: bridge