Ctrl K
ComunidadGuías…

deployment/docker-compose.yml

Rama main · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
name: janua

services:
  # FastAPI Backend
  api:
    build:
      context: ../apps/api
      dockerfile: Dockerfile
    container_name: janua-api
    environment:
      DATABASE_URL: "${DATABASE_URL:?set DATABASE_URL in an untracked local env file}"
      REDIS_URL: "${REDIS_URL:?set REDIS_URL in an untracked local env file}"
      SECRET_KEY: "${SECRET_KEY:?set SECRET_KEY in an untracked local env file}"
      # Shared JWT secret for cross-service authentication (MADFAM ecosystem)
      JWT_SECRET_KEY:"${JWT_SECRET_KEY:?set JWT_SECRET_KEY in an untracked local env file}"
      DEBUG: "true"
      ENVIRONMENT: development
      BASE_URL: http://localhost:4100
      CORS_ORIGINS: http://localhost:3000,http://localhost:3001,http://localhost:3004,http://localhost:3005
      EMAIL_PROVIDER: smtp
      SMTP_HOST: localhost
      SMTP_PORT: "1025"
      SMTP_FROM_EMAIL: noreply@janua.local
    ports:
      - "4100:4100"
    volumes:
      - ../apps/api:/app
    command: uvicorn main:app --host 0.0.0.0 --port 4100 --reload
    healthcheck:
      test:
        [
          "CMD",
          "python",
          "-c",
          "import urllib.request; urllib.request.urlopen('http://localhost:4100/health')",
        ]
      interval: 30s
      timeout: 10s
      retries: 3
      start_period: 30s
    networks:
      - madfam-shared-network

  # Next.js Admin Dashboard
  admin:
    build:
      context: ../apps/admin
      dockerfile: Dockerfile
    container_name: janua-admin
    environment:
      NEXT_PUBLIC_API_URL: http://localhost:8001
      NEXT_PUBLIC_APP_URL: http://localhost:3004
    ports:
      - "3004:3000"
    volumes:
      - ../apps/admin:/app
      - /app/node_modules
      - /app/.next
    depends_on:
      - api
    command: npm run dev
    networks:
      - madfam-shared-network

  # Documentation Site
  docs:
    build:
      context: ../apps/docs
      dockerfile: Dockerfile
    container_name: janua-docs
    ports:
      - "3005:3000"
    volumes:
      - ../apps/docs:/app
      - /app/node_modules
      - /app/.next
    command: npm run dev
    networks:
      - madfam-shared-network

networks:
  madfam-shared-network:
    external: true