Skip to content
Snippets Groups Projects
docker-compose.yml 2.75 KiB
version: '3'

services:
  openfisca:
    image: caminofr/camino-openfisca:${CAMINO_TAG}
    restart: unless-stopped
  api:
    container_name: camino_api_app
    image: caminofr/camino-api:${CAMINO_TAG}
    depends_on:
      - db
      - openfisca
    environment:
      APPLICATION_VERSION: ${CAMINO_TAG}
      VIRTUAL_HOST: ${API_HOST}
      VIRTUAL_PORT: ${API_PORT}
      LETSENCRYPT_HOST: ${API_HOST}
      LETSENCRYPT_EMAIL: ${LETSENCRYPT_EMAIL}
      PGHOST: db
    expose:
      - ${API_PORT}
    volumes:
      - ./files:/packages/api/files
      - ./.env:/.env
    networks:
      - default
      - nginx-proxy
    restart: unless-stopped
  cron:
    container_name: camino_api_cron
    image: caminofr/camino-api:${CAMINO_TAG}
    command: ["node", "./packages/api/dist/src/cron.js"]
    depends_on:
      - db
    environment:
      APPLICATION_VERSION: ${CAMINO_TAG}
      PGHOST: db
    volumes:
      - ./files:/packages/api/files
      - ./.env:/.env
    networks:
      - default
      - nginx-proxy
    restart: unless-stopped
  db:
    container_name: camino_api_db
    image: postgis/postgis:12-3.2
    environment:
      PGUSER: ${PGUSER}
      POSTGRES_USER: ${PGUSER}
      POSTGRES_PASSWORD: ${PGPASSWORD}
      POSTGRES_DB: ${PGDATABASE}
    expose:
      - ${PGPORT}
    networks:
      - default
    volumes:
      - ./postgresql:/var/lib/postgresql/data
    restart: unless-stopped
  docs:
    container_name: camino_api_docs
    image: caminofr/camino-api-docs:${CAMINO_TAG}
    environment:
      VIRTUAL_HOST: ${DOC_HOST}
      VIRTUAL_PORT: ${DOC_PORT}
      LETSENCRYPT_HOST: ${DOC_HOST}
      LETSENCRYPT_EMAIL: ${LETSENCRYPT_EMAIL}
    expose:
      - ${DOC_PORT}
    networks: