chore: unify DB env vars and harden local Postgres startup
- Use BAL_SERVER_DB_* / BAL_SERVER_PG_DSN in bal-pusher, Dockerfiles, scripts and docs instead of the BAL_PUSHER_DB_* duplicates - Default BAL_SERVER_URL to http://127.0.0.1:9133 - Extract PostgreSQL container startup into a shared pg-server.sh sourced by bal-server.sh and bal-pusher.sh - Read the Postgres password from BAL_PG_PASSWORD instead of hardcoding it, and stop printing the password-bearing DSN - Redact a real-looking Gitea token from .env.example (revoke it if it was live)
This commit is contained in:
@@ -201,7 +201,7 @@ This is the async daemon that monitors the blockchain and pushes pending transac
|
||||
|
||||
### Configuration
|
||||
All configuration is via environment variables (no config files):
|
||||
- `BAL_PUSHER_DB_FILE`: Path to SQLite database.
|
||||
- `BAL_SERVER_DB_FILE`: Path to SQLite database.
|
||||
- `BAL_PUSHER_BITCOIN_DIR`: Bitcoin data directory (for cookie file path).
|
||||
- `BAL_PUSHER_SEND_STATS`: Enable/disable remote stats reporting.
|
||||
- `BAL_SERVER_URL`: URL of the bal-server for internal communication.
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
|
||||
## Database Technology
|
||||
- **Engine:** `sqlite` (Rust `sqlite` crate, version 0.34.0)
|
||||
- **File:** `bal.db` (default, configurable via `BAL_SERVER_DB_FILE` / `BAL_PUSHER_DB_FILE`)
|
||||
- **File:** `bal.db` (default, configurable via `BAL_SERVER_DB_FILE`)
|
||||
- **Connection Management:** Shared `Arc<Mutex<Connection>>` in `bal-server`, single connection in `bal-pusher`.
|
||||
- **WAL Mode:** Enabled via `PRAGMA journal_mode=WAL` with retry logic (up to 5 attempts) for concurrent access safety.
|
||||
- **Busy Timeout:** Set to 5000ms via `PRAGMA busy_timeout=5000`.
|
||||
|
||||
@@ -56,10 +56,10 @@ Example: `BAL_SERVER_REGTEST_ADDRESS=tpub...`, `BAL_SERVER_BITCOIN_FIXED_FEE=500
|
||||
|
||||
| Variable | Default | Description |
|
||||
|----------|---------|-------------|
|
||||
| `BAL_PUSHER_DB_FILE` | `"bal.db"` | Path to the SQLite database file |
|
||||
| `BAL_SERVER_DB_FILE` | `"bal.db"` | Path to the SQLite database file |
|
||||
| `BAL_PUSHER_BITCOIN_DIR` | `""` | Bitcoin data directory (for cookie file path resolution) |
|
||||
| `BAL_PUSHER_SEND_STATS` | `false` | Enable/disable remote stats reporting |
|
||||
| `BAL_SERVER_URL` | `"http://localhost/"` | URL of the bal-server for internal communication |
|
||||
| `BAL_SERVER_URL` | `"http://127.0.0.1:9133"` | URL of the bal-server for internal communication |
|
||||
| `SSL_KEY_PATH` | `"privkey.pem"` | Path to Ed25519 private key for signing stats |
|
||||
| `BAL_PUSHER_PREFER_IPV6` | `false` | Pin HTTP connection to first IPv6 address (for broken IPv4 routes) |
|
||||
| `WELIST_SERVER_URL` | `"https://welist.bitcoin-after.life"` | URL to POST signed stats to (validated against SSRF) |
|
||||
|
||||
Reference in New Issue
Block a user