WindowsでDockerを用いPixelfedをビルドする

nove-b September 22, 2025
Source

Pixelfed is 何?

オープンソースのInstagramで、Mastodonとか同様に分散型のアーキテクチャを使用している。

つまりFediverseの一部で、

Instagramの「より魅力的な(そして倫理的な)代替手段」

と言われていたりいなかったり。

Buildまでに結構手こずったのでやり方をメモしておく

結構というより、挫折しようかと思うほど手こずった。前提としてフロントエンドをメインとしているのでDockerの知識が乏しいというのが多分にある。

Dockerに慣れている人であれば、こんなもの朝飯前かもしれない。

Documentはこちら

Pixelfed Docs

Envの作成

まず戸惑ったのが、Envがたくさんあることで

  • .env.docker
  • .env.example
  • .env.testing

どれを使えばいいのかわからなかった。

いろいろ調べた結果env.dockerを使うっぽいことが判明した。

この時点でDocsに書いてあることと少し違うので、これが正しいのかわからない。

By default Pixelfed comes with a .env.example file for production deployments, and a .env.testing file for debug deployments. You'll need to rename or copy one of these files to .env regardless of which environment you're working on.

とはいえ、動いたのがenv.dockerを使う方法なので、この方法で進めていく。

上記コマンドで、env.dockerを.envにコピーする。

次に下記値を任意の値に変更する。

ちなみにAPP_DOMAINをlocalhostとかにしようとしたけれど、バリデーションがあるしく、特定の形式のドメイン名にしか設定ができなかった。

APP_DOMAINの設定により、pixelfed.example.comでサービスを開けるようになる。

たぶんその設定はdocker\nginx\root\docker\templates\etc\nginx\conf.d\default.confに記述されている。

これだけだと自身の指定したドメインとIPアドレスの紐づけが完了されていないので、hostsファイルを修正して紐づけを行っていく。

を開き、末尾に

と追記する。

Dockerを立ち上げる

コマンドでDockerを起動する。

上手くいかないときは、

でログを確認して修正していく。

今回は認証キーがログに記載されていたいので、

でKeyを作成する。

そしてDockerの問題がなくなるまで根気強く付き合っていく。

アカウントを作成する

Dockerの問題がすべて解決したら、アカウントを作成する。

これで一通り設定完了したので、pixelfed.example.comにアクセスすると、トップページが表示させる。

証明書 (nginx.crt) と秘密鍵 (nginx.key) を作成 する

最後にhttpsで接続できるように、証明書を作成する。

で、下記2ファイルが作成される。

無事Https接続ができるようになった。

ホットリロードが効かない

意気揚々とカスタマイズしようとして、ソース触っても画面が更新されない。

なんなら、

でも更新されず。

で更新されることが確認できた。

新たな問題なので解決に向けて調査していく(マウントの問題?)けど、ひとまずビルドできたのでOKとする。

追記

でbladeが更新される。

でvueが適用される。

......、これが正しい運用方法なのかもしれない。

Discussion in the ATmosphere

Loading comments...