十円均一

ワンコイン怪文書置き場

ローカルに帝国を建設しようとした話

この記事は「シュリンピア帝国 Advent Calendar 2023」の24日目の記事です。

アバン

しようとした、なので建てられていません!
仮想でちょちょいと皇帝になって張り合ってやるかあと思ったけどネットワーク関係弱すぎてだめでした。
後で追記するかもですが、とりあえず道半ばの記事を。

準備

仮想環境なのにWSLじゃなくDockerでもなくVirtualBoxを使います!
手っ取り早そうだったので……。

というわけで使うものはVirtual box
https://www.virtualbox.org/wiki/Downloads

あとはTeraterm
https://forest.watch.impress.co.jp/library/software/utf8teraterm/

OSはUbuntu推奨っぽいのでUbuntuを使うことに。

Ubuntu Desktopのisoイメージをダウンロード。
https://www.ubuntulinux.jp/download/ja-remix

ここを参考にUbuntu環境をつくる。
https://qiita.com/ryome/items/240f36923f5cb989da27

再起動後真っ黒になって5回くらいやり直したけど、メモリが足らないとそうなるのかしら……。
ので、真っ黒になったら一回シャットダウンしてメモリとかCPUを増やしましょう。

2G->4G、1コア->3コアくらいにしたらログイン画面っぽいのが出るようになりました。
「アカウントが見つかりませんか?」って出てくるだけなので実質ログインは出来ません!
Ctrl+Alt+F2あたりを押すとCUIが出てくるのでCUI経由でなんとかログインは出来ます。
なんてこったい。
シャットダウンして起動しても「アカウントが見つかりませんか?」が出てこないとログイン出来ないので、その文字が出てくるまで再起動チャレンジします。
なんで起動しないんですか。低スぺだからですか。

そんなわけでCUI操作を余儀なくされました。
ターミナル上でも設定できますが、コピペできなくて面倒なのでSSH接続設定します。
https://qiita.com/ryo-sato/items/0a1df8666cef9f944693
ポート設定するだけで(がばいけど)接続できたぜイエーイ。

ブツを入れる

先人の知恵をコピペしながら進めます。
https://zenn.dev/1step621/articles/7991635e4de028

基本的にコケなかったけども、途中sudo apt install npmでコケたので下記を追加。

sudo apt-get install aptitude
sudo aptitude install npm

postgresの設定までやったらEbisskeyをクローンします。

git clone https://github.com/shrimpia/misskey.git

lsで確認

vboxuser@vboxuser-VirtualBox:~$ ls
apt.postgresql.org.sh  misskey  snap

misskeyフォルダが出来てるのでcdで移動してからnpmぶちこむ。

cd misskey
sudo corepack enable
pnpm install

設定必要ぽいので指定箇所にymlを作ります。

cd .config
sudo apt install vim
vim default.yml

で、内容をこぴったらescでエディタから出て:wqで保存。
(--挿入--って書いてたら保存出来ないのでescで脱出する!)

コピる内容はさっきのURLと同じ。

url: http://localhost:3000
port: 3000

db:
  host: localhost
  port: 5432
  db  : mk1      # PostgreSQLのデータベース名
  user: misskey  # PostgreSQLのユーザー名
  pass: hoge     # PostgreSQLのパスワード

redis:
  host: localhost
  port: 6379

cat default.yml で保存されてるか確認。
記述されていることが確認出来たら

pnpm build

……コケた。

/home/vboxuser/misskey/packages/frontend:
?ERR_PNPM_RECURSIVE_RUN_FIRST_FAIL? frontend@ build: `vite build`
Exit status 1
?ELIFECYCLE? Command failed with exit code 1.

https://github.com/misskey-dev/misskey/issues/9622
たぶんメモリ不足……なんかな……?

ここからメモリがどうのスワップ領域がどうのと調べつつ。
とりあえず一回無視してnpm startやってみようぜとやってみました。
でも結局

TypeError: Cannot read properties of undefined (reading 'toLowerCase')

て言われたので足りないものがあってコケてそうだなあという結論に。

颯爽と仮想でウェイウェイ出来るだけの技量はなかった模様!
気が向いたら追記するかもしれません。

総括

アドカレは間に合うように書きましょう!