dojopaas
dojopaas copied to clipboard
さくらインターネットからご提供して頂いた計200台のサーバー申請フォームです。README に沿って申請すると、Dojo 向けのサーバーをご利用いいただけます。
DojoPaaS ~ CoderDojo のためのサーバー利用申請手続き
このプロジェクトはさくらインターネット様からご提供いただいた「さくらのクラウド」上の各インスタンス及び、それぞれのサーバーアカウントを管理するためのプロジェクトです。
servers.csv に記載された情報に基づいてGitHub Actions経由で自動的にサーバーが起動します。
📹 解説動画
サーバーを申請する準備から利用申請・削除までの手順を解説する動画を作りました! 「文章だけだと分かりにくい」といった場合にご活用ください ;)
下記の手順を説明する動画となっておりますので、GitHub や公開鍵認証などに慣れている場合は、下記の手順を読みながら直接進めていっても問題ありません 🆗 公開鍵認証がよくわからない場合は「よく分かる公開鍵認証」~初心者でもよくわかる!VPSによるWebサーバー運用講座を読んでみてください 📑👀
1. サーバーがほしい方へ
以下のリンク先にあるCSVに対して必要事項を記入したプルリクエストをお願いします。
https://github.com/coderdojo-japan/dojopaas/blob/master/servers.csv
プルリクエストの例: https://github.com/coderdojo-japan/dojopaas/pull/1
なお、代理での申請も受け付けております。その場合は代表から代理人に移譲された旨をプルリクエストにコメントしていただけると幸いです (参考: 代理申請の例)。
各項目の説明
- name: サーバーの名前。他のものと重複しないようにしてください。FQDNとかがいいかもですね。これはインスタンスの名前に使用されます。
- branch: 道場の名前。アルファベットの小文字でお願いします。これはインスタンスのタグにも使用されます。
- description: サーバーの用途など、後からわかりやすいものをお願いします。
- pubkey: SSHで接続するための公開鍵。秘密鍵とまちがえないようくれぐれもお願いします。
公開鍵のサンプル: https://github.com/miya0001.keys
秘密鍵と公開鍵を間違えない ようお願いします! git push
する前によーくご確認ください。
2. SSHの接続方法
プルリクエストがマージされてから1時間ほど経つと、以下のURLにIPアドレスのリストがコミットされます。その中からご自身が申請したサーバーを探して、そのIPアドレスをSSHコマンドで指定してください。
https://github.com/coderdojo-japan/dojopaas/blob/gh-pages/instances.csv
上記ファイル内に当該サーバーの行が追加されたら、次のような形式で接続できるようになります
$ ssh ubuntu@<ip-address>
または
$ ssh -i <path-to-privatekey> ubuntu@<ip-address>
- ユーザー名はすべて
ubuntu
です。 - プルリクエストの際にご連絡をいただいた公開鍵に対応する秘密鍵がないと接続できません。
- ポート番号は22 (SSH), 80 (HTTP), 443 (HTTPS) のみが空いている状態になります。 詳細は、サーバー生成時に実行されるスタートアップスクリプトをご参照ください。
3. サーバーが不要になったとき
さくらインターネット様からご提供いただいているサーバーの台数には限りがあり、みなさんで共同利用するカタチとなっております。サーバー申請の流れと同じで、申請時に追加した行を servers.csv から削除することでサーバーの使用を停止できます。
- :octocat: サーバー削除の申請例 (#213)
よくある質問と回答
Q. サーバーでどんなことができるの?
A. 例えばマインクラフト用のサーバーを立てることができます!CoderDojo 三島・沼津が用意したマイクラサーバー構築スクリプトがあるので、サーバーに詳しくない方でも手順に沿って進みやすくなっています。興味あればぜひ! :wink:
:octocat: マインクラフトサーバー構築方法 (DojoPaaS利用者向け) - GitHub
Q. サーバーを初期化したい場合はどうすればよいですか?
A. こちらのフォームから依頼してもらえれば! 角カッコ 【】
に依頼する道場名、申請者名、IPアドレスをそれぞれ入力してください。
初期化処理が開始したらステータスが Closed
になるので、2. SSHの接続方法を参考に当該サーバーに接続してみてください。 ( :warning: 初期化すると IP アドレスが変わるのでご注意ください。)
Q. SSH で接続できなくなりました。どうすればよいですか?
A. CoderDojo Japan では各サーバーの管理までは対応しておりません。ただし、サーバーの初期化であれば対応できますので、必要であれば上記リンクから初期化依頼を出していただけると幸いです。
Q. サーバーの知識があまりないです。どうすればよいですか?
A. @manzyun さんが書いてくれた簡易ハンドブックがあります。基本的なポイントだけを押さえておりますので、必要に応じてご参照ください。
Q. 作成されるサーバーの仕様を教えてください
- OS: Ubuntu 20.04 (LTS)
- CPU: 1コア
- メモリ: 1GB
- HDD: 20GB
- リージョン: 石狩第二ゾーン
Q. ooo.coderdojo.jp
のようなサブドメインは使えますか?
A. 以前、実験的にサブドメインを各 Dojo に提供した期間がありましたが、DNSの更新・管理のコストが肥大化し他の業務に支障が出てしまったため、現在は DecaDojo や DojoCon Japan などのケースを除いて、サブドメインの提供には対応しておりません。なお、更新・管理コストの肥大化が原因であるため、DojoPaaS のような自動化が DNS でも実現できれば、受付を再開できる可能性があります。
Q. 開発に貢献する方法を教えてください
ローカルでテストするには以下の要領でお願いします。
環境変数を設定
さくらのクラウドのAPIへの接続に必要な情報を環境変数で設定してください。
export SACLOUD_ACCESS_TOKEN=xxxx
export SACLOUD_ACCESS_TOKEN_SECRET=xxxx
実行
$ gem install
$ bundle exec rake test # 単体のテスト
$ bundle exec ruby scripts/deploy.rb # 本番環境でインスタンスを作成
開発時の注意事項
- 本システムで作成されたすべてのインスタンスには
dojopaas
というタグをつけ、そのタグを利用しています。他の方法で起動したインスタンスにこのタグを付けないでください - CSVのフォーマットに対してもテストを行っています。CI の結果に赤いバツ印がある場合はエラーが出ているということなので、マージする前に原因を調べていただけると幸いです
DojoPaaS 関連記事
- さくらインターネット、子ども向けプログラミング道場「CoderDojo」にサーバー100台を追加支援 〜さくらのクラウド計200台を無料提供〜
- 子ども向けプログラミング道場を推進する一般社団法人 CoderDojo Japan をさくらインターネットが支援、「さくらのクラウド」を無料提供
- CoderDojo を楽しむ 〜 DojoPaaS (さくらのオフライン通信)
- さくらインターネット株式会社様より、全国の #CoderDojo を対象としたサーバー環境 (計100台分) のご支援をしていただくことになりました!
-
さくらのクラウドとGitHub+Travis CIを使ってCoderDojo向けのプルリクドリブンのPaaSサービスを3日で作った!
- :memo: 2021年6月より、Travis CI から GitHub Actions に移行されました 🚜💨
開発・運営
Copyright © 一般社団法人 CoderDojo Japan (@coderdojo-japan).