browsertrix/docker-compose.yml
Ilya Kreymer c023fe7c9a
Backend API prefix (#240)
* apply /api prefix consistently, both directly through backend and when accessing via frontend, fixes #236

* docs: update local deployment docs to use 9871 instead of 8000, don't expose 8000 by default

* schemas: don't include /openapi.json as /healthz in documentation, keep /healthz at root

* k8s: route backend to /api without additional rewriting
2022-05-31 19:29:20 -07:00

107 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
# enable to expose backend api container directly
# 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
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