Add postgres/docker-compose-postgres.yml

This commit is contained in:
pashko 2025-03-19 17:03:23 +08:00
parent 3942e4c502
commit c1fe9e19bd

View 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