serviceapp:forgejo
差分
このページの2つのバージョン間の差分を表示します。
| — | serviceapp:forgejo [2023/11/20 03:35] (現在) – 作成 - 外部編集 127.0.0.1 | ||
|---|---|---|---|
| 行 1: | 行 1: | ||
| + | ====== Forgejo ====== | ||
| + | [[https:// | ||
| + | Giteaは非常に便利なのだが、商用の方向に舵を切ったため、開発者の一部がforkしてForgejoがreleaseされた。 | ||
| + | |||
| + | ===== Install ===== | ||
| + | Forgejoはgoで記述されている。 | ||
| + | |||
| + | 現在の段階ではpkgでは導入できないが、開発中のportsを見つけたのでそれをりようしてみる。 | ||
| + | |||
| + | forgejoはGiteaのforkなので、Binaryを作成したらそのままGiteaと同じように利用できる | ||
| + | |||
| + | ==== 必要なPackage ==== | ||
| + | |||
| + | * git, nginx(今回はnginx-devel), | ||
| + | |||
| + | ==== 設定 ==== | ||
| + | 必要な設定を記載する | ||
| + | |||
| + | === / | ||
| + | |||
| + | * forgejoを起動するための設定 | ||
| + | * <code - rc.conf.local> | ||
| + | forgejo_enable=" | ||
| + | forgejo_home="/ | ||
| + | forgejo_shared="/ | ||
| + | </ | ||
| + | |||
| + | なお、/ | ||
| + | |||
| + | === / | ||
| + | 現在のportsのforgejoに付属のservice scriptはちょっと問題があるので、修正した | ||
| + | |||
| + | <code - forgejo> | ||
| + | #!/bin/sh | ||
| + | |||
| + | # PROVIDE: forgejo | ||
| + | # REQUIRE: NETWORKING SYSLOG | ||
| + | # KEYWORD: shutdown | ||
| + | # | ||
| + | # Add the following lines to / | ||
| + | # | ||
| + | # | ||
| + | |||
| + | . / | ||
| + | |||
| + | name=" | ||
| + | rcvar=" | ||
| + | |||
| + | load_rc_config $name | ||
| + | |||
| + | : ${forgejo_user: | ||
| + | : ${forgejo_enable: | ||
| + | : ${forgejo_facility: | ||
| + | : ${forgejo_priority: | ||
| + | : ${forgejo_shared: | ||
| + | : ${forgejo_custom: | ||
| + | |||
| + | command="/ | ||
| + | procname="/ | ||
| + | githome=" | ||
| + | : ${forgejo_home: | ||
| + | |||
| + | pidfile="/ | ||
| + | |||
| + | start_cmd=" | ||
| + | |||
| + | forgejo_start() { | ||
| + | for d in / | ||
| + | if [ ! -e " | ||
| + | mkdir " | ||
| + | chown ${forgejo_user} " | ||
| + | fi | ||
| + | done | ||
| + | / | ||
| + | -u ${forgejo_user} -p ${pidfile} \ | ||
| + | / | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | $command | ||
| + | } | ||
| + | |||
| + | run_rc_command " | ||
| + | </ | ||
| + | |||
| + | === / | ||
| + | |||
| + | / | ||
| + | * defaultではDBにSQLiteを利用するが、今回はすでにPostgreSQL Serverが動いているので、DBはそれを利用する。 | ||
| + | * defaultで待ち受けは3000/ | ||
| + | * Data用のDirectoryは、容量を40Gで作成した。FreeBSD VMに認識された時点で device nameはada1(xbd1) になったので、ここにZFSでData用FSを作成する | ||
| + | * < | ||
| + | gpart destroy -F ada1 | ||
| + | gpart create -s gpt ada1 | ||
| + | gpart add -a 4k -t freebsd-zfs -l ada1 ada1 | ||
| + | zpool create -O atime=off -O compression=lz4 -O normalization=formD zdata gpt/ada1 | ||
| + | mkdir / | ||
| + | mkdir /zdata/git | ||
| + | mkdir / | ||
| + | chown git:git / | ||
| + | </ | ||
| + | |||
| + | <code diff app.ini.diff> | ||
| + | bb-dweb01# cat app.ini.diff | ||
| + | *** app.ini.sample | ||
| + | --- app.ini | ||
| + | *************** | ||
| + | *** 29,44 **** | ||
| + | RUN_USER = git | ||
| + | |||
| + | [database] | ||
| + | ! DB_TYPE | ||
| + | ! HOST = 127.0.0.1: | ||
| + | NAME = forgejo | ||
| + | ! PASSWD | ||
| + | ! PATH = / | ||
| + | ! SSL_MODE = disable | ||
| + | USER = root | ||
| + | |||
| + | [indexer] | ||
| + | ! ISSUE_INDEXER_PATH = / | ||
| + | |||
| + | [log] | ||
| + | LEVEL = Info | ||
| + | --- 29,52 ---- | ||
| + | RUN_USER = git | ||
| + | |||
| + | [database] | ||
| + | ! # | ||
| + | ! #HOST = 127.0.0.1: | ||
| + | ! #NAME = forgejo | ||
| + | ! # | ||
| + | ! #PATH = / | ||
| + | ! #SSL_MODE = disable | ||
| + | ! #USER = root | ||
| + | ! DB_TYPE | ||
| + | ! HOST = 127.0.0.1: | ||
| + | NAME = forgejo | ||
| + | ! PASSWD | ||
| + | ! SSL_MODE = disable | ||
| + | USER = root | ||
| + | + SCHEMA = | ||
| + | |||
| + | [indexer] | ||
| + | ! # | ||
| + | ! ISSUE_INDEXER_PATH = / | ||
| + | |||
| + | [log] | ||
| + | LEVEL = Info | ||
| + | *************** | ||
| + | *** 46,58 **** | ||
| + | ROOT_PATH = / | ||
| + | |||
| + | [mailer] | ||
| + | ! ENABLED = false | ||
| + | |||
| + | [oauth2] | ||
| + | JWT_SECRET = CHANGE_ME | ||
| + | |||
| + | [picture] | ||
| + | ! AVATAR_UPLOAD_PATH | ||
| + | DISABLE_GRAVATAR | ||
| + | ENABLE_FEDERATED_AVATAR = false | ||
| + | |||
| + | --- 54,70 ---- | ||
| + | ROOT_PATH = / | ||
| + | |||
| + | [mailer] | ||
| + | ! #ENABLED = false | ||
| + | ! ENABLED | ||
| + | ! PROTOCOL = sendmail | ||
| + | ! FROM = " | ||
| + | |||
| + | [oauth2] | ||
| + | JWT_SECRET = CHANGE_ME | ||
| + | |||
| + | [picture] | ||
| + | ! # | ||
| + | ! AVATAR_UPLOAD_PATH | ||
| + | DISABLE_GRAVATAR | ||
| + | ENABLE_FEDERATED_AVATAR = false | ||
| + | |||
| + | *************** | ||
| + | *** 63,69 **** | ||
| + | SCRIPT_TYPE = sh | ||
| + | |||
| + | [repository.upload] | ||
| + | ! TEMP_PATH = / | ||
| + | |||
| + | [security] | ||
| + | INSTALL_LOCK | ||
| + | --- 75,84 ---- | ||
| + | SCRIPT_TYPE = sh | ||
| + | |||
| + | [repository.upload] | ||
| + | ! #TEMP_PATH = / | ||
| + | ! TEMP_PATH = / | ||
| + | ! FILE_MAX_SIZE = 4095 | ||
| + | ! MAX_FILES = 20 | ||
| + | |||
| + | [security] | ||
| + | INSTALL_LOCK | ||
| + | *************** | ||
| + | *** 72,81 **** | ||
| + | |||
| + | [session] | ||
| + | PROVIDER | ||
| + | ! PROVIDER_CONFIG = / | ||
| + | |||
| + | [server] | ||
| + | ! APP_DATA_PATH = / | ||
| + | DISABLE_SSH | ||
| + | DOMAIN | ||
| + | HTTP_ADDR | ||
| + | --- 87,98 ---- | ||
| + | |||
| + | [session] | ||
| + | PROVIDER | ||
| + | ! # | ||
| + | ! PROVIDER_CONFIG = / | ||
| + | |||
| + | [server] | ||
| + | ! # | ||
| + | ! APP_DATA_PATH = / | ||
| + | DISABLE_SSH | ||
| + | DOMAIN | ||
| + | HTTP_ADDR | ||
| + | *************** | ||
| + | *** 91,93 **** | ||
| + | --- 108,118 ---- | ||
| + | ENABLE_NOTIFY_MAIL | ||
| + | REGISTER_EMAIL_CONFIRM = false | ||
| + | REQUIRE_SIGNIN_VIEW | ||
| + | + | ||
| + | + [git.timeout] | ||
| + | + DEFAULT = 3600 # Git operations default timeout seconds | ||
| + | + MIGRATE = 7200 # Migrate external repositories timeout seconds | ||
| + | + MIRROR | ||
| + | + CLONE = 3600 # Git clone from internal repositories timeout seconds | ||
| + | + PULL = 3600 # Git pull from internal repositories timeout seconds | ||
| + | + GC = 900 # Git repository GC timeout seconds | ||
| + | </ | ||
| + | |||
| + | === PostgreSQL === | ||
| + | |||
| + | * PostgreSQLにlogin | ||
| + | * '' | ||
| + | * Roleを作成 | ||
| + | * '' | ||
| + | * DBを作成 | ||
| + | * '' | ||
| + | * '' | ||
| + | * forgejo serverのアドレスから、forgejoにforgejodbへの接続を許可する | ||
| + | |||
| + | ==== forgejo serverを開始する ==== | ||
| + | |||
| + | * service forgejo start | ||
| + | |||
| + | これで、forgejoのサービスが起動し、localhostの3000/ | ||
serviceapp/forgejo.1700418328.txt.gz · 最終更新: (外部編集)
