FEATURE (readme): Update readme

This commit is contained in:
Rostislav Dugin
2025-06-12 12:37:22 +03:00
parent b16a990cc5
commit 88a91ec6e1
3 changed files with 97 additions and 13 deletions

104
README.md
View File

@@ -1,26 +1,78 @@
<div align="center">
<img src="assets/logo.svg" alt="Postgresus Logo" width="250"/>
<h3>PostgreSQL backup and restore tool</h3>
<p>Free, open source and self-hosted solution for automated PostgreSQL backups with multiple storage options and notifications</p>
<p>
<a href="#-features">Features</a> •
<a href="#-installation">Installation</a> •
<a href="#-usage">Usage</a> •
<a href="#-license">License</a> •
<a href="#-contributing">Contributing</a>
</p>
<img src="assets/dashboard.svg" alt="Postgresus Dashboard" width="800"/>
</div>
# Installation
---
You have 2 ways how to run Postgresus: install via script or manually write docker-compose.yml config.
## ✨ Features
**1) Install Postgresus via script (recommended, Linux only).**
### 🔄 **Scheduled Backups**
It will:
- **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)
- install Docker with Docker Compose
- write docker-compose.yml config
- install cron job to start Postgresus on system reboot
### 🗄️ **Multiple Storage Destinations**
To install, run:
- **Local storage**: Keep backups on your VPS/server
- **Cloud storage**: S3, Google Drive, Dropbox, and more (coming soon)
- **Secure**: All data stays under your control
```
### 📱 **Smart Notifications**
- **Multiple channels**: Email, Telegram, Slack, webhooks (coming soon)
- **Real-time updates**: Success and failure notifications
- **Team integration**: Perfect for DevOps workflows
### 🐘 **PostgreSQL Support**
- **Multiple versions**: PostgreSQL 13, 14, 15, 16, and 17
- **SSL support**: Secure connections available
- **Easy restoration**: One-click restore from any backup
### 🐳 **Self-Hosted & Secure**
- **Docker-based**: Easy deployment and management
- **Privacy-first**: All your data stays on your infrastructure
- **Open source**: MIT licensed, inspect every line of code
---
## 📦 Installation
You have two ways to install Postgresus: via automated script (recommended) or manual Docker Compose setup.
### Option 1: Automated Installation Script (Recommended, Linux only)
The installation script will:
- ✅ Install Docker with Docker Compose (if not already installed)
- ✅ Create optimized `docker-compose.yml` configuration
- ✅ Set up automatic startup on system reboot via cron
```bash
apt-get install -y curl && \
curl -sSL https://raw.githubusercontent.com/RostislavDugin/postgresus/refs/heads/main/install-postgresus.sh | bash
```
**2) Write docker-compose.yml config manually:**
### Option 2: Manual Docker Compose Setup
```
Create a `docker-compose.yml` file with the following configuration:
```yaml
version: "3"
services:
@@ -56,6 +108,32 @@ services:
restart: unless-stopped
```
# Usage
Then run:
Go to http://localhost:4005 to see Postgresus UI
```bash
docker compose up -d
```
---
## 🚀 Usage
1. **Access the dashboard**: Navigate to `http://localhost:4005`
2. **Add first DB for backup**: Click "New Database" and follow the setup wizard
3. **Configure schedule**: Choose from hourly, daily, weekly or monthly intervals
4. **Set database connection**: Enter your PostgreSQL credentials and connection details
5. **Choose storage**: Select where to store your backups (local, S3, Google Drive, etc.)
6. **Add notifications** (optional): Configure email, Telegram, Slack, or webhook notifications
7. **Save and start**: Postgresus will validate settings and begin the backup schedule
---
## 📝 License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
---
## 🤝 Contributing
Contributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.

1
assets/dashboard.svg Normal file

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 728 KiB

5
assets/logo.svg Normal file

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 12 KiB