はじめに
自宅サーバーGit管理環境を準備しようと昔利用していたGitLabの構築を検討していたが、GitLab-runnnerは、Github Actionsとの書き方が違うとのことを知ったため、Github Actionsに互換があるForgejo runnerを利用したくForgejoを利用しようと思い選択。
また、Proxmoxには、簡易インストールできるサイト「Proxmox VE Helper-Scripts」でインストールをしようと考えたが、2024年で更新が終わっているのか最新になっていないようだったので、自分で構築することにしてみた。
環境
・Proxmox VE9
・Debian13
・Docker
・Forgejo:14
Proxmoxの物理サーバ
・CPU:AMD Ryzen9 8945HS 8c/16s
・メモリ:32GB
・ディスク:1TB
インストール手順
事前準備
Proxmox コンテナ作成
- CT作成
- テンプレート;debian-13-standard_13.1-2_amd64.tar.zst
- ディスクサイズ:64GB
- メモリ:2GB
- CPU:1コア
Docker install
# Add Docker's official GPG key:
apt install ca-certificates curl
install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc
chmod a+r /etc/apt/keyrings/docker.asc
# Add the repository to Apt sources:
tee /etc/apt/sources.list.d/docker.sources <<EOF
Types: deb
URIs: https://download.docker.com/linux/debian
Suites: $(. /etc/os-release && echo "$VERSION_CODENAME")
Components: stable
Signed-By: /etc/apt/keyrings/docker.asc
EOF
apt update
apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
Dockerグループ追加
adduser xxxx docker
インストール
Dockerディレクトリ構成
Forgejo
|
└---- Foregejo
|
|---- compose.yml
|
└---- config
|
|-------- forgejo.env
└-------- db.env
compose.ymlファイル
compose.yaml
services:
server:
image: codeberg.org/forgejo/forgejo:14.0.1 # バージョンは最新を確認してください
container_name: forgejo
env_file:
- ./config/forgejo.env
restart: always
networks:
- forgejo_net
volumes:
- ./forgejo:/data
- /etc/localtime:/etc/localtime:ro
ports:
- "3000:3000"
- "222:22"
depends_on:
- db
db:
image: mariadb:11.8.5-ubi9
restart: always
env_file:
- ./config/db.env
networks:
- forgejo_net
volumes:
- db_data:/var/lib/mysql
# ボリュームの定義
volumes:
db_data: # Dockerが内部で管理する領域
networks:
forgejo_net:
driver: bridge
forgejo.env
forgejo.env
USER_UID=1000
USER_GID=1000
FORGEJO__database__DB_TYPE=mysql
FORGEJO__database__HOST=db:3306
FORGEJO__database__NAME=forgejo
FORGEJO__database__USER=forgejo
FORGEJO__database__PASSWD=forgejo
db.env
db.env
MYSQL_ROOT_PASSWORD=forgejo
MYSQL_USER=forgejo
MYSQL_PASSWORD=forgejo
MYSQL_DATABASE=forgejo
TZ=Asia/Tokyo
実行コマンド
docker compose up -d
動作確認
http://xxx.xxx.xxx.xxx:3000に接続
初期設定
初期設定完了後の動作画面(ログイン画面)
まとめ・参考資料
Forgejo Runnerまで設定できなかったので、別の機会、投稿します

