Add postgres/docker-compose-postgres.yml
This commit is contained in:
parent
3942e4c502
commit
c1fe9e19bd
47
postgres/docker-compose-postgres.yml
Normal file
47
postgres/docker-compose-postgres.yml
Normal file
@ -0,0 +1,47 @@
|
|||||||
|
services:
|
||||||
|
postgres:
|
||||||
|
image: ${POSTGRESQL_IMAGE}
|
||||||
|
container_name: ${POSTGRESQL_CONTAINER_NAME}
|
||||||
|
hostname: ${POSTGRESQL_HOSTNAME_NAME}
|
||||||
|
environment:
|
||||||
|
POSTGRES_USER: ${POSTGRES_USER}
|
||||||
|
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
|
||||||
|
POSTGRES_DB: ${POSTGRES_DB}
|
||||||
|
restart: always
|
||||||
|
ports:
|
||||||
|
- "5432:5432"
|
||||||
|
volumes:
|
||||||
|
- ./data:/var/lib/postgresql/data
|
||||||
|
- ./backups:/backups
|
||||||
|
networks:
|
||||||
|
- postgres-network
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
init-db:
|
||||||
|
image: ${POSTGRESQL_IMAGE}
|
||||||
|
container_name: ${INITDB_CONTAINER_NAME}
|
||||||
|
environment:
|
||||||
|
POSTGRES_USER: ${POSTGRES_USER}
|
||||||
|
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
|
||||||
|
POSTGRES_DB: ${POSTGRES_DB}
|
||||||
|
volumes:
|
||||||
|
- ./backups:/backups
|
||||||
|
depends_on:
|
||||||
|
- postgres
|
||||||
|
networks:
|
||||||
|
- postgres-network
|
||||||
|
entrypoint: >
|
||||||
|
bash -c "
|
||||||
|
echo 'Waiting for PostgreSQL to start...';
|
||||||
|
until pg_isready -h postgres -U admin; do sleep 1; done;
|
||||||
|
echo 'Creating database and restoring backup...';
|
||||||
|
psql -h postgres -U admin -c 'CREATE DATABASE mydb;';
|
||||||
|
pg_restore -h postgres -U admin -d mydb /backups/backup.dump;
|
||||||
|
echo 'Backup restored successfully.';
|
||||||
|
"
|
||||||
|
restart: on-failure
|
||||||
|
|
||||||
|
networks:
|
||||||
|
postgres-network:
|
||||||
|
driver: bridge
|
||||||
Loading…
x
Reference in New Issue
Block a user