Ops: set up automatic PostgreSQL backups
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 18/100
- Issue type
- Feature
- Clarity
- Mostly clear
- Activity status
- Quiet
- Tech stack
- docker, docker-compose, postgresql
- Domain
- databases, devops, infrastructure
Research direction
Start by reading the POSTGRES_* settings and the external pg_net network in deployment/portainer/docker-compose.portainer.yaml, then the postgres service in docker-compose.yaml. The approach (pg_dump, pgBackRest, snapshots) is still open, so agree it with the maintainer before writing anything. Done means a scheduled, off-site, encrypted backup with a documented and tested restore, plus an alert on failure.
Written by the indexing model from the issue text.
Description
Goal
Establish automated, restorable backups for the production Meshflow PostgreSQL database (Django/Celery/Channels data).
Context
- Production stack: Portainer compose —
deployment/portainer/docker-compose.portainer.yaml(API/workers usePOSTGRES_*env; DB likely on externalpg_netnetwork). - Local/dev:
postgresservice in rootdocker-compose.yaml(postgres:17-alpinefor dev — production version may differ). - No automated backup process is documented or wired in-repo today.
Scope
- Choose approach: scheduled
pg_dump(custom format + compression), pgBackRest, cloud provider snapshots, or host/volume backup — document rationale - Schedule (e.g. nightly full + optional WAL/archiving if RPO/RTO require it)
- Off-site / off-volume destination (S3-compatible, second host, etc.) — backups on same disk as data are not sufficient
- Retention policy (e.g. 7 daily, 4 weekly)
- Encryption at rest for backup files (if stored outside trust boundary)
- Runbook: restore procedure + tested restore drill on staging (or disposable clone)
- Monitoring/alerting on backup job failure
- Document in
docs/ordeployment/(env vars, cron/compose sidecar, credentials handling — no secrets in git)
Out of scope
- Neo4j backup (separate ticket if needed)
- Redis persistence strategy (separate concern)
Acceptance
- Automated backups run on schedule without manual intervention
- Operator can restore DB to a point in time within agreed RPO using documented steps
- Failed backup run generates an alert or visible log/metric
- Dominant language
- Python
- Stars
- 1
- Forks
- 0
- Avg merge
- 1d 20h
- Merged PRs (30d)
- 5
Getting set up
- Ships a Dockerfile or Docker Compose file
- Has a pull request template
- No contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from pskillen/meshflow-api
-
enhancement meshtastic-2.8
Difficulty 2/5 1-3 hours Newbie friendliness 62/100
pskillen/meshflow-api#459 ·
-
enhancement meshtastic-2.8
Difficulty 3/5 1-2 days Newbie friendliness 35/100
pskillen/meshflow-api#465 ·
-
enhancement meshtastic-2.8
Difficulty 4/5 3-5 days Newbie friendliness 22/100
pskillen/meshflow-api#464 ·
-
enhancement meshtastic-2.8
Difficulty 4/5 3-5 days Newbie friendliness 35/100
pskillen/meshflow-api#463 ·
-
enhancement meshtastic-2.8
Difficulty 3/5 1-2 days Newbie friendliness 45/100
pskillen/meshflow-api#462 ·
All issues in pskillen/meshflow-api
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
Maintainers usually reply within 1 day
-
enhancement good first issue
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
elviskahoro/sdk-python-attio#144 · 1 comment ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
Maintainers usually reply within 1 day
-
RenyiELBO raises TypeError when model has no sample sitesPossibly taken @alibb007 claimed this today. Open
Difficulty 1/5 Under an hour Newbie friendliness 85/100
Maintainers usually reply within 1 day
-
[Bug]: Four evaluation scripts unpack init_memmachine_params's five return values into three namesOpen
Difficulty 1/5 Under an hour Newbie friendliness 88/100
MemMachine/MemMachine#1911 ·
Maintainers usually reply within 3 days