00:49:36
icon

ブログ書きかきしてたらもうこんにゃ時間
:asita_ni_siyokka__ii_kyou_ha_mou_neyokka__ii:

00:49:43
2023-09-21 00:24:33 Posting WANWAN仮面:seinen_comic: Oppeke_Island@misskey.io
icon

This account is not set to public on notestock.

12:50:56
icon

:ohayo:

12:50:58
icon

@LoginBonus@misskey.m544.net
:_ro:​​:_gu:​​:_bo:ろぐぼ

12:53:04
icon

@ai :konyanyachiwa:

12:53:47
icon

朝…起きれてにゃい!!
でもしちゃうんよにゃあ…寝落ち

13:49:28
2023-09-21 09:31:51 Posting :crab_dancing:はんがく:verified_blue: hangaku_th@misskey.io
icon

This account is not set to public on notestock.

13:49:43
2023-09-21 12:05:44 Posting きょろにき kyr@misskey.io
icon

This account is not set to public on notestock.

13:49:52
2023-09-21 06:57:59 Posting のれぅ 4A_lu_@misskey.io
icon

This account is not set to public on notestock.

13:51:30
2023-09-19 22:15:02 Posting ふらりん Flarin495@misskey.io
icon

This account is not set to public on notestock.

13:52:06
2023-09-20 23:57:44 Posting 216 216hrszn@misskey.io
icon

This account is not set to public on notestock.

13:56:01
icon

:a:​​:haraitai_ponponpain:

13:56:13
2023-09-21 08:43:41 Posting ざつねこ zatsuneko@misskey.io
icon

This account is not set to public on notestock.

13:56:39
2023-09-21 07:58:56 Posting 木谷 圭 関西コミティアおつかれさまでした! nagatoyumoto@misskey.io
icon

This account is not set to public on notestock.

13:57:41
2023-09-19 23:05:35 Posting じゅン junjunjum@misskey.io
icon

This account is not set to public on notestock.

14:02:21
2023-09-21 07:02:34 Posting 藍 ai@misskey.io
icon

This account is not set to public on notestock.

14:12:37
icon

おひとりサーバー @room_nb@log.nyaight.me 兼個人ブログ https://log.nyaight.memicroblog.pubを建てた時の記録を書きました :ablobcatcoffee:
めっちゃ長いけど建て方も書いたのでこれを読めば(ドメイン代以外)無料でmicroblog.pubを建てれるにゃん

RE:
https://log.nyaight.me/o/d06263488e0a4169ab1dea4af822cfa5

Web site image
おひとりサーバー 兼 個人ブログ のMicroblogPubサーバーを立ち上げました
14:12:42
2023-09-21 06:00:34 Posting 📔にゃいとはざーどの日記帳 room_nb@log.nyaight.me
icon

という訳で建てた理由と、建てた際の手順や情報を記録したいと思います。

私、にゃいとはざーど(@Nyaight_Hazard@misskey.io)がFediverseの海に漂いNヵ月、買ったドメインを活用するためにおひとり鯖でも建てよう、と思いまして。 軽量でかつ私の肌に合うような...そう、レトロチックなブログのようなものがあれば...
「そんなものあるの?」

ありました。

名をMicroblogPubと言い、一人用ブログでありながらActivityPubサーバーでもあり、そして超軽量で小型VPSでも動く。そして何より見てください、この公式ブログどシンプル!一周回ってクリーン!そしてHTMLソースそのものも弄れるカスタマイズ性もある…
ということで出来たのがこのサーバーでございます。

このブログはサイトから直接閲覧する、あるいは、@room_nb@log.nyaight.meで参照するかこのリンクから他サーバーのアカウントと同様にフォローすることができます。とはいえブログなので本垢より個人的なものが多くなりますが、よろしければぜひ。

さて、ここからが本題。先駆者が記録を残してはいたんですが、色々と仕様が変わっていたのと、始めてサーバーを触ったので、知識共有の為に書き起こそうと思います。

献立

用意するもの:
自分のドメイン(今回はlog.nyaight.me)
 文中のlog.nyaight.meの部分は適宜自分のドメインに置き換えてください。
Cloudflareアカウント
 ネームサーバーとして。ネームサーバー以外の機能も色々と便利で、今回はSSL証明書を用いる。
クレジットカード
 VPSや自宅鯖が有れば不要、無料で鯖建てたいなら。ただし、プリペイド式は弾かれるのでクレジット式かデビット式のを用意しよう。
Linux/Ubuntuコンソール操作の知識
 一番大事かもしれない。太文字にしたキーワードを調べれば大体引っ掛かるので頑張れ。
これらからすること:
Oracle Cloudアカウントの作成
無料のVPSの作成(VM.Standard.E2.1.Micro)
Docker,DockerComposeのインストール
MicroblogPub,Caddy2のセットアップ
・その後について

Oracle Cloudアカウントの作成

こちらからOracle Cloudの登録をしましょう。登録すると、永続無料のAlways Freeサービスと、30日間の$300分の無料トライアルが使えます。今回使うのはAlways Freeの部分のみですが、登録した瞬間から$300の有効期限が減るので試したい方は注意してください。

登録に割と手間がかかります。
・名前は名→姓の順
・Customer typeはIndividual(個人)を選ぶ
・部門名は必須なので適当に(Hobbyとか)
・住所行1には市区町村より先の住所を入力
・注意があるように、ホーム・リージョンにJapan East (Tokyo)を選ばないように。Japan Central (Osaka)でも選んでおこう。
・電話番号は先頭のゼロ抜きで入力
・クレジットカードが必須ですが、プリペイド式は弾かれます。

無料VPSの作成

こちらの記事の「インスタンス(サーバー)にSSHで接続する」の項まで沿えば大体OKです。
・Always Free対象のマシンはVM.Standard.E2.1.Micro[1台]とVM.Standard.A1.Flex[スペック可変]。
 詳細は公式ドキュメントに書いてますが、E2.1.MicroよりA1.Flexの方がスペックが良いです、、MicroblogPubは大したスペックは要求しないので(他の用途にA1.Flexを温存するために)E2.1.Microを選びます
SSHキーの秘密キー保存を忘れないこと!!
 サーバーに入れなくなります!!
IPv6に対応したい場合、この辺を参考に組みましょう:
 ・公式ドキュメント:IPv6対応VCNの設定
 ・OCIの潤沢な無料枠でIPv6対応のWireGuard VPNをたてる

Docker,DockerComposeのインストール

ここから先は、先程保存した秘密鍵を使ってSSH接続したコンソールで操作を行います。SSHコマンドが使えるコンソールなら何でもいいですが、分からないならPowerShellを用いましょう。私は手元にあったGit Bashを使いました。

Docker公式手順にあるコマンドをコピペして実行すれば大体OKです。
Dockerのインストール手順
 sudo docker run hello-worldの所で失敗した場合、dockerのサービスが起動してません。sudo service docker startを唱えてから再試行しましょう。
Docker Composeのインストール手順

MicroblogPubのセットアップ

いよいよもって、ようやく、MicroblogPubを建てます。

事前々準備:


# 管理人として実行
sudo -s
# 作業用フォルダに移動
cd /usr/local/bin

Swapメモリを作成: メモリが圧迫しきるとサーバーが止まってしまうので、追加のメモリ容量を作る。特にE2.1.Microは低スペックなので多めに取る。(参考資料)


# Swapメモリ用領域の作成(4GB)
dd if=/dev/zero of=/swapvol bs=1M count=4096
chmod 600 /swapvol
# Swap設定
mkswap /swapvol
swapon /swapvol
# Swapメモリがあることを確認
free

このままだと再起動時にSwapメモリが付かない為、festabファイルをnanoエディタで追記する。nano /etc/fstabを唱え、最下行に/swapvol swap swap defaults 0 0を追記して保存する。

MicroblogPubのインストール: 大体公式ガイドのまんま。初回make buildする際割と待つ。make configのウィザードはメッセージに従って入力すればOK。


git clone https://git.sr.ht/~tsileo/microblog.pub log.nyaight.me
cd log.nyaight.me
chmod -R 777 ./
make build
make config

プロファイルの編集: nano data/profile.tomlを唱える。設定できる項目は公式ガイド参照。インストール手順にあるtrusted_hosts = ["*"]を加えるのを忘れないこと。私の場合次のようになった:


https = true
trusted_hosts = ["*"]
secret = "***********"
admin_password = "***********"
domain = "log.nyaight.me"
username = "room_nb"
icon_url = "https://log.nyaight.me/static/res/icon.png"
image_url = "https://log.nyaight.me/static/res/header.png"
name = "room#N/B log."
summary = "ActivityPubに向けてログを配信中...(省略)"
metadata = [
  {key="🔗Links", value = "[links.**nyaight.me**/portal](https://links.nyaight.me/portal)"},
  {key="📡Admin", value = "[**@Nyaight_Hazard**@misskey.io](https://misskey.io/@Nyaight_Hazard)"},
]
hides_following = true

アイコンとヘッダーのhttps://log.nyaight.me/static/...については、どうやらapp/static下にあるファイルがそのままサイトに転写されているようなので、それを利用しました。

Caddy2のセットアップ

さて、このまま単体ではネットに届かない為、MicroblogPubとネットの橋渡し役となるCaddy2を導入します。今回はCloudflare用のプラグインがセットとなったiarekylew00t/caddy-cloudflareを利用します。これを用いることで、CloudflareのDNSレコードやSSL証明書を連携することが出来ます。

先ずnano docker-compose.ymlを以下の内容で上書きしDockerの構成にCaddyを追加する。(参考資料)


version: "3.9"

services:
  caddy:
    image: iarekylew00t/caddy-cloudflare:latest
    restart: unless-stopped
    ports:
      - "80:80"
      - "443:443"
      - "443:443/udp"
    volumes:
      - ./Caddyfile:/etc/caddy/Caddyfile
      - ./site:/srv
      - caddy_data:/data
      - caddy_config:/config

  server:
    image: microblogpub/microblogpub:latest
    container_name: microblogpub
    user: 1000:1000
    restart: always
    volumes:
      - ./data:/app/data
      - ./app/static:/app/app/static
    ports:
      - "8000:8000"

volumes:
  caddy_data:
  caddy_config:

次にCloudflareのAPIトークンが必要なので取ってくる。
Cloudflare ユーザー API トークン
→トークンを作成
→カスタム トークンを作成する
→アクセス許可に
・ゾーン>ゾーン>読み取り
・ゾーン>DNS>編集
 を追加して[概要に進む]→[トークンを作成]
→APIトークンをメモにとる

そしてnano Caddyfileで以下のようにCaddyの構成を書く。


https://log.nyaight.me {
	tls {
		dns cloudflare (APIトークンをココに貼る)
	}
	reverse_proxy microblogpub:8000
}

正しく構成できていれば、docker compose up -dを唱えて数分待てばウェブから接続出来るようになります。
お疲れ様でした。

その後について

さてこれで終わりかと言えばそうでもありません。サーバーをちゃんと維持できるようにしたり、中身を改造したりしています。私がした工夫として、
nano /home/ubuntu/.bashrc: SSH接続時に自動でフォルダ移動する
nano /etc/rc.local: 再起動時にMicroblogPubとCaddyを自動で起こす
crontab -e: 週2回Dockerのクリーンアップdocker system prune --volumes -fと再起動rebootをする
 ・CRONの時刻が日本時間になるようにtzselectで変更
・VSCodeからサーバーの中身を弄れるようにする(資料1)(資料2)
独自GithubレポジトリでMicroblogPubの中身を管理
 ・その際パーミッションの変更Caddyfileとdocker-composeを反映しないように

このMicroblogPubはまだまだ改造しがいがありそうなので取り組んで行きたいと思います。それはそれとして普通のブログとしても運用していきたいね。
では。

microblog.pub - A self-hosted, single-user, ActivityPub powered microblog.
Web site image
Remote follow room#N/B log.
Web site image
Oracle Cloud Infrastructure Always Freeを使ってタダでMisskeyインスタンスを立てよう | aqz/tamaina
Web site image
Linux Swap設定方法(CentOS 7)
microblog.pub - A self-hosted, single-user, ActivityPub powered microblog.
microblog.pub - A self-hosted, single-user, ActivityPub powered microblog.
Web site image
GitHub - IAreKyleW00t/docker-caddy-cloudflare: The official Caddy Docker image built with the Cloudflare DNS module
Web site image
Keep Caddy Running - Caddy Documentation
Web site image
Visual Studio Code で Remote SSH する。 - Qiita
Web site image
Visual Studio CodeでLinux ホストリモート開発 - Qiita
Web site image
GitHub - NyaightHazard/log.nyaight.me: The custom edition of MiroblogPub: an ActivityPub powered microblog.
Git でファイルパーミッションの変更(chmod)を無視する - git config core.filemode false
14:41:50
2023-09-21 14:22:39 Posting Kuu. :role_illustrator: kuhlnotes@misskey.io
icon

This account is not set to public on notestock.

17:13:17
icon

:7eleven:のブリトーが40周年で割引らしい… 40ねんにゃんだ…:yuniruowo:

17:34:48
icon

ちょいちょい聞くケンタッキーのビスケット
美味しかった んにゃけど メープルシロップかけるの難しくにゃい!?
(手をベタベタにしにゃがら)

18:38:11
icon

:kitaku:にゃんこ:nekobounce:

18:47:34
2023-09-21 14:12:37 Posting 📡:_ni::_lya::_i::_to::_ha::_za::_prolong::_do: Nyaight_Hazard@misskey.io
icon

おひとりサーバー @room_nb@log.nyaight.me 兼個人ブログ https://log.nyaight.memicroblog.pubを建てた時の記録を書きました :ablobcatcoffee:
めっちゃ長いけど建て方も書いたのでこれを読めば(ドメイン代以外)無料でmicroblog.pubを建てれるにゃん

RE:
https://log.nyaight.me/o/d06263488e0a4169ab1dea4af822cfa5

Web site image
おひとりサーバー 兼 個人ブログ のMicroblogPubサーバーを立ち上げました
18:48:51
2023-09-21 17:40:20 Posting ゆぬき うた:kotone_tubomi_tsunotsunose: yunuki_uta@voskey.icalo.net
icon

This account is not set to public on notestock.

18:51:00
2023-09-21 18:01:59 Posting れいしす LaCeys_ES@voskey.icalo.net
icon

This account is not set to public on notestock.

18:51:08
2023-09-20 20:26:17 Posting 猫吉よりお:murakamisan_uni::discord::aruyo2: nekokitiyorio@misskey.io
icon

This account is not set to public on notestock.

18:52:06
2023-09-21 18:29:25 Posting がんばるとうふ ganbarutoufu@misskey.io
icon

This account is not set to public on notestock.

18:52:32
2023-09-19 23:05:35 Posting じゅン junjunjum@misskey.io
icon

This account is not set to public on notestock.

18:53:25
2023-09-21 18:02:21 Posting 未定 Mitei398@misskey.io
icon

This account is not set to public on notestock.

18:54:59
2023-09-21 18:14:52 Posting :_shi::_se::_ru::_ni::_lya::_n::secineralyr_logo: secineralyr@misskey.io
icon

This account is not set to public on notestock.

18:56:34
2023-09-21 18:00:08 Posting ナナし@アカウント移行しました nanashi_gb@misskey.io
icon

This account is not set to public on notestock.

18:58:38
2023-09-21 18:55:05 Posting 内藤コウセ NAITO_KOSE@misskey.io
icon

This account is not set to public on notestock.

18:58:59
2023-09-21 15:22:26 Posting 蛾 gagagachan@misskey.io
icon

This account is not set to public on notestock.

19:01:38
2023-09-21 17:41:15 Posting nikukabe🔞 nikukabe@misskey.io
icon

This account is not set to public on notestock.

19:08:52
2023-09-21 15:40:33 Posting 藍 ai@misskey.io
icon

This account is not set to public on notestock.

19:11:28
2023-09-21 14:22:39 Posting Kuu. :role_illustrator: kuhlnotes@misskey.io
icon

This account is not set to public on notestock.

19:14:34
2023-09-21 00:07:26 Posting りり RIRl@misskey.io
icon

This account is not set to public on notestock.

19:19:12
2023-09-21 11:29:12 Posting 𝓢𝓟𝓜 spm4747@misskey.io
icon

This account is not set to public on notestock.

19:21:11
2023-09-21 12:14:30 Posting ふぃらみゃん firamyan@misskey.io
icon

This account is not set to public on notestock.

19:22:30
2023-09-21 18:08:58 Posting 爪葉 京(ツメハ ケイ)🔰:skeb::irai_bosyuu_tyuu: tsumeha0213@misskey.io
icon

This account is not set to public on notestock.

19:26:11
2023-09-21 01:29:14 Posting 鵜森 unomo0920@misskey.io
icon

This account is not set to public on notestock.

19:28:26
2023-09-21 02:28:24 Posting Nobi0112@misskey.io Nobi0112@misskey.io
icon

This account is not set to public on notestock.

19:28:52
2023-09-21 18:29:25 Posting がんばるとうふ ganbarutoufu@misskey.io
icon

This account is not set to public on notestock.

19:31:48
2023-09-21 18:00:08 Posting ナナし@アカウント移行しました nanashi_gb@misskey.io
icon

This account is not set to public on notestock.

19:33:36
2023-09-20 20:20:41 Posting 未定 Mitei398@misskey.io
icon

This account is not set to public on notestock.

19:34:33
2023-09-21 00:59:14 Posting けろすけ kerosuke_n@misskey.io
icon

This account is not set to public on notestock.

19:37:40
2023-09-21 00:51:06 Posting ててろう tetekubo@misskey.io
icon

This account is not set to public on notestock.

19:40:19
2023-09-21 00:40:40 Posting 自動飯屋(おおおおおおおととととや) Auto_yeah@misskey.io
icon

This account is not set to public on notestock.

19:41:13
2023-09-21 00:03:29 Posting 白髪@H-33 白髪^3000 shiraga@voskey.icalo.net
icon

This account is not set to public on notestock.

19:43:57
2023-09-20 10:01:35 Posting 134 134@misskey.io
icon

This account is not set to public on notestock.

19:44:31
2023-09-20 23:46:08 Posting はつねネガメ:skeb::role_illustrator: hatsune_negame@misskey.io
icon

This account is not set to public on notestock.

19:48:38
2023-09-21 19:40:29 Posting 216 216hrszn@misskey.io
icon

This account is not set to public on notestock.

19:49:06
2023-07-30 22:43:58 Posting 七歌シフォン:blobcatblack::blobcatartist: NanautaSifon@misskey.io
icon

This account is not set to public on notestock.

19:51:11
2023-09-20 13:38:49 Posting 或窓 ulmado_akane@voskey.icalo.net
icon

This account is not set to public on notestock.

19:51:26
2023-09-20 20:48:54 Posting さけ sake_1341@misskey.io
icon

This account is not set to public on notestock.

19:53:13
2023-09-20 23:25:12 Posting 犬速 inusoku@misskey.io
icon

This account is not set to public on notestock.

19:53:34
2023-07-17 18:21:56 Posting 七歌シフォン:blobcatblack::blobcatartist: NanautaSifon@misskey.io
icon

This account is not set to public on notestock.

19:54:33
2023-09-20 23:14:03 Posting 生わさび namawasabiv21@misskey.io
icon

This account is not set to public on notestock.

19:55:15
2023-09-20 22:40:57 Posting 🕊️ rins rns_8i8@calc.rettuce.page
icon

今日のオンセ「その敵なんていうか恐竜でも戦車でもなくない!!??」

Attach image
19:55:17
2023-09-20 22:42:28 Posting 🕊️ rins rns_8i8@calc.rettuce.page
icon

今日のオンセ「戦車って絶対そういうことじゃなくない!!??」

Attach image
19:55:21
2023-09-20 22:44:35 Posting 🕊️ rins rns_8i8@calc.rettuce.page
icon

「GMの『せんしゃ』の発音が完全に wash the car なんですけど!?」

19:55:53
2023-09-21 12:45:59 Posting 蛾 gagagachan@misskey.io
icon

This account is not set to public on notestock.

19:57:51
2023-09-21 10:13:44 Posting 堂後イデア:Skeb: doggo_1d34@misskey.art
icon

This account is not set to public on notestock.

19:58:25
2023-09-21 10:58:16 Posting ⊿ sankaku@misskey.io
icon

This account is not set to public on notestock.

20:02:47
icon

:gohan_tabeta:
エンジンをローテートして…にゃにしよ
:meowsurprised:

20:04:22
2023-09-21 20:04:13 Posting あんぜんロボ:happy_uochan: 474zz@misskey.art
icon

This account is not set to public on notestock.

20:07:50
2023-09-21 20:07:22 Posting ごりんご@絵描きさん :verified_grey: ringon@misskey.io
icon

This account is not set to public on notestock.

21:56:39
icon

あっべもうこんにゃ時間
風呂入れてにゃい
入れる

21:57:01
icon

お風呂が沸くと同時にクリーパーも湧いてしまい爆発しました。

https://misskey.io/play/9er7rgu2th

Web site image
今日のお風呂ガチャ
21:59:26
2023-09-21 21:55:30 Posting ゆにるユニ@VTuber yuniruyuni@misskey.io
icon

This account is not set to public on notestock.

22:01:03
2023-09-21 22:00:46 Posting 七歌シフォン:blobcatblack::blobcatartist: NanautaSifon@misskey.io
icon

This account is not set to public on notestock.

22:01:42
2023-09-21 22:01:13 Posting 藍 ai@misskey.io
icon

This account is not set to public on notestock.

22:11:00
2023-09-21 22:06:56 Posting ちゃんやま:thai_kick: Chang_yama@misskey.io
icon

This account is not set to public on notestock.

22:25:12
icon

ふろあがにゃんこ:blobhyperbounce:

22:25:19
2023-09-21 22:16:24 Posting 藍 ai@misskey.io
icon

This account is not set to public on notestock.

22:26:08
2023-09-21 21:39:05 Posting 雛瀬あや:huyu_comi:新刊🍈委託中:skeb::irai_bosyuu_tyuu: 4yaHns@misskey.io
icon

This account is not set to public on notestock.

22:27:35
2023-09-10 15:51:50 Posting 雛瀬あや:huyu_comi:新刊🍈委託中:skeb::irai_bosyuu_tyuu: 4yaHns@misskey.io
icon

This account is not set to public on notestock.

23:54:23
icon

メーデー見返してたらもうこんにゃ時間じゃん

23:55:40
2023-09-21 23:03:20 Posting WANWAN仮面:seinen_comic: Oppeke_Island@misskey.io
icon

This account is not set to public on notestock.

23:56:16
icon

メーデー見返してたらもうこんにゃ時間じゃん

23:57:41
2023-09-21 23:17:05 Posting きたがわ水月@喪中 kitagawa_sui@misskey.io
icon

This account is not set to public on notestock.

23:58:30
2023-09-21 23:05:11 Posting 00aa 1/19 00aa@misskey.io
icon

This account is not set to public on notestock.

23:58:59
2023-09-21 23:05:52 Posting 村卯:youtube: murau@misskey.io
icon

This account is not set to public on notestock.