世界を動かす技術を、日本語で。

Show HN: Canine – Kubernetes上に構築されたHerokuの代替品

2025年6月17日原文(github.com)

概要

Canine は、Kubernetesクラスタ用の 直感的なデプロイメントプラットフォームDockerDocker Compose の最新バージョンが必要。 インストール手順 はシンプルで、カスタマイズも可能。 Canine Cloud でチーム機能やGitHub連携など拡張機能を提供。 オープンソース で、コスト削減や運用効率化を実現。

Canine プロジェクト概要

  • Canine は、Kubernetesクラスタ向けの 簡単かつ直感的なデプロイメントプラットフォーム
  • オープンソース プロジェクトで、GitHubリポジトリにて公開
  • HerokuRenderFly.io などのクラウドサービスの高コストを回避可能
  • Hetzner などの低コストVPS環境での運用を容易化
  • Helmチャート による多様なOSSの迅速デプロイに対応
    • 例: PostgresRedisVPNエンドポイントトラッキングサーバー など

必要要件

  • Docker v24.0.0以上 のインストール
  • Docker Compose v2.0.0以上 のインストール

インストール方法

  • 推奨: ワンライナーコマンド による自動インストール

    curl -sSL https://raw.githubusercontent.com/czhu12/canine/refs/heads/main/install/install.sh | bash
    
  • 手動インストール手順

    git clone https://github.com/czhu12/canine.git
    cd canine/install
    docker compose up -d
    
  • Web UIhttp://localhost:3000 でアクセス
  • ポート変更は PORT環境変数 で指定可能
    • 例:PORT=3456 docker compose up -d

Canine Cloud の特徴

  • GitHub連携 によるシームレスなデプロイワークフロー
  • チームコラボレーションロールベースアクセス制御
  • リアルタイムメトリクストラッキング監視機能
  • 運用保守負担の大幅軽減
  • 詳細・価格情報は 公式サイト https://canine.sh を参照

ライセンス・リポジトリ情報

開発者からのメッセージ

  • Heroku 等クラウドサービスの高額コストに悩み、 自作プラットフォーム を開発
  • Hetzner 移行でコスト劇的削減(例:4GBマシンで$4/月)
  • DNS管理SSL証明書管理チーム管理GitHub連携 などの課題をCanineで解決
  • 1年かけて開発 し、Kubernetes初心者にも扱いやすい設計を実現

まとめ

  • Canine は低コスト・高機能なKubernetesデプロイメントを実現
  • OSS として誰でも利用・拡張が可能
  • クラウド版 でチームやCI/CD連携等の追加機能も提供

Hackerたちの意見

これも追加したいな。今まで作ったプロジェクトの中で、これが一番楽しかったよ。全体の「テックスタック」を自分で持つのは、すごく満足感がある。Railsアプリ、Canineインフラ、Raspberry Piサーバー、そして自分のISP。いくつかのプロジェクトでアプリを動かすために、これらのテックスタックをうまく組み合わせたんだ。

野良のPaaSプラットフォームのリストを維持してるよ - https://github.com/debarshibasak/awesome-paas

ああ、これに提出するのを探してたんだ。ありがとう、PRを提出するよ!

dokkuはVPSでも動かせるミニマルなPaaSだよ。dokku-scheduler-kubernetesもあるよ:https://github.com/dokku/dokku-scheduler-kubernetes でも、Helmチャートのサポートはないみたい。クラウドコンピューティングアーキテクチャ > SaaS、DaaS、PaaS、IaaSへのリンク:https://en.wikipedia.org/wiki/Cloud_computing_architecture クラウドコンピューティングの比較:https://en.wikipedia.org/wiki/Cloud-computing_comparison カテゴリー:クラウドプラットフォーム:https://en.wikipedia.org/wiki/Category:Cloud_platforms awesome-selfhostedにはサーバーレス/FaaSカテゴリーがあって、awesome-sysadminにリンクしてるよ > PaaS: https://github.com/awesome-selfhosted/awesome-selfhosted#sof...

すごくクールだね。自己ホスティングのために似たようなことを考えてたけど、DockerとKubernetesの間の何かを探してたんだ。Nomadは良さそうに見えたけど、やっぱり超シンプルなDockerに比べるとちょっと手間がかかるし、エコシステムも不足してる。結局、Dockerを使うことにしたけど、アップグレードの時にダウンタイムが出るのは個人のホームサーバーには問題ないかな。でも、プロダクションサービスの場合、CanineはK8sのどれくらいを本当に抽象化してるんだろう?中を覗く必要があるのかな?K8sの専門家じゃないけど、この二つの間にちょうどいいバランスがないのか気になる。

実は、DockerとKubernetesの間にあるものを作ってるんだ: https://github.com/psviderski/uncloud。あなたと同じように、運用のオーバーヘッドなしでその中間を求めてた。基本的には、DockerっぽいCLIとDocker Composeを使って、マルチマシンと本番機能を持ってるけど、管理するコントロールプレーンはないんだ。まだ開発中だけど、各レイヤーで何が起こっているかを簡単に理解できて、トラブルシューティングもできるようにシンプルさを保つのが目標だよ。

コンセプトが気に入った!K8sは素晴らしい技術だけど、圧倒的な複雑さに悩まされてるね(x86仮想化の初期の頃を思い出す)。君の文献を見てると、K8sをもっと多くのシナリオで活用するために必要な基本をしっかり理解してるみたいだね。特にPVE、Microcloud、Cockpitが自己ホスティングの中で人気になるかもしれないところで。家に余ってるN100 NUCが未完成のMicrocloudインストールで放置されてるから、それを取り外してCanineを試してみようかな!

この複雑さがどこから来てるのか、もうわからないよ。昔はK8sクラスターを作るのに2時間かかるkubesprayを使ってたけど、今はrkeみたいなもので一つのyamlファイルとSSHキーだけで済むからね。

時々、helmがちょっと扱いにくいと感じることがあるんだよね。values.yamlファイルにアップデートを適用すると、どれが適用されるか、どれが起動時に設定する必要があるかが予測できなくなることがあるし。あと、helmのインストールによって大量のサービスがデプロイされることもあって、どれをいつ再起動しても大丈夫か混乱しちゃう。でも、コアのKubernetesはいつも楽しく使えてるよ、特にステートレスなジョブには最高だね。

まず、こういうものが存在して素晴らしくなってほしいから、頑張ってほしい!今のところ、これかDokploy(Docker Swarmは過小評価されてる)を考えてる。ちょっとしたフィードバックだけど、「Canineを使うべきでない理由」のセクションは、実際には僕にとってマイナスだよ。欠点を挙げるのはクールだと思ったけど、皮肉っぽいことを言っててちょっとイライラした。もっと率直に言った方がいいと思うよ。サーバーを購入して管理する必要があるし、ダウンしたら責任を持たなきゃいけないし、これは一人の人間が作った初期の製品だってことを。

両方のポイントに100%同意!

ハハ、他のランディングページと違うことをしようとしたのに、また失敗しちゃった。もう一度挑戦するけど、フィードバックありがとう!

Hacker Newsで議論の続きを見る