• 2 Posts
  • 1 Comment
Joined 23日前
cake
Cake day: 11月 10, 2022

help-circle
rss
Friendicaを建ててみました。
というわけで、最近Bonfireの構築にチャレンジしていましたが、うまくいかずすっかり灰になってしまっていましたが、せっかくサーバが余っている(OCI無料枠)ので、前々から使ってみたかったFriendicaを建ててみました。 ### 環境 ### Oracle Linux 8.3 [Docker](https://github.com/friendica/docker) メールはSendGrid ### Dockerのインストール ### Dockerのインストールは基本的に[Document](https://docs.docker.com/engine/install/centos/)通りにやれば大丈夫ですが、ハマった点もあるのでメモがてら書いておこうと思います。 ``` sudo dnf config-manager \ --add-repo \ https://download.docker.com/linux/centos/docker-ce.repo sudo dnf install docker-ce docker-ce-cli containerd.io docker-compose-plugin ``` dnfだとconfig-managerがそのまま使えます。 あと、rootレスですが新しくユーザを作っている場合先にコマンド実行が必要だったりします。 ``` loginctl enable-linger $(whoami) export XDG_RUNTIME_DIR=/run/user/$(id -u $(whoami)) ``` これを実行しとかないとユーザモードでsystemctl使えないです。 (最初からあるユーザだったら大丈夫) あとは手筈通り進めますが、さっきのやつとインストール後の案内にあるものは.bashrcなりに追加が必要です。 ついでに現在のドキュメントだとdocker compose pluginが最初から入れるようになっていて、これを使うとコマンドがdocker composeになってしまってややこしいのでエイリアスを追加しておきました。 `alias docker-compose='docker compose'` ### Friendicaのインストール ### 今回はDocker Composeを使っていきたいので[このリポジトリ](https://github.com/friendica/docker)を参考にします。 なにやらいろいろ書かれているんですが、普通にapacheのやつを使用します。 ``` version: '2' services: db: image: mariadb restart: always volumes: - ./db:/var/lib/mysql environment: - MYSQL_USER=friendica - MYSQL_PASSWORD= - MYSQL_DATABASE=friendica - MYSQL_RANDOM_ROOT_PASSWORD=yes app: image: friendica restart: always volumes: - ./app/:/var/www/html ports: - "8080:80" environment: - MYSQL_HOST=db - MYSQL_USER=friendica - MYSQL_PASSWORD= - MYSQL_DATABASE=friendica - FRIENDICA_ADMIN_MAIL=あどみんでつかうめあど - SMTP=smtp.sendgrid.net - SMTP_PORT=587 - SMTP_DOMAIN=どめいん - SMTP_TLS=true - SMTP_STARTTLS=true - SMTP_FROM=ふろむ - SMTP_AUTH_USER=apikey - SMTP_AUTH_PASS=はっこうしたやつ depends_on: - db cron: image: friendica restart: always volumes: - ./app/:/var/www/html entrypoint: /cron.sh depends_on: - db environment: - MYSQL_HOST=db - MYSQL_USER=friendica - MYSQL_PASSWORD= - MYSQL_DATABASE=friendica ``` まず、cronの設定がFriendicaだと必須なので追加します。 (これは同じリポジトリ内を見ると例が書かれてました) あとSMTPの追加ですね。私の例だとSendGridですがこれでうまくいきました。 volumesは私の場合だとまとめてバックアップ取ったりするのでこっちのほうが都合がいいので変えてます。 まあどっちでもいいみたい?ですが、どうなんでしょう。 あとはnginxですね。 ``` location / { if ( $scheme != https ) { # Force Redirect to HTTPS return 302 https://$host$uri; } proxy_pass http://localhost:8080; proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Forwarded "for=$proxy_add_x_forwarded_for; proto=$scheme"; } ``` ここだけ例でのってました、ほかはまあいい感じでいいんでしょう。 ここまで来たら起動してみます。 (cronが失敗しててログがうざいですが)うまく立ち上がるはずです。 スクショとってないのであれですが、接続するとインストール画面に飛ばされます。 そこでデータベースの接続先、サイトの簡単な設定をして管理者ユーザの作成に移ります。 ちなみに、メール設定ができていなくてもブラウザ上で初期パスワードを教えてくれるので大丈夫です。 ### ちょっと使ってみた感想 ### 直感的にわかりやすいUIで迷うことなく使えて結構いい感じです。 一応日本語にも対応していますし、普通にSNSとして使えます。 Mastodonの他、PeerTubeやLemmyのアカウントを覗いてみましたが普通にみれますし、フォローもできました。 また、Lemmyに至ってはFriendicaから投稿することもできるので結構面白いです。 ただちょっと不満点といえば、画像を添付するときにクリップボードから添付することが不可能ということですね。 この問題は放置されているようであまり重要視されてないんですかね。。。 ほかはまだ使い始めたばかりですが、結構気に入っていてMastodon飽きたらこっちでもいいかなとか思ってしまうくらいです。 というわけで今回はこのへんで。ではまた。
fedilink

Lemmyのコミュニティに対して投稿できるか。
Friendicaからどうも。 **ふとじ** *ななめー*
fedilink

@karasu_sue 挙動としてはMastodonと同じ感じ?コミュニティ側が再共有する。