Hostname support for backup container
まだ誰も着手していません。
評価
- 難易度
- 2/5
- 見積もり時間
- 1〜3時間
- 初心者へのやさしさ
- 48/100
- issue の種類
- 機能追加
- 明瞭さ
- 明確に書かれている
- 活発さ
- 停滞
- 技術スタック
- docker, docker-compose, python
調査の方向性
src/restic_compose_backup/containers.py の 410 行目付近から始めます。ここでは Docker のメタデータからバックアップコンテナを特定しています。issue に示されているカスタムホスト名で失敗を再現し、その後、デフォルトの ID ベースのセットアップとホスト名ベースのセットアップの両方で、メタデータエラーなしにバックアップコンテナを見つけられることを確認します。
索引モデルが issue の本文から書いたものです。
説明
Hi 👋 ,
currently, stack-back identifies its own container by checking if the container ID starts with the hostname:
if container_data.get("Id").startswith(socket.gethostname()):
self.this_container = Container(container_data)
This works fine when using Docker's default behavior (hostname = container ID prefix), but fails when a custom hostname is set , for example in docker-compose.yml:
services:
backup:
hostname: "${COMPOSE_PROJECT_NAME}-backup"
This results in the error:
ValueError: Cannot find metadata for backup container
Use Case
Setting a custom hostname like ${COMPOSE_PROJECT_NAME}-backup is useful for:
- Consistent identification across container restarts
- Better monitoring and metrics (e.g., in Prometheus/Grafana)
- More readable hostnames in logs and dashboards
Proposed Solution
Extend the container detection logic to support both the original ID-based method and hostname-based detection:
for container_data in all_containers:
container_id = container_data.get("Id", "")
container_hostname = container_data.get("Config", {}).get("Hostname", "")
if container_id.startswith(socket.gethostname()) or container_hostname == socket.gethostname():
self.this_container = Container(container_data)
break
Benefits
- Maintains backward compatibility with existing setups
- Allows users to set custom hostnames for better monitoring
- No breaking changes to current functionality
- 主要言語
- Python
- スター
- 182
- フォーク
- 16
- PR マージ指標
- 30日以内にマージされた PR はありません
環境構築
このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
lawndoc/stack-back のほかの issue
-
難易度 1/5 1時間未満 初心者へのやさしさ 90/100
lawndoc/stack-back#125 ·
-
難易度 3/5 1〜2日 初心者へのやさしさ 48/100
lawndoc/stack-back#128 ·
-
Maintenance Questionオープン
難易度 1/5 1時間未満 初心者へのやさしさ 20/100
lawndoc/stack-back#119 ·
-
難易度 4/5 3〜5日 初心者へのやさしさ 48/100
lawndoc/stack-back#115 ·
-
Feature request: Atomic backup mode for single snapshot for volumes + databases対応中かも このイシューにリンクされたプルリクエストがオープン中、またはマージ済みです。 オープン
難易度 4/5 3〜5日 初心者へのやさしさ 45/100
lawndoc/stack-back#110 · コメント 1 件 ·
lawndoc/stack-back の issue をすべて見る
似ている issue
-
bump patch
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
autowarefoundation/autoware_carla_scenario#1321 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
メンテナーはふだん 1 日以内に返信
-
難易度 1/5 1〜3時間 初心者へのやさしさ 78/100
QuantConnect/Documentation#2838 ·
メンテナーはふだん 1 日以内に返信
-
get_all_subclasses must deduplicate by class identity対応中かも @Gambit-Checkmate が今日担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
メンテナーはふだん 15 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100
awslabs/route53-dynamic-dns-with-lambda#67 · コメント 1 件 ·