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: