お試し用に家の Ubuntu サーバマシンに Forgejo を入れてみたメモ。

Forgejo は Gitea のフォークで、最近よく見かける Codeberg も Forgejo らしい。 フォークの経緯については Forgejo のブログ記事 Beyond coding, We forge. に書かれている。

読み方は「フォジェーオ」?
Forgejo FAQ に読み上げ音声へのリンクがある。


前提:

  • 個人用途
  • Tailscale 経由でアクセス
  • SQLite

Docker Compose でセットアップ

compose.yaml を書いて

networks:
  forgejo:
    external: false

services:
  server:
    image: codeberg.org/forgejo/forgejo:15
    container_name: forgejo
    environment:
      - USER_UID=1000
      - USER_GID=1000
      - FORGEJO__server__SSH_PORT=222
    restart: always
    networks:
      - forgejo
    volumes:
      - ./forgejo:/data
      - /etc/localtime:/etc/localtime:ro
    ports:
      - '3000:3000'
      - '222:22'

Docker Compose で起動

docker compose -f compose.yaml up -d

FORGEJO__server__SSH_PORT を設定しておくと Web UI 上で SSH ポートが反映されるようになる。networks まわりの記載は不要かも。 データベースはデフォルトだと SQLite が使われる。

参考リンク:

GitHub リポジトリのマイグレーション

Forgejo は GitHub などからリポジトリをマイグレーションすることができる。

+ メニューから New migration を選ぶとマイグレーション元のプロバイダが選べて…

forgejo-migrate-1

例えば GitHub を選択すると以下のような画面になる。UI の通りに進めていけば良い。

forgejo-migrate-2

Issue や PR もマイグレーションできる。 ただ、試してみたところ画像や添付ファイルはマイグレーションされず、GitHub のリソースへのリンクのままになるので要注意。 (go-gitea/gitea#33374)

画像や添付ファイルも移行したい場合は別途作業が必要になる。