## 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