From 33a7df1dc5474316144592addc668da8e96ede74 Mon Sep 17 00:00:00 2001 From: msnie Date: Thu, 15 Feb 2024 20:36:33 +0100 Subject: [PATCH] archive box local --- archive_box/docker-compose.yml | 238 ++------------------------------- 1 file changed, 9 insertions(+), 229 deletions(-) diff --git a/archive_box/docker-compose.yml b/archive_box/docker-compose.yml index 5e3a8f6..5d1d726 100644 --- a/archive_box/docker-compose.yml +++ b/archive_box/docker-compose.yml @@ -1,231 +1,11 @@ -version: "3" +version: '3.9' services: - browser: - image: chromedp/headless-shell - ports: - - 9222:9222 - networks: - - back-tier - volumes: - - /dev/shm:/dev/shm - restart: unless-stopped - hostname: browser - - meilisearch: - image: getmeili/meilisearch:v1.1.0 - ports: - - 7700:7700 - networks: - - back-tier - volumes: - - storage:/meili_data - restart: unless-stopped - hostname: meilisearch - environment: - - MEILI_NO_ANALYTICS=true - - MEILI_HTTP_ADDR=0.0.0.0:7700 - - MEILI_ENV=production - - wayback: - image: wabarc/wayback - ports: - - 8964:8964 - networks: - - back-tier - volumes: - - storage:/data - depends_on: - - browser - - meilisearch - environment: - - WAYBACK_STORAGE_DIR=/data - - CHROME_REMOTE_ADDR=browser:9222 - - WAYBACK_MEILI_ENDPOINT=http://meilisearch:7700 - - PLAYBACK_MEILI_ENDPOINT=http://meilisearch:7700 - command: wayback -d web - restart: unless-stopped - build: ./ - -networks: - back-tier: - -volumes: - storage: - driver: local - -# # Usage: -# # docker compose run archivebox init --setup -# # docker compose up -# # echo "https://example.com" | docker compose run archivebox archivebox add -# # docker compose run archivebox add --depth=1 https://example.com/some/feed.rss -# # docker compose run archivebox config --set MEDIA_MAX_SIZE=750m -# # docker compose run archivebox help -# # Documentation: -# # https://github.com/ArchiveBox/ArchiveBox/wiki/Docker#docker-compose - -# version: '3.9' - -# services: -# archivebox: -# #image: ${DOCKER_IMAGE:-archivebox/archivebox:dev} -# image: archivebox/archivebox:dev -# command: server --quick-init 0.0.0.0:8000 -# # ports: -# # - 8765:8000 -# volumes: -# - /srv/archive_box/data:/data -# # - ./etc/crontabs:/var/spool/cron/crontabs # uncomment this and archivebox_scheduler below to set up automatic recurring archive jobs -# # - ./archivebox:/app/archivebox # uncomment this to mount the ArchiveBox source code at runtime (for developers working on archivebox) -# # build: . # uncomment this to build the image from source code at buildtime (for developers working on archivebox) -# environment: -# - ALLOWED_HOSTS=* # restrict this to only accept incoming traffic via specific domain name -# - PUBLIC_INDEX=False # set to False to prevent anonymous users from viewing snapshot list -# - PUBLIC_SNAPSHOTS=False # set to False to prevent anonymous users from viewing snapshot content -# - PUBLIC_ADD_VIEW=False # set to True to allow anonymous users to submit new URLs to archive -# # - ADMIN_USERNAME=admin # create an admin user on first run with the given user/pass combo -# # - ADMIN_PASSWORD=SomeSecretPassword -# # - PUID=911 # set to your host user's UID & GID if you encounter permissions issues -# # - PGID=911 -# # - SEARCH_BACKEND_ENGINE=sonic # uncomment these and sonic container below for better full-text search -# # - SEARCH_BACKEND_HOST_NAME=sonic -# # - SEARCH_BACKEND_PASSWORD=SomeSecretPassword -# - MEDIA_MAX_SIZE=750m # increase this filesize limit to allow archiving larger audio/video files -# # - TIMEOUT=60 # increase this number to 120+ seconds if you see many slow downloads timing out -# # - CHECK_SSL_VALIDITY=True # set to False to disable strict SSL checking (allows saving URLs w/ broken certs) -# - SAVE_ARCHIVE_DOT_ORG=True # set to False to disable submitting all URLs to Archive.org when archiving -# labels: -# - "traefik.enable=true" -# - "traefik.http.routers.archive.entrypoints=websecure" -# - "traefik.http.routers.archive.rule=Host(`archive.$DOMAIN_NAME`)" -# - "traefik.http.routers.archive.tls.certresolver=letsencr" -# - "traefik.http.services.archive.loadbalancer.server.port=8000" -# restart: unless-stopped -# # ... -# # add further configuration options from archivebox/config.py as needed (to apply them only to this container) -# # or set using `docker compose run archivebox config --set SOME_KEY=someval` (to persist config across all containers) - -# # For ad-blocking during archiving, uncomment this section and pihole service section below -# # networks: -# # - dns -# # dns: -# # - 172.20.0.53 - - -# ######## Optional Addons: tweak examples below as needed for your specific use case ######## - -# ### 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: -# # image: valeriansaliou/sonic:latest -# # expose: -# # - 1491 -# # environment: -# # - SEARCH_BACKEND_PASSWORD=SomeSecretPassword -# # volumes: -# # - ./sonic.cfg:/etc/sonic.cfg:ro -# # - ./data/sonic:/var/lib/sonic/store - - -# ### Example: To run pihole in order to block ad/tracker requests during archiving, -# # uncomment this block and set up pihole using its admin interface - -# # pihole: -# # image: pihole/pihole:latest -# # ports: -# # - 127.0.0.1:8090:80 # uncomment to access the admin HTTP interface on http://localhost:8090 -# # environment: -# # - WEBPASSWORD=SET_THIS_TO_SOME_SECRET_PASSWORD_FOR_ADMIN_DASHBOARD -# # - DNSMASQ_LISTENING=all -# # dns: -# # - 127.0.0.1 -# # - 1.1.1.1 -# # networks: -# # dns: -# # ipv4_address: 172.20.0.53 -# # volumes: -# # - ./etc/pihole:/etc/pihole -# # - ./etc/dnsmasq:/etc/dnsmasq.d - - -# ### Example: Enable ability to run regularly scheduled archiving tasks by uncommenting this container -# # $ docker compose run archivebox schedule --every=day --depth=1 'https://example.com/some/rss/feed.xml' -# # then restart the scheduler container to apply the changes to the schedule -# # $ docker compose restart archivebox_scheduler - -# # archivebox_scheduler: -# # image: ${DOCKER_IMAGE:-archivebox/archivebox:dev} -# # command: schedule --foreground -# # environment: -# # - MEDIA_MAX_SIZE=750m # increase this number to allow archiving larger audio/video files -# # # - TIMEOUT=60 # increase if you see timeouts often during archiving / on slow networks -# # # - ONLY_NEW=True # set to False to retry previously failed URLs when re-adding instead of skipping them -# # # - CHECK_SSL_VALIDITY=True # set to False to allow saving URLs w/ broken SSL certs -# # # - SAVE_ARCHIVE_DOT_ORG=True # set to False to disable submitting URLs to Archive.org when archiving -# # # - PUID=502 # set to your host user's UID & GID if you encounter permissions issues -# # # - PGID=20 -# # volumes: -# # - ./data:/data -# # - ./etc/crontabs:/var/spool/cron/crontabs -# # # cpus: 2 # uncomment / edit these values to limit container resource consumption -# # # mem_limit: 2048m -# # # shm_size: 1024m - - -# ### Example: Put Nginx in front of the ArchiveBox server for SSL termination - -# # nginx: -# # image: nginx:alpine -# # ports: -# # - 443:443 -# # - 80:80 -# # volumes: -# # - ./etc/nginx.conf:/etc/nginx/nginx.conf -# # - ./data:/var/www - - -# ### Example: run all your ArchiveBox traffic through a WireGuard VPN tunnel - -# # wireguard: -# # image: linuxserver/wireguard:latest -# # network_mode: 'service:archivebox' -# # cap_add: -# # - NET_ADMIN -# # - SYS_MODULE -# # sysctls: -# # - net.ipv4.conf.all.rp_filter=2 -# # - net.ipv4.conf.all.src_valid_mark=1 -# # volumes: -# # - /lib/modules:/lib/modules -# # - ./wireguard.conf:/config/wg0.conf:ro - - -# ### Example: Run PYWB in parallel and auto-import WARCs from ArchiveBox - -# # pywb: -# # image: webrecorder/pywb:latest -# # entrypoint: /bin/sh -c '(wb-manager init default || test $$? -eq 2) && wb-manager add default /archivebox/archive/*/warc/*.warc.gz; wayback;' -# # environment: -# # - INIT_COLLECTION=archivebox -# # ports: -# # - 8080:8080 -# # volumes: -# # - ./data:/archivebox -# # - ./data/wayback:/webarchive - - -# networks: -# traefik: -# external: true - -# # networks: - -# # # network needed for pihole container to offer :53 dns resolving on fixed ip for archivebox container -# # dns: -# # ipam: -# # driver: default -# # config: -# # - subnet: 172.20.0.0/24 + archivebox: + #image: ${DOCKER_IMAGE:-archivebox/archivebox:dev} + image: archivebox/archivebox:dev + command: server --quick-init 0.0.0.0:8000 + ports: + - 8000:8000 + volumes: + - /srv/archive_box:/data