## 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: server: image: szurubooru/server:latest 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 #ESEARCH_PASSWORD: (empty by default, set if you are using an external # source for elasticsearch and want to use HTTP basic # authentication for security) #ESEARCH_USER: szurubooru (only used if password is set) #LOG_SQL: 0 (1 for verbose SQL logs) volumes: - "${MOUNT_DATA}:/data" - "./server/config.yaml:/opt/app/config.yaml" client: image: szurubooru/client:latest depends_on: - server environment: BACKEND_HOST: server BASE_URL: volumes: - "${MOUNT_DATA}:/data:ro" ports: - "${PORT}:80" sql: image: postgres:11-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 ulimits: nofile: soft: 65536 hard: 65536 volumes: index: # Scratch space for ElasticSearch index, will be rebuilt if lost