Free, open source and self-hosted solution for automated PostgreSQL monitoring and backups. With multiple storage options and notifications
Features • Installation • Usage • License • Contributing
- Flexible scheduling: hourly, daily, weekly, monthly
- Precise timing: run backups at specific times (e.g., 4 AM during low traffic)
- Smart compression: 4-8x space savings with balanced compression (~20% overhead)
- Local storage: Keep backups on your VPS/server
- Cloud storage: S3, Cloudflare R2, Google Drive, NAS, Dropbox and more
- Secure: All data stays under your control
- Multiple channels: Email, Telegram, Slack, Discord, webhooks
- Real-time updates: Success and failure notifications
- Team integration: Perfect for DevOps workflows
- Multiple versions: PostgreSQL 13, 14, 15, 16 and 17
- SSL support: Secure connections available
- Easy restoration: One-click restore from any backup
- Docker-based: Easy deployment and management
- Privacy-first: All your data stays on your infrastructure
- Open source: MIT licensed, inspect every line of code
- Real-time metrics: Track database health
- Historical data: View trends and patterns over time
- Alert system: Get notified when issues are detected
You have three ways to install Postgresus:
- Script (recommended)
- Simple Docker run
- Docker Compose setup
You have three ways to install Postgresus: automated script (recommended), simple Docker run, or Docker Compose setup.
The installation script will:
- ✅ Install Docker with Docker Compose(if not already installed)
- ✅ Set up Postgresus
- ✅ Configure automatic startup on system reboot
sudo apt-get install -y curl && \
sudo curl -sSL https://raw.githubusercontent.com/RostislavDugin/postgresus/refs/heads/main/install-postgresus.sh \
| sudo bash
The easiest way to run Postgresus with embedded PostgreSQL:
docker run -d \
--name postgresus \
-p 4005:4005 \
-v ./postgresus-data:/postgresus-data \
--restart unless-stopped \
rostislavdugin/postgresus:latest
This single command will:
- ✅ Start Postgresus
- ✅ Store all data in
./postgresus-data
directory - ✅ Automatically restart on system reboot
Create a docker-compose.yml
file with the following configuration:
version: "3"
services:
postgresus:
container_name: postgresus
image: rostislavdugin/postgresus:latest
ports:
- "4005:4005"
volumes:
- ./postgresus-data:/postgresus-data
restart: unless-stopped
Then run:
docker compose up -d
- Access the dashboard: Navigate to
http://localhost:4005
- Add first DB for backup: Click "New Database" and follow the setup wizard
- Configure schedule: Choose from hourly, daily, weekly or monthly intervals
- Set database connection: Enter your PostgreSQL credentials and connection details
- Choose storage: Select where to store your backups (local, S3, Google Drive, etc.)
- Add notifications (optional): Configure email, Telegram, Slack, or webhook notifications
- Save and start: Postgresus will validate settings and begin the backup schedule
If you need to reset the admin password, you can use the built-in password reset command:
docker exec -it postgresus ./main --new-password="YourNewSecurePassword123"
This project is licensed under the MIT License - see the LICENSE file for details.
Contributions are welcome! Read contributing guide for more details, prioerities and rules are specified there. If you want to contribute, but don't know what and how - message me on Telegram @rostislav_dugin