Ctrl K
ComunidadGuías…

compose.yaml

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

Archivo original ↗Preguntar a KiBot
services:
  filedpapers-web:
    image: ghcr.io/svenkubiak/filedpapers/filedpapers:${VERSION}
    container_name: filedpapers-web
    restart: always
    env_file:
      - .env
    environment:
      # The configuration file is packaged in the image and is intentionally not part of JAVA_OPTS
      JAVA_OPTS: >
        -Xms512m
        -Xmx512m
        -XX:+UseCompactObjectHeaders
    ports:
      - "127.0.0.1:9090:9090"
    volumes:
      - ./logs:/logs
      - ./secrets:/run/secrets:ro
    depends_on:
      filedpapers-database:
        condition: service_healthy
      filedpapers-metascraper:
        condition: service_healthy
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost:9090/health"]
      interval: 60s
      timeout: 5s
      retries: 3
      start_period: 30s
    cpus: "1"
    cpu_shares: 1024
    mem_limit: 768m
    mem_reservation: 512m
    stop_grace_period: 30s
    networks:
      - filedpapers-network

  filedpapers-database:
    image: mongodb/mongodb-community-server:8.2.2-ubuntu2204
    container_name: filedpapers-database
    restart: always
    environment:
      - MONGODB_INITDB_ROOT_USERNAME=${MONGODB_INITDB_ROOT_USERNAME}
      - MONGODB_INITDB_ROOT_PASSWORD=${MONGODB_INITDB_ROOT_PASSWORD}
      - MONGODB_INITDB_DATABASE=${MONGODB_INITDB_DATABASE}
      - GLIBC_TUNABLES=glibc.pthread.rseq=0
    volumes:
      - filed_papers_mongodb_data:/data/db
    healthcheck:
      test: ["CMD", "mongosh", "--eval", "db.adminCommand('ping')"]
      interval: 30s
      timeout: 5s
      retries: 5
      start_period: 30s
    cpus: "1"
    cpu_shares: 1024
    mem_limit: 768m
    mem_reservation: 512m
    stop_grace_period: 30s
    networks:
      - filedpapers-network

  filedpapers-metascraper:
    container_name: filedpapers-metascraper
    image: ghcr.io/svenkubiak/filedpapers/filedpapers-metascraper:${VERSION}
    restart: always
    # Chromium/single-file (Amazon) gets OOM-killed with only 1g of memory.
    shm_size: "512mb"
    cpus: "2"
    cpu_shares: 1024
    mem_limit: 1536m
    mem_reservation: 1024m
    stop_grace_period: 30s
    networks:
      - filedpapers-network
    healthcheck:
      test:
        [
          "CMD",
          "node",
          "-e",
          "fetch('http://127.0.0.1:3000/health').then(r => { if (!r.ok) process.exit(1) }).catch(() => process.exit(1))"
       ]
      interval: 60s
      timeout: 5s
      retries: 3
      start_period: 10s

networks:
  filedpapers-network:
    driver: bridge

volumes:
  filed_papers_mongodb_data: