Git Product home page Git Product logo

manzyun / dojopaas Goto Github PK

View Code? Open in Web Editor NEW

This project forked from coderdojo-japan/dojopaas

0.0 1.0 0.0 707 KB

さくらインターネットからご提供していただいているサーバーの申請フォームのクローンリポジトリです。ドキュメントの編集をやってたりします。

Home Page: https://github.com/coderdojo-japan/dojopaas#dojopaas

License: MIT License

Shell 12.88% JavaScript 87.12%

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. サーバーが不要になったとき

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

もしサーバーが不要になった場合は、こちらのフォームよりその旨を申請していただけると嬉しいです 😌 💖

よくある質問と回答

Q. サーバーでどんなことができるの?

A. 例えばマインクラフト用のサーバーを立てることができます!CoderDojo 三島・沼津が用意したマイクラサーバー構築スクリプトがあるので、サーバーに詳しくない方でも手順に沿って進みやすくなっています。興味あればぜひ! 😉

:octocat: マインクラフトサーバー構築方法 (DojoPaaS利用者向け) - GitHub

Q. サーバーに接続できなくなった場合はどうすればよいですか?

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

Q. サーバーを初期化したい場合はどうすればよいですか?

A. こちらのフォームから依頼してもらえれば! 角カッコ 【】 に依頼する道場名、申請者名、IPアドレスをそれぞれ入力してください。 ( ⚠️ 初期化すると IP アドレスが変わるのでご注意ください)

Q. SSH で接続できなくなりました。どうすればよいですか?

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

Q. サーバーの知識があまりないです。どうすればよいですか?

A. @manzyun さんが書いてくれた簡易ハンドブックがあります。基本的なポイントだけを押さえておりますので、必要に応じてご参照ください。

Q. 作成されるサーバーの仕様を教えてください

  • OS: Ubuntu 16.04
  • CPU: 1コア
  • メモリ: 1GB
  • HDD: 20GB
  • リージョン: 石狩第二ゾーン

Q. 開発に貢献する方法を教えてください

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

環境変数を設定

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

export SACLOUD_ACCESS_TOKEN=xxxx
export SACLOUD_ACCESS_TOKEN_SECRET=xxxx

実行

$ gem install
$ bundle exec rake test # 単体のテスト
$ bundle exec ruby ruby_scripts/deploy.rb # 本番環境でインスタンスを作成

開発時の注意事項

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

DojoPaaS 関連記事

開発・運営

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

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.