Code Monkey home page Code Monkey logo

dojopaas's Introduction

DojoPaaS ~ CoderDojo のためのサーバー利用申請手続き

Build Status

このプロジェクトはさくらインターネット様からご提供いただいた「さくらのクラウド」上の各インスタンス及び、それぞれのサーバーアカウントを管理するためのプロジェクトです。

servers.csv に記載された情報に基づいてTravis CI経由で自動的にサーバーが起動します。

📹 解説動画

サーバーを申請する準備から利用申請・削除までの手順を解説する動画を作りました! 「文章だけだと分かりにくい」といった場合にご活用ください ;)

DojoPaas 解説動画へのリンク

下記の手順を説明する動画となっておりますので、GitHub や公開鍵認証などに慣れている場合は、下記の手順を読みながら直接進めていっても問題ありません 🆗 公開鍵認証がよくわからない場合は「よく分かる公開鍵認証」~初心者でもよくわかる!VPSによるWebサーバー運用講座を読んでみてください 📑👀

1. サーバーがほしい方へ

以下のリンク先にあるCSVに対して必要事項を記入したプルリクエストをお願いします。

https://github.com/coderdojo-japan/dojopaas/blob/master/servers.csv
プルリクエストの例: coderdojo-japan#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-publickey> ubuntu@<ip-address>
  • ユーザー名はすべて ubuntu です。
  • プルリクエストの際にご連絡をいただいた公開鍵に対応する秘密鍵がないと接続できません。
  • ポート番号は22 (SSH), 80 (HTTP), 443 (HTTPS) のみが空いている状態になります。 詳細は、サーバー生成時に実行されるスタートアップスクリプトをご参照ください。

3. サーバーが不要になったとき

さくらインターネット様からご提供いただいているサーバーの台数には限りがあり、みなさんで共同でご利用いただいております。

もしサーバーが不要になった場合は、以下の方法でなるべく早くその旨を申請してください。

削除申請の方法

Pull Requestにて、当該サーバーが記載されている行を削除し、不要になった旨を記述してください。

https://github.com/coderdojo-japan/dojopaas/blob/master/servers.csv
プルリクエストの例: coderdojo-japan#38

xxxx という名前のサーバーの削除をお願いします。

他、参考情報など

よくある質問と回答

Q. サーバーに接続できなくなった場合はどうすればよいですか?
A. こちらのフォームから依頼していただけると管理コンソールから当該サーバーを再起動します。 角カッコ 【】 に依頼する道場名、申請者名、IPアドレスをそれぞれ入力してください。

Q. サーバーを初期化したい場合はどうすればよいですか?
A. こちらのフォームから依頼してもらえれば! 角カッコ 【】 に依頼する道場名、申請者名、IPアドレスをそれぞれ入力してください。

Q. SSH で接続できなくなりました。どうすればよいですか?
A. CoderDojo Japan では各サーバーの管理までは対応しておりません。ただし、サーバーの初期化であれば対応できますので、必要であれば上記リンクから初期化依頼を出していただけると幸いです。

Q. サーバーの知識があまりないです。どうすればよいですか?
A. @manzyun さんが書いてくれた簡易ハンドブックがあります。基本的なポイントだけを押さえておりますので、他の細かなテクニックについては当該ドキュメントの参考文献をご参照ください。

サーバーの仕様

  • OS: Ubuntu 16.04
  • CPU: 1コア
  • メモリ: 1GB
  • HDD: 20GB

管理者向けの情報

  • リージョンは、石狩第二ゾーンです。
  • 本システムで作成されたすべてのインスタンスには dojopaas というタグがついています。他の方法で起動したインスタンスにこのタグを付けないでください。
  • CSVのフォーマットに対してもテストを行っています。赤いバツ印がある場合はエラーが出ているということなので、マージする前に原因を調べる必要があります。

貢献方法

ローカルでテストするには以下の要領でお願いします。

環境変数を設定

さくらのクラウドのAPIへの接続に必要な情報を環境変数で設定してください。

export SACLOUD_ACCESS_TOKEN=xxxx
export SACLOUD_ACCESS_TOKEN_SECRET=xxxx

実行

$ npm install
$ npm test # 単体のテスト
$ npm run test:csv # CSVに対するテスト
$ npm run deploy # サンドボックスにインスタンスを作成
$ npm run deploy -- --production # 本番環境でインスタンスを作成

関連リンク

開発・運営

一般社団法人 CoderDojo Japan
https://coderdojo.jp/

dojopaas's People

Contributors

yasulab avatar miya0001 avatar anatofuz avatar manzyun avatar norifumiogawa avatar kamera25 avatar tkc49 avatar coderdojofujisawa avatar tsujimasahiro avatar togazo avatar takatofu avatar tasslab avatar coderdojomishimanumazu avatar coderdojo-kurume avatar coderdojo-shizuoka avatar coderdojofunabashi avatar gah00501 avatar gohomeouj avatar gohomej avatar honeniq avatar ituyama avatar jinpandy avatar kecbigmt avatar zyasuda avatar kztakaoka avatar nakazgawa avatar naopontan avatar ogom avatar oimus1976 avatar sunabet avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.