
iPadや任意の端末からブラウザでアクセス可能なVSCodiumサーバを建てる
ミニPCを買って自鯖として運用し始めました
ヘッドレス環境を構築し、iPadやiPhoneからも軽くメンテが出来たら良いな〜と模索
VSCodium(またはVSCode)の常駐化が最適のようだったので導入してみました
VSCodium常駐化
宗教上の理由により 筆者はVSCodiumを使用しているので、VSCodeの場合は適宜codiumをcodeへ置き換えて下さい
OSはUbuntu、既にVSCodiumを導入している前提で進めます
再起動後も自動で起動させる為のserviceを作成
mkdir -p ~/.config/systemd/user
nano ~/.config/systemd/user/vscodium-web.service
設定を記述
[Unit]
Description=VSCodium Web Server
After=network.target
[Service]
Type=simple
ExecStart=/usr/bin/codium serve-web --port 8000 --connection-token-file "/home/yourname/.config/vscodium/token"
Restart=always
User=yourname
[Install]
WantedBy=default.target
- トークンファイルの指定は絶対パスにすること
- チルダ(~)を使うと自動起動に失敗します
- codiumのパス指定もそれぞれの環境に合わせてください
which codiumで出てきたパスに置換 人によっては/snap/bin/codiumとかになる
- User=の所に鯖で使用しているユーザ名を設定(これも無いと動かない)
その後は先程設定したパスにアクセストークンを置きます
mkdir -p ~/.config/vscodium
echo "your_access_token" > ~/.config/vscodium/token
chmod 600 ~/.config/vscodium/token
保存後にリロードして動くか確認
systemctl --user daemon-reload
systemctl --user restart vscodium-web
systemctl --user status vscodium-web
ステータスを確認した際にActive: active (running) が出ていればok
ブラウザから127.0.0.1:8000?tkn=your_access_tokenへアクセスしてVSCodiumが立ち上がることを確認します

Tailscale越しに外部からアクセス
LAN外からもアクセスできるようにします
Tailscaleで自動割り当てされたドメインを使用してアクセスするための設定を行います
sudo tailscale serve --bg 8000
vscodium-web.serviceで設定したポートを割当てました
Tailscaleのドメインでアクセスした際に、VSCodiumが待ち受けているポートへ自動的に飛ばされるようになります
Available within your tailnet:
https://machine-name.foobar.ts.net/
|-- proxy http://127.0.0.1:8000
Tailscaleを導入した端末のブラウザからhttps://machine-name.foobar.ts.net?tkn=your_access_tokenへアクセスするとVSCodiumが立ち上がる・・・はず
ヤバい
nextcloud等のDockerで動かしているシステムを外出先からでもメンテ出来るようになりました
プロ驚き屋も思わずヤバいを連発したくなる程でしょう
TailscaleがHTTPSの証明書発行まで自動でやってくれるのがめちゃんこ楽で良いです
iPadはあまり開発に向かないイメージですが、ちょっと可能性が見えてきました
iPad用に手頃なキーボード探すかぁ・・・