docs: sync README and CONTRIBUTING

This commit is contained in:
KakiFilem Team 2026-02-02 19:34:41 +08:00
parent 4381e14583
commit e3bd27bd54
1 changed files with 294 additions and 223 deletions

View File

@ -166,19 +166,90 @@ If you downloaded a prebuilt Docker image archive (`.tar` or `.tar.gz`), you can
```bash ```bash
# Extract the archive (if compressed) # Extract the archive (if compressed)
tar -xzf postgres-to-r2-backup_v1.0.0.tar.gz tar -xzf postgres-to-r2-backup_v1.0.4.tar.gz
# Load the image into Docker # Load the image into Docker
docker load -i postgres-to-r2-backup_v1.0.0.tar docker load -i postgres-to-r2-backup_v1.0.4.tar
# Run the container # Run the container
docker run --env-file .env postgres-to-r2-backup:v1.0.0 docker run --env-file .env postgres-to-r2-backup:v1.0.4
``` ```
> Prebuilt images are architecture-specific (amd64 / arm64). > Prebuilt images are architecture-specific (amd64 / arm64).
--- ---
## 🧰 Using the CLI (Global Installation)
This project can also be used as a standalone CLI tool, installable via pip, in addition to running as a Railway or Docker service.
### Install via pip
```bash
pip install pg-r2-backup
```
### Requirements
- Python 3.9+
- PostgreSQL client tools (`pg_dump`) installed and available in PATH
### Quick Start (CLI)
```bash
mkdir backups
cd backups
pg-r2-backup init # creates .env from .env.example
pg-r2-backup doctor # checks environment and dependencies
pg-r2-backup run # runs a backup immediately
```
### CLI Commands
```bash
pg-r2-backup run # Run backup immediately
pg-r2-backup doctor # Check environment & dependencies
pg-r2-backup config show # Show current configuration
pg-r2-backup init # Create .env from .env.example
pg-r2-backup schedule # Show scheduling examples
pg-r2-backup --version
```
### Environment Variable Resolution (CLI)
When running via the CLI, environment variables are resolved in the following order:
1. A `.env` file in the current working directory (or parent directory)
2. System environment variables
This allows different folders to maintain separate backup configurations.
### Scheduling Backups (CLI)
The CLI does not run a background scheduler. Use your operating system or platform scheduler instead.
**Linux / macOS (cron)**
```bash
0 0 * * * pg-r2-backup run
```
**Windows (Task Scheduler)**
- Program: `pg-r2-backup`
- Arguments: `run`
- Start in: folder containing `.env` (working directory)
**Railway / Docker**
Use the platform's built-in scheduler (recommended).
💡 **Tip**
Run `pg-r2-backup schedule` at any time to see scheduling examples.
---
## 🔐 Security ## 🔐 Security
- **Do not expose PostgreSQL directly to the public internet.** - **Do not expose PostgreSQL directly to the public internet.**