diff --git a/README.md b/README.md index a51818e..243728f 100644 --- a/README.md +++ b/README.md @@ -133,6 +133,7 @@ docker compose up - [Ombi](examples/ombi) - Ombi is a tool that enables users to manage requests for movies and TV shows on their Plex server. It provides an easy-to-use interface for users to request new content, leave notes and report issues. Ombi also offers notification and newsletter features, making it easier for server owners to manage user requests and share new content updates. - [LibrePhotos](examples/librephotos) - A self-hosted open source photo management service, with face recognition, geolocation, and more. - [Chevereto](examples/chevereto) - Ultimate image sharing software. Create your very own personal image hosting website in just minutes. +- [Archivebox](examples/archivebox) - ArchiveBox is a powerful, self-hosted internet archiving solution to collect, save, and view websites offline. ### Document Management Systems (DMS) - [Paperless NGX](examples/paperless-ngx) - A community-supported supercharged version of paperless: scan, index and archive all your physical documents. @@ -203,6 +204,7 @@ docker compose up - [Duplicati](examples/duplicati) - Duplicati is a backup client that securely stores encrypted, incremental, compressed remote backups of local files on cloud storage services and remote file servers. - [Duplicacy](examples/duplicacy) - A lock-free deduplication cloud backup tool. - [Syncthing](examples/syncthing) - Syncthing is a continuous file synchronization program. It synchronizes files between two or more computers. +- [Archivebox](examples/archivebox) - ArchiveBox is a powerful, self-hosted internet archiving solution to collect, save, and view websites offline. ### Wiki & Knowledge Base - [Bookstack](examples/bookstack) - BookStack is a free and open-source wiki software aimed for a simple, self-hosted, and easy-to-use platform. diff --git a/examples/archivebox/README.md b/examples/archivebox/README.md new file mode 100644 index 0000000..d6ba8c3 --- /dev/null +++ b/examples/archivebox/README.md @@ -0,0 +1,12 @@ +# References + +- https://github.com/ArchiveBox/ArchiveBox +- https://github.com/ArchiveBox/ArchiveBox/blob/dev/docker-compose.yml + +# Notes + +Before starting the compose stack, ensure that you have downloaded the sonic configuration file, if you plan on using the sonic container. + +Place the config file in the bind volume mount path for sonic. + +The default username and password are: archivebox diff --git a/examples/archivebox/docker-compose.yml b/examples/archivebox/docker-compose.yml new file mode 100644 index 0000000..3254346 --- /dev/null +++ b/examples/archivebox/docker-compose.yml @@ -0,0 +1,72 @@ +version: "3.9" + +services: + archivebox: + image: archivebox/archivebox:dev + container_name: archivebox + command: server --quick-init 0.0.0.0:8000 + restart: unless-stopped + ports: + - 8000:8000 + expose: + - 8000 + volumes: + - ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/archivebox/data:/data # archivebox application data + - ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/archivebox/crontabs:/var/spool/cron/crontabs # archivebox crontab data for scheduled runs + #- ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/archivebox/source-code:/app/archivebox # bind mounts the archivebox source code for development + environment: + # see https://docs.archivebox.io/en/master/Configuration.html for more details + - ADMIN_USERNAME=archivebox # your initial username + - ADMIN_PASSWORD=archivebox # your initial password + - ALLOWED_HOSTS=* + - PUBLIC_INDEX=False + - PUBLIC_SNAPSHOTS=False + - PUBLIC_ADD_VIEW=False + - PUID=1000 + - PGID=1000 + - SEARCH_BACKEND_ENGINE=sonic + - SEARCH_BACKEND_HOST_NAME=sonic + - SEARCH_BACKEND_PASSWORD=deport-silver-showcase-pusher-radiantly + - MEDIA_MAX_SIZE=750m + - TIMEOUT=60 + - CHECK_SSL_VALIDITY=False + - SAVE_ARCHIVE_DOT_ORG=False + #networks: + # - proxy + # - archivebox_default + #labels: + # - traefik.enable=true + # - traefik.docker.network=proxy + # - traefik.http.routers.archivebox.rule=Host(`archive.exmple.com`) + # - traefik.http.services.archivebox.loadbalancer.server.port=8000 + # # Part for optional traefik middlewares + # - traefik.http.routers.archivebox.middlewares=local-ipwhitelist@file + + +### 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 + container_name: archivebox-sonic + expose: + - 1491 + environment: + - SEARCH_BACKEND_PASSWORD=deport-silver-showcase-pusher-radiantly + volumes: + # Example: To run the Sonic full-text search backend, first download the config file to sonic.cfg + # curl https://raw.githubusercontent.com/ArchiveBox/ArchiveBox/master/etc/sonic.cfg -o /mnt/docker-volumes/archivebox/sonic/sonic.cfg + # After starting, backfill any existing Snapshots into the full-text index: + # $ docker-compose run archivebox update --index-only + - ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/archivebox/sonic/sonic.cfg:/etc/sonic.cfg:ro + - ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/archivebox/sonic/store:/var/lib/sonic/store + #networks: + # - archivebox_default + +#networks: +# proxy: +# external: true +# archivebox_default: +# external: false diff --git a/examples/archivebox/sonic.cfg b/examples/archivebox/sonic.cfg new file mode 100644 index 0000000..10d94ea --- /dev/null +++ b/examples/archivebox/sonic.cfg @@ -0,0 +1,66 @@ +# Sonic +# Fast, lightweight and schema-less search backend +# Configuration file +# Example: https://github.com/valeriansaliou/sonic/blob/master/config.cfg + + +[server] + +log_level = "warn" + + +[channel] + +inet = "0.0.0.0:1491" +tcp_timeout = 300 + +auth_password = "${env.SEARCH_BACKEND_PASSWORD}" + +[channel.search] + +query_limit_default = 65535 +query_limit_maximum = 65535 +query_alternates_try = 10 + +suggest_limit_default = 5 +suggest_limit_maximum = 20 + + +[store] + +[store.kv] + +path = "/var/lib/sonic/store/kv/" + +retain_word_objects = 100000 + +[store.kv.pool] + +inactive_after = 1800 + +[store.kv.database] + +flush_after = 900 + +compress = true +parallelism = 2 +max_files = 100 +max_compactions = 1 +max_flushes = 1 +write_buffer = 16384 +write_ahead_log = true + +[store.fst] + +path = "/var/lib/sonic/store/fst/" + +[store.fst.pool] + +inactive_after = 300 + +[store.fst.graph] + +consolidate_after = 180 + +max_size = 2048 +max_words = 250000