なぜこの記事を書こうと思ったのか
CodiMDの Docker deployment 方法は、公式ページにやり方が乗っているのですが、
https://hackmd.io/c/codimd-documentation/%2Fs%2Fcodimd-docker-deployment
DockerとDocker Composeのインストール方法が詳しく乗っておりませんでした。
誰かの役に立つかもしれないので、DockerとDocker Composeのインストール方法を含めたやり方をメモとして残しておきます。
環境
Ubuntu 24.04.3 LTS
Docker 28.5.1
Docker Compose 2.40.1
CodiMD 2.6.0
手順
Docker の公式 GPG キーを追加
sudo apt-get update
sudo apt-get install -y ca-certificates curl vim
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
リポジトリを Apt ソースに追加
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
Dockerパッケージをインストール
sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
Docker Composeをインストール
sudo curl -SL https://github.com/docker/compose/releases/download/v2.40.1/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
ユーザーをdockerグループに追加
sudo usermod -aG docker $USER
newgrp docker
フォルダ作成 & 設定ファイルを作成
sudo mkdir codimd
cd codimd
sudo vim docker-compose.yml
services:
database:
image: postgres:11.6-alpine
environment:
- POSTGRES_USER=codimd
- POSTGRES_PASSWORD=change_password
- POSTGRES_DB=codimd
volumes:
- "database-data:/var/lib/postgresql/data"
restart: always
codimd:
image: nabo.codimd.dev/hackmdio/hackmd:2.6.0
environment:
- CMD_DB_URL=postgres://codimd:change_password@database/codimd
- CMD_USECDN=false
- CMD_ALLOW_ANONYMOUS=true
- CMD_IMAGE_UPLOAD_TYPE=filesystem
depends_on:
- database
ports:
- "3000:3000"
volumes:
- upload-data:/home/hackmd/app/public/uploads
restart: always
volumes:
database-data: {}
upload-data: {}
コンテナを起動
docker-compose up
ブラウザで http://IPアドレス:3000
にアクセス
まとめ
4年ぶりくらいにDockerに触れたのですが、自分が知っているDocker、Docker Composeのインストール方法と大分違ってて焦りました。
(;゚д゚)ェ…
個人的にはDockerに潜ってアレコレするのが苦手なので、Manual deployment の方がオススメなのですが、
久しぶりにDockerを触れて勉強になりました!
参考にさせていただいたサイト
https://hackmd.io/c/codimd-documentation/%2Fs%2Fcodimd-docker-deployment
https://qiita.com/nouernet/items/7dfb11cd8c3c929821b1