Ops: set up automatic PostgreSQL backups

オープン
#299 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

評価

難易度
4/5
見積もり時間
3〜5日
初心者へのやさしさ
18/100
issue の種類
機能追加
明瞭さ
おおむね明確
活発さ
静か
技術スタック
docker, docker-compose, postgresql

調査の方向性

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.

索引モデルが issue の本文から書いたものです。

説明

enhancement

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 use POSTGRES_* env; DB likely on external pg_net network).
  • Local/dev: postgres service in root docker-compose.yaml (postgres:17-alpine for 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/ or deployment/ (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
主要言語
Python
スター
1
フォーク
0
平均マージ
1日 20時間
マージ済み PR(30日)
5

環境構築

  • Dockerfile または Docker Compose ファイルあり
  • プルリクエストのテンプレートあり
  • コントリビューションガイドなし

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

pskillen/meshflow-api のほかの issue

pskillen/meshflow-api の issue をすべて見る

似ている issue

Python の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。