UNPKG

@decaf-ts/for-couchdb

Version:
108 lines (105 loc) 2.94 kB
services: replica-0: image: ghcr.io/decaf-ts/couchdb:latest hostname: replica-0 container_name: replica-0 restart: always environment: COUCHDB_USER: ${COUCHDB_USER} COUCHDB_PASSWORD: ${COUCHDB_PASSWORD} COUCHDB_SECRET: ${COUCHDB_SECRET} NODENAME: replica-0.${COMPOSE_PROJECT_NAME} ERL_FLAGS: "-setcookie ${COUCHDB_COOKIE}" networks: replicas_net: aliases: - replica-0.${COMPOSE_PROJECT_NAME} ports: - "${PORT_BASE}0:5984" volumes: - couch-replica-0:/opt/couchdb/data - cfg-replica-0:/opt/couchdb/etc/local.d healthcheck: test: curl -f http://localhost:5984/ || exit 1 interval: 3s timeout: 3s retries: 10 replica-1: image: ghcr.io/decaf-ts/couchdb:latest hostname: replica-1 container_name: replica-1 restart: always environment: COUCHDB_USER: ${COUCHDB_USER} COUCHDB_PASSWORD: ${COUCHDB_PASSWORD} COUCHDB_SECRET: ${COUCHDB_SECRET} NODENAME: replica-1.${COMPOSE_PROJECT_NAME} ERL_FLAGS: "-setcookie ${COUCHDB_COOKIE}" networks: replicas_net: aliases: - replica-1.${COMPOSE_PROJECT_NAME} ports: - "${PORT_BASE}1:5984" volumes: - couch-replica-1:/opt/couchdb/data - cfg-replica-1:/opt/couchdb/etc/local.d healthcheck: test: curl -f http://localhost:5984/ || exit 1 interval: 3s timeout: 3s retries: 10 replica-2: image: ghcr.io/decaf-ts/couchdb:latest hostname: replica-2 container_name: replica-2 restart: always environment: COUCHDB_USER: ${COUCHDB_USER} COUCHDB_PASSWORD: ${COUCHDB_PASSWORD} COUCHDB_SECRET: ${COUCHDB_SECRET} NODENAME: replica-2.${COMPOSE_PROJECT_NAME} ERL_FLAGS: "-setcookie ${COUCHDB_COOKIE}" networks: replicas_net: aliases: - replica-2.${COMPOSE_PROJECT_NAME} ports: - "${PORT_BASE}2:5984" volumes: - couch-replica-2:/opt/couchdb/data - cfg-replica-2:/opt/couchdb/etc/local.d healthcheck: test: curl -f http://localhost:5984/ || exit 1 interval: 3s timeout: 3s retries: 10 booter: image: ghcr.io/decaf-ts/couchdb-booter:latest container_name: cluster-booter hostname: cluster-booter restart: on-failure depends_on: replica-0: condition: service_healthy replica-1: condition: service_healthy replica-2: condition: service_healthy networks: replicas_net: aliases: - booter.${COMPOSE_PROJECT_NAME} environment: COORDINATOR_HOST: replica-0.${COMPOSE_PROJECT_NAME} REPLICA1_HOST: replica-1.${COMPOSE_PROJECT_NAME} REPLICA2_HOST: replica-2.${COMPOSE_PROJECT_NAME} networks: replicas_net: volumes: couch-replica-0: cfg-replica-0: couch-replica-1: cfg-replica-1: couch-replica-2: cfg-replica-2: