szurubooru/docker-compose.yml
2018-12-22 12:31:25 +01:00

64 lines
1.7 KiB
YAML

## Example Docker Compose configuration
##
## Use this as a template to set up docker-compose, or as guide to set up other
## orchestration services
version: '2'
services:
api:
build:
context: ./server
depends_on:
- sql
- elasticsearch
environment:
## These should be the names of the dependent containers listed above,
## or FQDNs/IP addresses if these services are running outside of Docker
POSTGRES_HOST: sql
ESEARCH_HOST: elasticsearch
## Credentials for database:
POSTGRES_USER:
POSTGRES_PASSWORD:
## Commented Values are Default:
#POSTGRES_DB: defaults to same as POSTGRES_USER
#POSTGRES_PORT: 5432
#ESEARCH_PORT: 9200
#ESEARCH_INDEX: szurubooru
#LOG_SQL: 0 (1 for verbose SQL logs)
volumes:
- "${MOUNT_DATA}:/data"
- "./server/config.yaml:/opt/app/config.yaml"
client:
build:
context: ./client
args:
BUILD_INFO:
depends_on:
- api
environment:
BACKEND_HOST: api
volumes:
- "${MOUNT_DATA}:/data:ro"
ports:
- "${PORT}:80"
sql:
image: postgres:alpine
restart: unless-stopped
environment:
POSTGRES_USER:
POSTGRES_PASSWORD:
volumes:
- "${MOUNT_SQL}:/var/lib/postgresql/data"
elasticsearch:
image: docker.elastic.co/elasticsearch/elasticsearch-oss:6.3.1
environment:
## Specifies the Java heap size used
## Read
## https://www.elastic.co/guide/en/elasticsearch/reference/current/docker.html
## for more info
ES_JAVA_OPTS: -Xms512m -Xmx512m
volumes:
- index:/usr/share/elasticsearch/data
volumes:
index: # Scratch space for ElasticSearch index, will be rebuilt if lost