おうちにCodiMD(HackMD)をたてて危ないメモ書きをする
2022年12月19日23:45
今となっては適当に怪文書を置くところを探すのに苦労して、自分専用+αぐらいならいっそおうち鯖でよくない?みたいな感じで立てて遊んでます。
11系のPostgresと合わせてどうぞ
めんどかったのでOfficialのdocker-compose.ymlとかDockerfileを眺めつつもcomposeだけちょっと書き換えて
version: "3"
services:
database:
image: postgres:11-bullseye
environment:
- POSTGRES_USER=codimd
- POSTGRES_PASSWORD=change_password
- POSTGRES_DB=codimd
volumes:
- "database-data:/var/lib/postgresql/data"
restart: always
codimd:
image: hackmdio/hackmd:2.4.2-cjk
environment:
- CMD_DB_URL=postgres://codimd:change_password@database/codimd
- CMD_USECDN=false
- CMD_DOMAIN=[ここにドメイン名を入力]
- CMD_PROTOCOL_USESSL=true
- CMD_AUTO_VERSION_CHECK=false
- CMD_DEFAULT_PERMISSION=limited
- CMD_IMAGE_UPLOAD_TYPE=filesystem
#- CMD_EMAIL=false
- CMD_ALLOW_EMAIL_REGISTER=false
- CMD_OAUTH2_CLIENT_ID=[謎の文字列]
- CMD_OAUTH2_CLIENT_SECRET=[謎の文字列2]
- CMD_OAUTH2_AUTHORIZATION_URL=https://[今回はNextcloudのドメイン]/apps/oauth2/authorize
- CMD_OAUTH2_TOKEN_URL=https://[今回はNextcloudのドメイン]/apps/oauth2/api/v1/token
- CMD_OAUTH2_USER_PROFILE_URL=https://[今回はNextcloudのドメイン]/ocs/v2.php/cloud/user?format=json
- CMD_OAUTH2_USER_PROFILE_USERNAME_ATTR=ocs.data.id
- CMD_OAUTH2_USER_PROFILE_DISPLAY_NAME_ATTR=ocs.data.display-name
- CMD_OAUTH2_USER_PROFILE_EMAIL_ATTR=ocs.data.email
depends_on:
- database
ports:
- "127.0.0.23:3000:3000"
volumes:
- upload-data:/home/hackmd/app/public/uploads
restart: always
volumes:
database-data: {}
upload-data: {}
あ、dbのPasswordは適当に変えてくださいね?
Postgresはとりあえずdebian系にしてますが、このぐらいだったら別にAlpineでもよかったよーな気がします(正直どっちでもいい)
Config周りはSSL有効環境(これ入れないとSSL混在のやつになる)+画像うpはローカル(Filesystem)+メアド登録無効+Nextcloud(OAuth2関係)を適当に
oauthをNextcloudに依存しているのは怖いのでなんかよしなにしたい気がしなくもないですが、それいうと他にそういう類の物が動いてない現状では従来通りログインするのがマシなのかなぁとか思ってしまった。これ以上増やすなら話変わってくるともいますが。
後はいい感じにフロントのnginxにリバプロ書けばいいです。127.0.0.23とか雑に切ってるのは適当に干渉したらいやだなーみたいな適当なやつです。深い意味は無いです。
(こっちは本当にほぼ一緒+今までのSSL周りを流用してるので省略)
今のところいい感じです。
オチとしては、ちらほらこーいう物を家で転がすようになってるので録画機のDockerにやらせずに独立したマシンでやらせたい物ですが都合が良いマシンって安価に転がっているわけではないので難しいですね。