# Quickstart: # mkdir -p ~/archivebox/data && cd ~/archivebox # curl -fsSL https://raw.githubusercontent.com/ArchiveBox/docker-archivebox/main/docker-compose.yml -o docker-compose.yml # docker compose pull # docker compose up -d --wait # Open http://admin.archivebox.localhost:5797/admin/ and complete setup. # Docs: https://github.com/ArchiveBox/ArchiveBox/wiki/Docker services: archivebox: image: ${ARCHIVEBOX_IMAGE:-archivebox/archivebox:latest} restart: unless-stopped # Uses the image's server --init command and /health/ healthcheck. ports: - "${ARCHIVEBOX_PORT:-5797}:5797" volumes: # Includes the database, config, archive, personas, logs, and Sonic index. - ./data:/data # Share supervisor sockets with one-off `docker compose run` commands. - tmp:/tmp/archivebox pids_limit: 2048 shm_size: "1gb" environment: - PUID # optional numeric UID; defaults to collection owner or 911 - PGID # optional numeric GID; defaults to collection group or 911 - BASE_URL # optional canonical URL; otherwise set by the first-run wizard - SERVER_SECURITY_MODE # optional override; defaults to auto - PUBLIC_ADD_VIEW=False # - ADMIN_USERNAME=admin # optional unattended first-run admin creation # - ADMIN_PASSWORD=SomeSecretPassword # Other options belong in data/ArchiveBox.conf or Personas in the admin UI. # To enable the optional noVNC service below, uncomment this dependency too. # depends_on: # novnc: # condition: service_healthy # The main server runs queued captures and database-backed scheduled crawls. # No scheduler sidecar or restart is needed after adding a schedule: # docker compose exec archivebox archivebox schedule --add --every=day --depth=1 'https://example.com/feed.xml' # Sonic also runs inside the main container, with its index in /data/sonic. # Rebuild search indexes for existing content: # docker compose exec archivebox archivebox update --index-only # Optional browser viewing/control. Uncomment this service and depends_on above. # The image discovers novnc:0.0 automatically; profiles stay in /data/personas. # Set ARCHIVEBOX_VNC_PERSONA in archivebox.environment to choose a persona. # Visit http://127.0.0.1:8080/vnc.html (noVNC has no authentication). # novnc: # image: theasp/novnc:latest # restart: unless-stopped # environment: # - DISPLAY_WIDTH=1920 # - DISPLAY_HEIGHT=1080 # - RUN_XTERM=no # healthcheck: # test: ["CMD", "xdpyinfo", "-display", ":0"] # interval: 2s # timeout: 2s # retries: 10 # ports: # - "127.0.0.1:8080:8080" # Optional remote archive storage: see README.md for host-mounted S3/B2/R2, # NFS/SMB, or the Rclone Docker volume plugin. Mount only /data/archive remotely; # keep SQLite, personas, logs, and the Sonic index on local storage. volumes: tmp: