browsertrix/docker-compose.yml
Ilya Kreymer 3df310ee4f
Backend: Crawls with Multiple WACZ files + Profile + Misc Fixes (#232)
* backend: k8s:
- support crawls with multiple wacz files, don't assume crawl complete after first wacz uploaded
- if crawl is running and has wacz file, still show as running
- k8s: allow configuring node selector for main pods (eg. nodeType=main) and for crawlers (eg. nodeType=crawling)
- profiles: support uploading to alternate storage specified via 'shared_profile_storage' value is set
- misc fixes for profiles

* backend: ensure docker run_profile api matches k8s
k8s chart: don't delete pvc and pv in helm chart

* dependency: bump authsign to 0.4.0
docker: disable public redis port

* profiles: fix path, profile browser return value

* fix typo in presigned url cacheing
2022-05-19 18:40:41 -07:00

109 lines
1.9 KiB
YAML

version: '3.5'
services:
backend:
build: ./backend
image: webrecorder/browsertrix-backend
volumes:
- /var/run/docker.sock:/var/run/docker.sock
env_file:
- ./configs/config.env
depends_on:
- minio
- mongo
- volume_placeholder_image
ports:
- 8000:8000
frontend:
build: ./frontend
image: webrecorder/browsertrix-frontend
ports:
- 9871:80
depends_on:
- backend
environment:
- BACKEND_HOST=backend
redis:
image: redis
command: redis-server --appendonly yes
#ports:
# - 6379:6379
volumes:
- btrix-redis-data:/data
mongo:
image: mongo
volumes:
- btrix-mongo-data:/data/db
env_file:
- ./configs/config.env
minio:
image: minio/minio
command: ["server", "/data", "--console-address", ":9001"]
ports:
- 9000:9000
- 9001:9001
volumes:
- btrix-minio-data:/data
env_file:
- ./configs/config.env
init_minio_bucket:
image: minio/mc
entrypoint: "/bin/sh"
command: ['-c', 'mc mb local/test-bucket; mc policy set public local/test-bucket' ]
env_file:
- ./configs/config.env
depends_on:
- minio
# adding here to ensure "tianon/true" is pulled, it's used to create volumes with configs
volume_placeholder_image:
image: tianon/true
container_name: volume_placeholder
# enable to support signing of wacz files
# port 80 must be open to automatically generate cert via LetsEncrypt
authsign:
image: webrecorder/authsign:0.4.0
volumes:
- btrix-sign-data:/data
- ./configs/signing.yaml:/app-config/signing.yaml
environment:
- CONFIG=/app-config/signing.yaml
env_file:
- ./configs/config.env
ports:
- 80:80
volumes:
btrix-redis-data:
btrix-mongo-data:
btrix-minio-data:
btrix-sign-data:
networks:
default:
name: btrix-cloud-net