docker-compose.yml 2.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. # Usage:
  2. # docker-compose up -d
  3. # docker-compose run archivebox init
  4. # echo "https://example.com" | docker-compose run archivebox archivebox add
  5. # docker-compose run archivebox add --depth=1 https://example.com/some/feed.rss
  6. # docker-compose run archivebox config --set PUBLIC_INDEX=True
  7. # Documentation:
  8. # https://github.com/ArchiveBox/ArchiveBox/wiki/Docker#docker-compose
  9. version: '3.7'
  10. services:
  11. archivebox:
  12. # build: .
  13. image: ${DOCKER_IMAGE:-archivebox/archivebox:latest}
  14. command: server 0.0.0.0:8000
  15. stdin_open: true
  16. tty: true
  17. ports:
  18. - 8000:8000
  19. environment:
  20. - USE_COLOR=True
  21. - SHOW_PROGRESS=False
  22. - SEARCH_BACKEND_ENGINE=sonic
  23. - SEARCH_BACKEND_HOST_NAME=sonic
  24. - SEARCH_BACKEND_PASSWORD=SecretPassword
  25. volumes:
  26. - ./data:/data
  27. depends_on:
  28. - sonic
  29. # Run sonic search backend
  30. sonic:
  31. image: valeriansaliou/sonic:v1.3.0
  32. ports:
  33. - 1491:1491
  34. environment:
  35. - SEARCH_BACKEND_PASSWORD=SecretPassword
  36. volumes:
  37. - ./etc/sonic/config.cfg:/etc/sonic.cfg
  38. - ./data:/var/lib/sonic/store/
  39. # Optional Addons: tweak these examples as needed for your specific use case
  40. # Example: Run scheduled imports in a docker instead of using cron on the
  41. # host machine, add tasks and see more info with archivebox schedule --help
  42. # scheduler:
  43. # image: archivebox/archivebox:latest
  44. # command: schedule --foreground --every=day --depth=1 'https://getpocket.com/users/USERNAME/feed/all'
  45. # environment:
  46. # - USE_COLOR=True
  47. # - SHOW_PROGRESS=False
  48. # volumes:
  49. # - ./data:/data
  50. # Example: Put Nginx in front of the ArchiveBox server for SSL termination
  51. # nginx:
  52. # image: nginx:alpine
  53. # ports:
  54. # - 443:443
  55. # - 80:80
  56. # volumes:
  57. # - ./etc/nginx/nginx.conf:/etc/nginx/nginx.conf
  58. # - ./data:/var/www
  59. # Example: run all your ArchiveBox traffic through a WireGuard VPN tunnel
  60. # wireguard:
  61. # image: linuxserver/wireguard
  62. # network_mode: 'service:archivebox'
  63. # cap_add:
  64. # - NET_ADMIN
  65. # - SYS_MODULE
  66. # sysctls:
  67. # - net.ipv4.conf.all.rp_filter=2
  68. # - net.ipv4.conf.all.src_valid_mark=1
  69. # volumes:
  70. # - /lib/modules:/lib/modules
  71. # - ./wireguard.conf:/config/wg0.conf:ro
  72. # Example: Run PYWB in parallel and auto-import WARCs from ArchiveBox
  73. # pywb:
  74. # image: webrecorder/pywb:latest
  75. # entrypoint: /bin/sh 'wb-manager add default /archivebox/archive/*/warc/*.warc.gz; wayback --proxy;'
  76. # environment:
  77. # - INIT_COLLECTION=archivebox
  78. # ports:
  79. # - 8080:8080
  80. # volumes:
  81. # ./data:/archivebox
  82. # ./data/wayback:/webarchive