{"id":24772546,"url":"https://github.com/saulotarsobc/pg-bkp-restore","last_synced_at":"2026-05-06T00:36:25.916Z","repository":{"id":274714556,"uuid":"923838323","full_name":"saulotarsobc/pg-bkp-restore","owner":"saulotarsobc","description":"Essa imagem Docker foi projetada para realizar backup e restauração de bancos de dados PostgreSQL de forma simples e eficiente. A automação é feita através de um script que utiliza pg_dump e pg_restore, com suporte tanto para ambientes de produção quanto de desenvolvimento.","archived":false,"fork":false,"pushed_at":"2025-02-18T23:33:44.000Z","size":15,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-02-19T00:27:55.270Z","etag":null,"topics":["backup","docker","job","postgresql","task","ubuntu"],"latest_commit_sha":null,"homepage":"https://hub.docker.com/repository/docker/saulotarsobc/pg-bkp-restore/general","language":"PowerShell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/saulotarsobc.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-01-28T22:55:00.000Z","updated_at":"2025-02-18T23:33:48.000Z","dependencies_parsed_at":null,"dependency_job_id":"1d6f277f-0a3b-4da5-b489-684808bc7708","html_url":"https://github.com/saulotarsobc/pg-bkp-restore","commit_stats":null,"previous_names":["saulotarsobc/pg-bkp-restore"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/saulotarsobc%2Fpg-bkp-restore","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/saulotarsobc%2Fpg-bkp-restore/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/saulotarsobc%2Fpg-bkp-restore/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/saulotarsobc%2Fpg-bkp-restore/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/saulotarsobc","download_url":"https://codeload.github.com/saulotarsobc/pg-bkp-restore/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245168813,"owners_count":20571799,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["backup","docker","job","postgresql","task","ubuntu"],"created_at":"2025-01-29T04:23:18.258Z","updated_at":"2025-10-27T14:17:14.026Z","avatar_url":"https://github.com/saulotarsobc.png","language":"PowerShell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 📦 pg-bkp-restore: Backup e Restauração de PostgreSQL com Docker\n\n[![GitHub Stars](https://img.shields.io/github/stars/saulotarsobc/pg-bkp-restore.svg)](https://github.com/saulotarsobc/pg-bkp-restore/stargazers)\n[![GitHub Issues](https://img.shields.io/github/issues/saulotarsobc/pg-bkp-restore.svg)](https://github.com/saulotarsobc/pg-bkp-restore/issues)\n[![GitHub Forks](https://img.shields.io/github/forks/saulotarsobc/pg-bkp-restore.svg)](https://github.com/saulotarsobc/pg-bkp-restore/network)\n[![GitHub Last Commit](https://img.shields.io/github/last-commit/saulotarsobc/pg-bkp-restore.svg)](https://github.com/saulotarsobc/pg-bkp-restore/commits)\n\n## 📌 Visão Geral\n\nEsta imagem Docker facilita **backup** e **restauração** de bancos de dados PostgreSQL de maneira automatizada.  \nEla utiliza `pg_dump` para criar backups e `pg_restore` para restauração.\n\n### 🔥 Funcionalidades\n\n✔️ **Backup automático** com `pg_dump`  \n✔️ **Restauração automatizada** com `pg_restore`  \n✔️ **Configuração via variáveis de ambiente**  \n✔️ **Persistência dos arquivos de backup** com volumes Docker\n\n---\n\n## 🚀 Como Usar\n\n### 🔧 Pré-requisitos\n\n- Docker instalado em seu ambiente\n- Banco de dados PostgreSQL configurado\n\n---\n\n### 🛠️ Configuração com `docker-compose`\n\nCrie um arquivo **docker-compose.yaml** e adicione:\n\n```yaml\nservices:\n  pg-bkp-restore:\n    image: saulotarsobc/pg-bkp-restore:latest\n    container_name: pg-bkp-restore\n    restart: no\n    volumes:\n      - ./data/files:/files\n    environment:\n      - SRC_DB_HOST=my-database.com.br\n      - SRC_DB_PORT=5435\n      - SRC_DB_USER=postgres\n      - SRC_DB_PASS=superPassword\n      - SRC_DB_NAME=my-db\n      - DEST_DB_HOST=my-another-database.com.br\n      - DEST_DB_PORT=5432\n      - DEST_DB_USER=postgres\n      - DEST_DB_PASS=superPassword\n      - DEST_DB_NAME=my-another-db\n      - DO_BACKUP=1 # 1 = Backup ativo, 0 = Desativado\n      - DO_RESTORE=1 # 1 = Restauração ativa, 0 = Desativado\n```\n\nApós criar o arquivo, inicie o serviço:\n\n```bash\ndocker-compose up -d\n```\n\n---\n\n### ▶️ Execução Manual\n\nVocê também pode rodar o container sem `docker-compose`:\n\n```bash\ndocker run -v $(pwd)/data/files:/files \\\n  -e SRC_DB_HOST=my-database.com.br \\\n  -e SRC_DB_PORT=5435 \\\n  -e SRC_DB_USER=postgres \\\n  -e SRC_DB_PASS=superPassword \\\n  -e SRC_DB_NAME=my-db \\\n  -e DEST_DB_HOST=my-another-database.com.br \\\n  -e DEST_DB_PORT=5432 \\\n  -e DEST_DB_USER=postgres \\\n  -e DEST_DB_PASS=superPassword \\\n  -e DEST_DB_NAME=my-another-db \\\n  -e DO_BACKUP=1 \\\n  -e DO_RESTORE=1 \\\n  saulotarsobc/pg-bkp-restore:latest\n```\n\n---\n\n## 🌍 Variáveis de Ambiente\n\n| Variável       | Descrição                           | Exemplo                      |\n| -------------- | ----------------------------------- | ---------------------------- |\n| `SRC_DB_HOST`  | Host do banco de origem             | `my-database.com.br`         |\n| `SRC_DB_PORT`  | Porta do banco de origem            | `5435`                       |\n| `SRC_DB_USER`  | Usuário do banco de origem          | `postgres`                   |\n| `SRC_DB_PASS`  | Senha do banco de origem            | `superPassword`              |\n| `SRC_DB_NAME`  | Nome do banco de origem             | `my-db`                      |\n| `DEST_DB_HOST` | Host do banco de destino            | `my-another-database.com.br` |\n| `DEST_DB_PORT` | Porta do banco de destino           | `5432`                       |\n| `DEST_DB_USER` | Usuário do banco de destino         | `postgres`                   |\n| `DEST_DB_PASS` | Senha do banco de destino           | `superPassword`              |\n| `DEST_DB_NAME` | Nome do banco de destino            | `my-another-db`              |\n| `DO_BACKUP`    | Ativar backup (1: Sim, 0: Não)      | `1`                          |\n| `DO_RESTORE`   | Ativar restauração (1: Sim, 0: Não) | `1`                          |\n\n---\n\n## 📂 Estrutura do Projeto\n\n- **`Dockerfile`** → Configuração da imagem Docker\n- **`script.sh`** → Script de backup/restauração\n- **`docker-compose.yaml`** → Configuração para `docker-compose`\n- **`/files`** → Diretório para armazenar backups\n\n---\n\n## 🔄 Como Funciona\n\n1️⃣ Se `DO_BACKUP=1`, o container cria um **backup** usando `pg_dump`.  \n2️⃣ Se `DO_RESTORE=1`, o container **restaura** um backup existente com `pg_restore`.  \n3️⃣ Os arquivos de backup são armazenados no diretório `/files`.\n\n---\n\n## 📝 Licença\n\nEste projeto é distribuído sob a licença **MIT**.\n\n🔗 Contribua ou reporte problemas no repositório oficial:  \n[👉 GitHub - pg-bkp-restore](https://github.com/saulotarsobc/pg-bkp-restore)\n\n🚀 **Happy coding!** 🚀\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsaulotarsobc%2Fpg-bkp-restore","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsaulotarsobc%2Fpg-bkp-restore","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsaulotarsobc%2Fpg-bkp-restore/lists"}