Newer
Older
bibcnrs / docker-compose.dev.yml
@join join on 29 Jan 2 KB first commit
version: "3.5"

services:
  bibcnrs-dev-proxy:
    container_name: bibcnrs-dev-proxy
    image: nginx:1.24-alpine
    volumes:
      - ./nginx/dev-proxy.nginx.conf:/etc/nginx/conf.d/default.conf
      - ./bibcnrs-api/uploads:/usr/share/nginx/html
    ports:
      - "8000:8000"
    depends_on:
      bibcnrs-dev-api:
        condition: service_healthy
      bibcnrs-dev-front:
        condition: service_started
      bibcnrs-dev-admin:
        condition: service_started
      bibcnrs-dev-api-adminer:
        condition: service_started
      bibcnrs-dev-api-mail:
        condition: service_started
    networks:
      - bib-frontend-network

  bibcnrs-dev-front:
    container_name: bibcnrs-dev-front
    extends:
      file: bibcnrs-front/docker-compose.dev.aio.yml
      service: bibcnrs-front-dev-server
    working_dir: /app
    ports:
      - "5173:5173"
    volumes:
      - ./bibcnrs-front:/app
    networks:
      - bib-frontend-network

  bibcnrs-dev-admin:
    container_name: bibcnrs-dev-admin
    extends:
      file: bibcnrs-admin/docker-compose.dev.aio.yml
      service: bibcnrs-admin-dev-server
    working_dir: /app
    ports:
      - "3011:3011"
    volumes:
      - ./bibcnrs-admin:/app
    networks:
      - bib-frontend-network

  bibcnrs-dev-api:
    container_name: bibcnrs-dev-api
    extends:
      file: bibcnrs-api/docker-compose.dev.aio.yml
      service: bibcnrs-api-dev-server
    working_dir: /app
    ports:
      - "3000:3000"
    healthcheck:
      test: [ "CMD", "curl", "-f", "http://localhost:3000/ebsco/domains" ]
      interval: 10s
      retries: 10
    volumes:
      - ./bibcnrs-api:/app
    depends_on:
      - bibcnrs-dev-api-postgres
      - bibcnrs-dev-api-mail
      - bibcnrs-dev-api-redis
    networks:
      - bib-backend-network
      - bib-frontend-network

  bibcnrs-dev-api-adminer:
    container_name: bibcnrs-dev-api-adminer
    depends_on:
      - bibcnrs-dev-api-postgres
    image: adminer:4
    ports:
      - "8080:8080"
    networks:
      - bib-frontend-network
      - bib-backend-network

  # Application database
  bibcnrs-dev-api-postgres:
    container_name: bibcnrs-dev-api-postgres
    image: postgres:13
    environment:
      POSTGRES_USER: postgres
      POSTGRES_PASSWORD: secret
      POSTGRES_DB: bibapi-dev
      PGDATA: /var/lib/postgresql/data/pgdata
    volumes:
      - ./backups:/backups
      - ./bibcnrs-api/postgresql-dev:/var/lib/postgresql/data/pgdata
    ports:
      - "5432:5432"
    networks:
      - bib-backend-network

  # Cache database
  bibcnrs-dev-api-redis:
    container_name: bibcnrs-dev-api-redis
    image: redis:6.2.6
    networks:
      - bib-backend-network

  # Mail dev server
  bibcnrs-dev-api-mail:
    image: maildev/maildev:2.0.5
    container_name: bibcnrs-dev-api-mail
    ports:
      - "1080:1080"
      - "1025:1025"
    networks:
      - bib-frontend-network
      - bib-backend-network

networks:
  bib-backend-network:
    driver: bridge
    name: bib-backend-network
  bib-frontend-network:
    driver: bridge
    name: bib-frontend-network