browsertrix/docker-compose.yml

90 lines
1.5 KiB
YAML

version: '3.5'
services:
backend:
build: ./backend
image: registry.digitalocean.com/btrix/webrecorder/browsertrix-api
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: registry.digitalocean.com/btrix/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
volumes:
btrix-redis-data:
btrix-mongo-data:
btrix-minio-data:
networks:
default:
name: btrix-cloud-net