wedding-platform / docker-compose.yml
imeshuek's picture
Upload docker-compose.yml
54cd4c1 verified
version: '3.8'
services:
# PostgreSQL 16
postgres:
image: postgres:16-alpine
environment:
POSTGRES_USER: evermore
POSTGRES_PASSWORD: evermore_dev
POSTGRES_DB: evermore
ports:
- '5432:5432'
volumes:
- pgdata:/var/lib/postgresql/data
healthcheck:
test: ['CMD-SHELL', 'pg_isready -U evermore']
interval: 5s
timeout: 5s
retries: 5
# Redis 7
redis:
image: redis:7-alpine
ports:
- '6379:6379'
healthcheck:
test: ['CMD', 'redis-cli', 'ping']
interval: 5s
timeout: 5s
retries: 5
# OpenSearch 2.x
opensearch:
image: opensearchproject/opensearch:2.11.0
environment:
discovery.type: single-node
DISABLE_SECURITY_PLUGIN: 'true'
OPENSEARCH_JAVA_OPTS: '-Xms512m -Xmx512m'
ports:
- '9200:9200'
volumes:
- osdata:/usr/share/opensearch/data
healthcheck:
test: ['CMD-SHELL', 'curl -s http://localhost:9200/_cluster/health | grep -q "green\|yellow"']
interval: 10s
timeout: 10s
retries: 10
# Client Portal (Next.js)
client:
build:
context: .
dockerfile: apps/client/Dockerfile
target: dev
ports:
- '3000:3000'
volumes:
- ./apps/client:/app/apps/client
- ./packages:/app/packages
environment:
DATABASE_URL: postgresql://evermore:evermore_dev@postgres:5432/evermore
REDIS_URL: redis://redis:6379
OPENSEARCH_URL: http://opensearch:9200
depends_on:
postgres:
condition: service_healthy
redis:
condition: service_healthy
# Vendor Portal (Next.js)
vendor:
build:
context: .
dockerfile: apps/vendor/Dockerfile
target: dev
ports:
- '3001:3001'
volumes:
- ./apps/vendor:/app/apps/vendor
- ./packages:/app/packages
environment:
DATABASE_URL: postgresql://evermore:evermore_dev@postgres:5432/evermore
REDIS_URL: redis://redis:6379
OPENSEARCH_URL: http://opensearch:9200
depends_on:
postgres:
condition: service_healthy
# Admin Portal (Next.js)
admin:
build:
context: .
dockerfile: apps/admin/Dockerfile
target: dev
ports:
- '3002:3002'
volumes:
- ./apps/admin:/app/apps/admin
- ./packages:/app/packages
environment:
DATABASE_URL: postgresql://evermore:evermore_dev@postgres:5432/evermore
REDIS_URL: redis://redis:6379
depends_on:
postgres:
condition: service_healthy
# BullMQ Worker
worker:
build:
context: .
dockerfile: apps/worker/Dockerfile
environment:
DATABASE_URL: postgresql://evermore:evermore_dev@postgres:5432/evermore
REDIS_URL: redis://redis:6379
OPENSEARCH_URL: http://opensearch:9200
depends_on:
postgres:
condition: service_healthy
redis:
condition: service_healthy
opensearch:
condition: service_healthy
volumes:
pgdata:
osdata: