0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Forgejoをwsl上のdocker-composeで動かす

Posted at

Forgejoとは

freeで使える軽量なセルフホスト型のフォージソフトウェア
平たく言えばgiteaの派生。

参考

前提

  • windowsPCを使うこと。
  • windowsPCにWSLをインストールしておくこと
  • dockerをあらかじめインストールすること

Forgejo実行

docker-composeを書いて、実行するまでを記す。
wsl上で下記のコマンドを実行して、docker-compose.ymlを作成する

mkdir forgejo
cd forgejo
touch docker-compose.yml

何らかのテキストエディタでdocker-compose.ymlを開く
中身はgiteaのものをベースにして作ればOK。例えば下記。

version: "3"

networks:
  gitea:
    external: false

services:
  server:
    image: codeberg.org/forgejo/forgejo:1.19.3-0
    container_name: forgejo
    environment:
      - USER_UID=1000
      - USER_GID=1000
      - GITEA__database__DB_TYPE=postgres
      - GITEA__database__HOST=db:5432
      - GITEA__database__NAME=mydb # 適宜修正
      - GITEA__database__USER=myuser # 適宜修正
      - GITEA__database__PASSWD=mypassword # 適宜修正
    restart: always
    networks:
      - gitea
    volumes:
      - ./dddd:/data # 適宜修正
    ports:
      - "xxxx:3000" # 適宜修正
      - "yyyy:22"   # 適宜修正
    depends_on:
      - db

  db:
    image: postgres:14
    restart: always
    environment:
      - POSTGRES_USER=myuse # 適宜修正
      - POSTGRES_PASSWORD=mypassword # 適宜修正
      - POSTGRES_DB=mydb # 適宜修正
    networks:
      - gitea
    volumes:
      - ./postgres:/var/lib/postgresql/data

パスワードとかユーザ名は適宜変える。見てわかる通り、DBにはpostgresを使っている
書き終えたら下記を実行

docker compose up

フロントグラウンド処理になるのでバックグラウンドで動かしたいなら``-d```オプションをつける
最初はちゃんと動いているのを確認するためにオプションはつけないほうがいいかも?

accept connectionが表示されればOK
ブラウザで下記URLにアクセスしたら表示される

http://localhost:xxxx

初期設定画面が表示されるが、特にいじらなくていい。
「forgejoをインストール」をクリックしてしばらく待つ。
インストールできれば、アカウント登録して利用したらいい。

ポート設定

localで使う分には設定がいらないが、lan内から使うにはポートの設定が必要。
主に下記の2つ

  • WSLのポートフォワーディング設定
  • windowファイアーウォール設定

wslのポートフォワーディング設定

wsl上で下記を実行する。

ifconfig

eth0のネットワークにwslのipアドレスがあるので記憶しておく。
次に、パワーシェルを管理者として開き、下記を実行する。

netsh interface portproxy add v4tov4 listenport="windowsのポート" connectport="WSLのポート(forgejoのポート)" connectaddress="wslのipアドレス"

下記を実行して、設定が反映されていればOK

netsh interface portproxy show all

windowsファイアーウォール設定

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?