Skip to content

Docker Compose

このページではDocker Composeを使ったConcrnt(v2)ドメインのセットアップ方法について解説します。

1. リポジトリを取得

Composeの構成ファイルが入ったリポジトリをクローンします。

git clone https://github.com/concrnt/concrnt-compose

concrnt-compose リポジトリは v1/(旧仕様)と v2/(新仕様)の2構成に分かれています。このページはv2構成(v2/)のセットアップを解説します。以下のコマンドは v2/ ディレクトリ内で実行してください。

cd concrnt-compose/v2

起動する前に各種設定を完了してください。

2. 各種設定

必要に応じてファイルを編集し各種設定を変更してください。

concrnt-compose/v2/etc/config/config.yaml

このファイルでConcrntドメインの基本設定を行います。

concrnt.fqdn

ConcrntのFQDN≒ドメイン名を指定します。この情報は後で変更することが非常に困難なため、よく考えて定義してください。HTTPSといったスキームは不要です。 fqdn: cc1gb.anyfrog.net のように指定してください。

concrnt.registration

アカウント作成の制限について設定します。openは誰でも登録が可能、 invite は招待が必要、 close は新規のアカウント作成ができなくなります。広く公開を考えていない場合、 invite で作成するのが良いでしょう。

concrnt.privatekey

サーバーが内部で利用する暗号鍵の設定を行います。 compose.yaml のあるディレクトリ(v2/)で下記コマンドを実行することで取得できる privatekey を貼り付けてください。他の各種情報は privatekey から復元できるため廃棄可能です。

docker compose run --rm concrnt2 conctl generate identity
// ... //
ccid: con1u0099ujr8g9m// ... //c6hgyxzp
mnemonic: avocado chimney // ... // faith excess blur gun
privatekey: 69cc17321e531c6d// ... //46db5166d92ab56e0c69f4d5e0
publickey: 0290a6b90887c3da// ... //93dafe6016b221173d8416f0a28a2f0568e19

concrnt.layer

参加するネットワークを指定します。テスト用途では concrnt-devnet、本番用途では concrnt-mainnet を指定します。

meta.*

サーバープロフィールを設定します。後から変更できます。

Key意味
nicknameサーバー名
descriptionサーバーの紹介文
logoロゴの画像
wordmark登録画面に表示される Powered by の画像
themeColorテーマカラー
maintainerNameメンテナの名前
maintainerEmailメンテナのメールアドレス

meta に設定された値は Concrnt の中で表示され、いわばサーバーの看板のように表示されます。

探索に並ぶサーバー名とアイコン

concrnt-compose/v2/etc/static/*

アカウント新規作成時に表示される各種注意事項や規約、管理者が収集したいデータについて定義するファイルが含まれます。

concrnt-compose/v2/compose.yaml

このファイルでConcrntの各サービスの立ち上げと構成を行います。デフォルトで最小限のサービス(concrnt2 / world-app / hyperproxy / v2db / v2-redis / v2-memcached)が起動するようになっています。必要に応じてコメントを外し、追加サービスを有効化することが可能です。

services.cloudflared

Cloudflare Tunnelを利用する場合、コメントを外してトークンを置き換えてください。

services.mediaserver2

デフォルトで利用が可能な concrnt.world のメディアアップロード機能の代わりにConcrntサーバーでメディアを管理する cc-media-server を有効化します。有効化する場合は etc/config/config.yamlservices: にある world.concrnt.mediaserver の項目もコメントから外してください。

services.cc-search && services.meilisearch

コミュニティ内検索を有効にします。有効化する場合は etc/config/config.yamlservices: にある net.concrnt.search の項目もコメントから外してください。

3. 起動

下記コマンドで起動します。 compose.yaml が存在する場所(v2/)で下記コマンドを実行してください。

docker compose up -d

concrnt.fqdn にブラウザでアクセスし、下記画面が表示されCSIDが表示されていれば準備は完了です。

Concrntドメインのトップページ

何かおかしい時はFAQを確認してください。

4. アカウント作成と連合の追加

Webクライアント https://concrnt.world を用いて自身のドメインでアカウントを作成してください。

concrnt.registration をデフォルト設定の invite で作成した場合、一度コンテナでコマンドを実行し招待コードを取得する必要があります。

docker compose run --rm concrnt2 conctl generate invite
eyJhbGciO//...//UzNj_f7pj8a0nIwA

アカウント作成後は何もないまっさらなタイムラインが表示されますが心配ありません。 下記のようなタイムラインにアクセスし、何か投稿してみましょう!

違うドメインのタイムラインに投稿したとしても、投稿のデータはすべてあなたのドメインだけに保存されます。Concrntを楽しみましょう!

FAQ

よくある質問を掲載しています。

コンテナを起動したがアクセスできない・エラーが表示される

問題を切り分ける必要があります。

『このサイトにアクセスできません』と表示される

  • DNSにConcrntのFQDNが正しく登録されていますか?
  • ポートは正しく開放されていますか?(既定では 8080 で公開されます)
  • サーバーとクライアントのグローバルIPが同じ場合、正しくアクセスできない場合があります。Cloudflare Tunnelの利用を検討してみてください。

CSIDが表示されない・APIがエラーを返す

  • concrnt-compose/v2/etc/config/config.yaml は正しく設定されていますか?
  • データベースとの接続はきちんとできていますか?DBの設定を変えた場合、DSNの値は一致していますか?