/
tsargrad
/
postgresql-cluster
Обзор
Документация
Войти
/
tsargrad
/
postgresql-cluster
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
docker-compose.yml
182 строки
5 KB
tsargrad
update docker-compose.yml
26 дек 2025, 12:44
26 дек 2025, 12:44
c88bf2a
Код
Авторство
О чём код?
version: '3.8' services: etcd-1: image: quay.io/coreos/etcd:v3.5.5 container_name: etcd-1 hostname: etcd-1 environment: ETCD_NAME: etcd-1 ETCD_INITIAL_ADVERTISE_PEER_URLS: http://etcd-1: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://etcd-1:2379 ETCD_INITIAL_CLUSTER: etcd-1=http://etcd-1:2380,etcd-2=http://etcd-2:2380,etcd-3=http://etcd-3:2380 ETCD_INITIAL_CLUSTER_STATE: new ETCD_INITIAL_CLUSTER_TOKEN: pg-cluster-token volumes: - etcd1:/etcd-data ports: - "2379:2379" - "2380:2380" networks: - pg-cluster restart: unless-stopped etcd-2: image: quay.io/coreos/etcd:v3.5.5 container_name: etcd-2 hostname: etcd-2 environment: ETCD_NAME: etcd-2 ETCD_INITIAL_ADVERTISE_PEER_URLS: http://etcd-2: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://etcd-2:2379 ETCD_INITIAL_CLUSTER: etcd-1=http://etcd-1:2380,etcd-2=http://etcd-2:2380,etcd-3=http://etcd-3:2380 ETCD_INITIAL_CLUSTER_STATE: new ETCD_INITIAL_CLUSTER_TOKEN: pg-cluster-token volumes: - etcd2:/etcd-data ports: - "2381:2379" - "2382:2380" networks: - pg-cluster restart: unless-stopped etcd-3: image: quay.io/coreos/etcd:v3.5.5 container_name: etcd-3 hostname: etcd-3 environment: ETCD_NAME: etcd-3 ETCD_INITIAL_ADVERTISE_PEER_URLS: http://etcd-3: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://etcd-3:2379 ETCD_INITIAL_CLUSTER: etcd-1=http://etcd-1:2380,etcd-2=http://etcd-2:2380,etcd-3=http://etcd-3:2380 ETCD_INITIAL_CLUSTER_STATE: new ETCD_INITIAL_CLUSTER_TOKEN: pg-cluster-token volumes: - etcd3:/etcd-data ports: - "2383:2379" - "2384:2380" networks: - pg-cluster restart: unless-stopped pg-node-1: build: context: . dockerfile: Dockerfile.patroni container_name: pg-node-1 hostname: pg-node-1 environment: PATRONI_NAME: pg-node-1 PATRONI_SCOPE: pg-cluster PATRONI_RESTAPI_CONNECT_ADDRESS: pg-node-1:8008 PATRONI_POSTGRESQL_CONNECT_ADDRESS: pg-node-1:5432 PATRONI_ETCD3_HOSTS: "etcd-1:2379,etcd-2:2379,etcd-3:2379" PATRONI_REPLICATION_USERNAME: replicator PATRONI_REPLICATION_PASSWORD: replicator123 PATRONI_SUPERUSER_USERNAME: postgres PATRONI_SUPERUSER_PASSWORD: postgres volumes: - pgdata1:/var/lib/postgresql/data - ./patroni/patroni-node1.yml:/etc/patroni/patroni.yml - ./pgbackrest/pgbackrest.conf:/etc/pgbackrest/pgbackrest.conf ports: - "5431:5432" - "8008:8008" networks: - pg-cluster restart: unless-stopped pg-node-2: build: context: . dockerfile: Dockerfile.patroni container_name: pg-node-2 hostname: pg-node-2 environment: PATRONI_NAME: pg-node-2 PATRONI_SCOPE: pg-cluster PATRONI_RESTAPI_CONNECT_ADDRESS: pg-node-2:8008 PATRONI_POSTGRESQL_CONNECT_ADDRESS: pg-node-2:5432 PATRONI_ETCD3_HOSTS: "etcd-1:2379,etcd-2:2379,etcd-3:2379" PATRONI_REPLICATION_USERNAME: replicator PATRONI_REPLICATION_PASSWORD: replicator123 PATRONI_SUPERUSER_USERNAME: postgres PATRONI_SUPERUSER_PASSWORD: postgres volumes: - pgdata2:/var/lib/postgresql/data - ./patroni/patroni-node2.yml:/etc/patroni/patroni.yml - ./pgbackrest/pgbackrest.conf:/etc/pgbackrest/pgbackrest.conf ports: - "5432:5432" - "8009:8008" networks: - pg-cluster restart: unless-stopped pg-node-3: build: context: . dockerfile: Dockerfile.patroni container_name: pg-node-3 hostname: pg-node-3 environment: PATRONI_NAME: pg-node-3 PATRONI_SCOPE: pg-cluster PATRONI_RESTAPI_CONNECT_ADDRESS: pg-node-3:8008 PATRONI_POSTGRESQL_CONNECT_ADDRESS: pg-node-3:5432 PATRONI_ETCD3_HOSTS: "etcd-1:2379,etcd-2:2379,etcd-3:2379" PATRONI_REPLICATION_USERNAME: replicator PATRONI_REPLICATION_PASSWORD: replicator123 PATRONI_SUPERUSER_USERNAME: postgres PATRONI_SUPERUSER_PASSWORD: postgres volumes: - pgdata3:/var/lib/postgresql/data - ./patroni/patroni-node3.yml:/etc/patroni/patroni.yml - ./pgbackrest/pgbackrest.conf:/etc/pgbackrest/pgbackrest.conf ports: - "5433:5432" - "8010:8008" networks: - pg-cluster restart: unless-stopped haproxy: build: context: ./haproxy dockerfile: Dockerfile container_name: haproxy hostname: haproxy volumes: - ./haproxy/haproxy.cfg:/usr/local/etc/haproxy/haproxy.cfg:ro ports: - "54320:5432" - "8404:8404" networks: - pg-cluster restart: unless-stopped volumes: pgdata1: driver: local pgdata2: driver: local pgdata3: driver: local etcd1: driver: local etcd2: driver: local etcd3: driver: local networks: pg-cluster: driver: bridge