services:
  web:
#   image: registry.activitypub.software/transfem-org/sharkey:latest
    build: .
    restart: always
    links:
      - db
      - redis
#     - mcaptcha
#     - meilisearch
    depends_on:
      db:
        condition: service_healthy
      redis:
        condition: service_healthy
    ports:
      - "3000:3000"
    networks:
      - shonk
    # env_file:
    #   - .config/docker.env
    environment:
      - NODE_OPTIONS="--max-old-space-size=8192"
    volumes:
      - ./files:/sharkey/files
      - ./.config:/sharkey/.config:ro

  redis:
    restart: always
    image: redis:7-alpine
    networks:
      - shonk
    volumes:
      - ./redis:/data
    healthcheck:
      test: "redis-cli ping"
      interval: 5s
      retries: 20

  db:
    restart: always
    image: groonga/pgroonga:4.0.1-alpine-17
    networks:
      - shonk
    env_file:
      - .config/docker.env
    volumes:
      - ./db:/var/lib/postgresql/data
    healthcheck:
      test: "pg_isready -U $$POSTGRES_USER -d $$POSTGRES_DB"
      interval: 5s
      retries: 20

#  mcaptcha:
#    restart: always
#    image: mcaptcha/mcaptcha:latest
#    networks:
#      shonk:
#        aliases:
#          - localhost
#    ports:
#      - 7493:7493
#    env_file:
#      - .config/docker.env
#    environment:
#      PORT: 7493
#      MCAPTCHA_redis_URL: "redis://mcaptcha_redis/"
#      MCAPTCHA_allow_registration: true
#      MCAPTCHA_server_DOMAIN: "example.tld"
#    depends_on:
#      db:
#        condition: service_healthy
#      mcaptcha_redis:
#        condition: service_healthy
#
#  mcaptcha_redis:
#    image: mcaptcha/cache:latest
#    networks:
#      - shonk
#    healthcheck:
#      test: "redis-cli ping"
#      interval: 5s
#      retries: 20

#  meilisearch:
#    restart: always
#    image: getmeili/meilisearch:v1.13.0
#    environment:
#      - MEILI_NO_ANALYTICS=true
#      - MEILI_ENV=production
#      - MEILI_MASTER_KEY=ChangeThis
#    networks:
#      - shonk
#    volumes:
#      - ./meili_data:/meili_data


networks:
  shonk:
