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 · 最終更新: 2023/11/20 03:30 (外部編集)