szurubooru/docker-compose.yml.example
2018-07-28 17:36:09 +02:00

102 lines
3.4 KiB
Text

## 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:
## Python3 container for backend API
backend:
build:
context: ./server
depends_on:
- sql
- elasticsearch
environment: # Commented Values are Default
## These should be the names of the dependent containers listed above, or
## accessible hostnames/IP addresses if these services are running
## outside of Docker
POSTGRES_HOST: sql
ESEARCH_HOST: elasticsearch
## Credentials for database
POSTGRES_USER: szuru
POSTGRES_PASSWORD: badpass
## Leave commented if using the official postgres container,
## it will default to the value in POSTGRES_USER
#POSTGRES_DB:
## Leave commented if using the default port 5432
#POSTGRES_PORT: 5432
## Leave commented if using the default port 9200
#ESEARCH_PORT: 9200
## Uncomment and change if you want to use a different index
#ESEARCH_INDEX: szurubooru
## Leave commented unless you want verbose SQL in the container logs
#LOG_SQL: 1
volumes:
- data:/data
## If more customizations that are not covered in `config.yaml.dist` are needed
## Comment this line if you are not going
## to supply a YAML file
- ./config.yaml:/opt/config.yaml
## HTTP container for frontend
frontend:
build:
context: ./client
args:
## This shows up on the homescreen, indicating build information
## Change as desired
BUILD_INFO: docker-example
depends_on:
- backend
environment:
## This should be the name of the previous container
BACKEND_HOST: backend
volumes:
- data:/data:ro
ports:
## If you want to expose the website on another port like 80,
## change to 80:80
- 8080:80
## PostgreSQL container for database
sql:
image: postgres:alpine
restart: unless-stopped
environment:
## These should equal the same credentials as used on the first container
POSTGRES_USER: szuru
POSTGRES_PASSWORD: badpass
volumes:
- database:/var/lib/postgresql/data
## ElasticSearch container for image indexing
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:
## IMPORTANT FOR PRODUCTION USE:
## To avoid data loss, you should read and understand how Docker volumes work
## before proceeding. Information can be found on
## https://docs.docker.com/storage/volumes/
## These mounts should be configured with drivers apporpriate for your system.
## For small deployments, bind mounts or using the local-persist driver should
## be fine. Make sure you mount to a directory that is safe and backed up.
## local-persist driver can be found at:
## https://github.com/CWSpear/local-persist
## It is okay to leave these as-is for development or testing purposes
data: # This volume will hold persistant Image and User data for the board
database: # This holds the SQL database
index: # Scratch space for ElasticSearch Index