目次
概要
Coder は オンライン版の Visual Studio Code
である.
サーバー上にインストールをすることでクラウド開発環境を簡単に用意できる.
Coder
は起動毎にパスワードを発行することでセキュリティを担保しているが, SSL 通信は自分で設定する必要がある.
Docker
コンテナで稼働させる手もある. しかし, コンテナ内ではコンテナを使用できないため, 使い勝手が悪い.
使うなら適当な VPS
あるいはインスタンスを借りてセルフホスティングすることをお勧めする.もっとも, 開発に Docker
を使用しないのであれば有料ホスティングを使用することが一番手間がかからない.
ちなみに, 余談ではあるが 2019年5月6日に Visual Studio Online が発表されており Microsoft 自身が Visual Studio Code のクラウド対応を行うとのこと. Visual Studio Online の料金体系がどうなるかは分からないが Cloud9 より使い勝手がはるかに良いため, Visual Studio Online が始まるまでの代替として有効な選択肢だと思う.
Coder 公式ページ
環境
OS | VERSION |
---|---|
Ubuntu Server |
16.04 LTS |
パッケージ | VERSION |
---|---|
git |
2.7.4 |
wget |
1.17.1 |
unzip |
6.0.0 |
インストール
※ ディレクトリ等の構成は自分の環境に合わせて適宜読み替えること.
- ディレクトリを作成する.
mkdir ~/coder
- ディレクトリ移動する.
cd ~/coder
-
Coder
のバイナリ版をダウンロードする.wget https://github.com/cdr/code-server/releases/download/1.1119-vsc1.33.1/code-server1.1119-vsc1.33.1-linux-x64.tar.gz
- 展開する.
tar xvfz code-server1.1119-vsc1.33.1-linux-x64.tar.gz -C ~/coder
- バイナリを移動する.
mv code-server1.1119-vsc1.33.1-linux-x64/code-server ~/coder
- 実行する.
sudo ~/code-server <ワークスペース> -p <ポート番号>
- <ワークスペース>にはディレクトリパスを指定.
- <ポート番号>にはサービスを稼働させるポート番号を指定.
- デフォルトでは HTTPS で起動される.
- 標準出力にパスワードが表示される.
- ブラウザで
Coder
へアクセス.https://<IPアドレス>:<ポート番号>
- 証明書を設定していないためブラウザによっては開かない, あるいは警告が出る.
- ログイン画面が出たらインストール成功.
- 終了する場合は
ctl-c
で終了.
※ 起動するごとにパスワードは変わる.
※ 常駐させるよりは使用する時のみ起動するほうがセキュリティ的にも良いと思われる.
証明書発行手順と起動
※ ディレクトリ等の構成は自分の環境に合わせて適宜読み替えること.
※ ドメインの取得及び DNS
の設定は行われているものとする.
-
Certbot
をインストールするcd ~/
git clone https://github.com/certbot/certbot
-
80
ポートと443
ポートを使用しているアプリケーションがあれば停止する.- バイナリ版の
Coder
はスタンドアロンで取得したほうが吉.
- バイナリ版の
- 証明書の発行.
~/certbot/certbot-auto certonly --standalone -d <ドメイン名> -m <メールアドレス>
- 例:
~/certbot/certbot-auto certonly --standalone -d example.com -d www.example.com -m info@example.com
- ポートを使用しているアプリケーションを停止できない場合
-
webroot
モードで取得する. ~/certbot/certbot-auto certonly --webroot --webroot-path <ドキュメントルート> -d <ドメイン名> -m <メールアドレス>
- ドキュメントルートでは
80
及び443
で稼働しているサービスのドキュメントルートを指定する.
-
- 証明書の発行を確認.
sudo ls -l /etc/letsencrypt/live/
sudo ls -l /etc/letsencrypt/live/<ドメイン名>
- 証明書を指定して
Coder
を起動する.sudo ./coder/code-server --cert /etc/letsencrypt/live/<ドメイン名>/fullchain.pem --cert-key /etc/letsencrypt/live/<ドメイン名>/privkey.pem <ワークスペース> -p 443
- 例:
sudo ./coder/code-server --cert /etc/letsencrypt/live/example.com/fullchain.pem --cert-key /etc/letsencrypt/live/example.com/privkey.pem workspace -p 443
- ブラウザから
Coder
へアクセスして警告が出ないことを確認するhttps://<ドメイン名>
起動コマンドの登録
-
bash
に起動コマンドを登録する.vi ~/.profile
-
alias coder='sudo ~/coder/code-server --cert /etc/letsencrypt/live/<ドメイン名>/fullchain.pem --cert-key /etc/letsencrypt/live/<ドメイン名>/privkey.pem <ワークスペース> -p 443'
を追記して保存する.
- プロファイルの読み込み.
source .profile
- 以降は
coder
コマンドでCoder
起動できる.
証明書更新手順
Let's Encrypt
は有効期限が 3 か月なので定期的な証明書更新が必要になる.
以下の手順で更新することが可能. cron
に登録して自動化しても良いが本件では Coder
は常に手動起動を想定しているため手動で更新する手順とする.
※ ディレクトリ等の構成は自分の環境に合わせて適宜読み替えること.
-
Coder
を終了する.-
Coder
を起動させているターミナルでCtl-c
-
- ( スタンドアロンで証明書を取得している場合 )
80
ポートと443
ポートを使用しているアプリケーションがあれば終了する. - 更新コマンドの実行.
~/certbot/certbot-auto renew
-
Cert not yet due for renewal
と表示された場合は更新の必要なし.