eletrotupi / tcc / docker-compose.yml master
1.1 KB Raw
services:
  db:
    image: postgres:17-alpine
    shm_size: 1g
    user: postgres
    restart: always
    healthcheck:
      test: "pg_isready -U user --dbname=postgres"
      interval: 10s
      timeout: 5s
      retries: 5
    ports:
      - 5430:5432
    environment:
      POSTGRES_USER: user
      POSTGRES_DB: orbit_dev
      POSTGRES_PASSWORD: password
    volumes:
      - db_data:/var/lib/postgresql/data

  valkey:
    image: valkey/valkey:9.0-alpine
    ports:
      - '6379:6379'
    volumes:
      - valkey_data:/data
      - ./etc/valkey.conf:/etc/valkey/valkey.conf
    command: valkey-server /etc/valkey/valkey.conf
    environment:
      - ALLOW_EMPTY_PASSWORD=yes
    healthcheck:
      test: ["CMD", "valkey-cli", "ping"]
      interval: 10s
      timeout: 5s
      retries: 5
      start_period: 5s

  api:
    build: ./api
    volumes:
      - ./api:/app
      - /app/node_modules
    ports:
      - 3000:3000
    env_file:
      - api/.env.development
    depends_on:
      valkey:
        condition: service_healthy
      db:
        condition: service_healthy
    restart: always

volumes:
  db_data:
  valkey_data: