services:
  archivebox:
    container_name: archivebox
    image: archivebox/archivebox:0.7.2
    command: server --quick-init 0.0.0.0:8000
    environment:
      - ALLOWED_HOSTS=*
      - MEDIA_MAX_SIZE=750m
      - PUBLIC_ADD_VIEW=False
      - PUBLIC_INDEX=True
      - PUBLIC_SNAPSHOTS=False
      - SAVE_TITLE=True
      - SAVE_FAVICON=True
      - SAVE_WGET=False
      - SAVE_WARC=False
      - SAVE_PDF=True
      - SAVE_SCREENSHOT=True
      - SAVE_DOM=False
      - SAVE_SINGLEFILE=True
      - SAVE_READABILITY=True
      - SAVE_MERCURY=False
      - SAVE_GIT=False
      - SAVE_MEDIA=False
      - SAVE_ARCHIVE_DOT_ORG=False
      - SEARCH_BACKEND_ENGINE=sonic
      - SEARCH_BACKEND_HOST_NAME=sonic
      - SEARCH_BACKEND_PASSWORD=eeXa7chux9sheiviep8thaw3Yel1te
    networks:
      - archivebox
      - reverse-proxy
    ports:
      - 8283:8000
    restart: always
    volumes:
      - ${DOCKER_CONFIGS}/data:/data

    ### Example: To run the Sonic full-text search backend, first download the config file to sonic.cfg
    #   $ curl -O https://raw.githubusercontent.com/ArchiveBox/ArchiveBox/master/etc/sonic.cfg
    # After starting, backfill any existing Snapshots into the full-text index:
    #   $ docker-compose run archivebox update --index-only

  sonic:
    container_name: sonic
    image: valeriansaliou/sonic:latest
    environment:
      - SEARCH_BACKEND_PASSWORD=eeXa7chux9sheiviep8thaw3Yel1te
    networks:
      - archivebox
    expose:
      - 1491
    restart: always
    volumes:
    - ${DOCKER_CONFIGS}/sonic.cfg:/etc/sonic.cfg:ro
    - ${DOCKER_CONFIGS}/data/sonic:/var/lib/sonic/store

networks:
  archivebox:
    name: archivebox
  reverse-proxy:
    name: reverse-proxy
    external: true
