Files
docker-compose/postgrecluster/docker-compose1.yml
T

47 lines
1.6 KiB
YAML

services:
etcd:
image: bitnami/etcd:latest
restart: unless-stopped
environment:
- ETCD_NAME=${NODE_NAME}
- ETCD_INITIAL_ADVERTISE_PEER_URLS=http://${NODE_IP}:2380
- ETCD_LISTEN_PEER_URLS=http://0.0.0.0:2380
- ETCD_LISTEN_CLIENT_URLS=http://0.0.0.0:2379
- ETCD_ADVERTISE_CLIENT_URLS=http://${NODE_IP}:2379
- ETCD_INITIAL_CLUSTER=node1=http://${NODE1_IP}:2380,node2=http://${NODE2_IP}:2380,node3=http://${NODE3_IP}:2380
- ETCD_INITIAL_CLUSTER_STATE=new
- ETCD_INITIAL_CLUSTER_TOKEN=patroni-cluster
- ALLOW_NONE_AUTHENTICATION=yes
ports:
- "2379:2379"
- "2380:2380"
volumes:
- etcd_data:/bitnami/etcd
patroni:
image: patroni/patroni:latest
restart: unless-stopped
environment:
- PATRONI_NAME=${NODE_NAME}
- PATRONI_POSTGRESQL_LISTEN=0.0.0.0:5432
- PATRONI_POSTGRESQL_CONNECT_ADDRESS=${NODE_IP}:5432
- PATRONI_RESTAPI_LISTEN=0.0.0.0:8008
- PATRONI_RESTAPI_CONNECT_ADDRESS=${NODE_IP}:8008
- PATRONI_ETCD3_HOSTS=${NODE1_IP}:2379,${NODE2_IP}:2379,${NODE3_IP}:2379
- PATRONI_SUPERUSER_USERNAME=postgres
- PATRONI_SUPERUSER_PASSWORD=${POSTGRES_SUPERUSER_PASSWORD}
- PATRONI_REPLICATION_USERNAME=replicator
- PATRONI_REPLICATION_PASSWORD=${POSTGRES_REPLICATION_PASSWORD}
- PATRONI_SCOPE=authentik-cluster
- PATRONI_POSTGRESQL_DATA_DIR=/data/patroni
ports:
- "5432:5432"
- "8008:8008"
volumes:
- pg_data:/data/patroni
depends_on:
- etcd
volumes:
/data/compose/postgrecluster/etcd_data:
/data/compose/postgrecluster/pg_data: