Git

这里仅说说 git 仓库服务的搭建。

GOGS 一款极易搭建的自助 Git 服务

https://gogs.io/

https://github.com/gogits/gogs

用来取代 github, gitlab

下载后解压即可用

可以使用本地 sqlite 做数据库, 并使用自带的 ssh, 基本无依赖, 部署方便.

为了使用 22 端口 建议用 setcap 工具设置程序属性.

配置参考
# https://gogs.io/docs/advanced/configuration_cheat_sheet

APP_NAME = Gogs
RUN_USER = git
RUN_MODE = prod

[database]
DB_TYPE  = sqlite3
PATH     = data/gogs.db

[repository]
#ROOT = ../gogs-repositories

[server]
DOMAIN           = git.tyio.net
HTTP_PORT        = 63000
ROOT_URL         = https://git.tyio.net/
DISABLE_SSH      = false
SSH_PORT         = 22
START_SSH_SERVER = true
OFFLINE_MODE     = true

[mailer]
ENABLED = false

[service]
REGISTER_EMAIL_CONFIRM = false
ENABLE_NOTIFY_MAIL     = false
DISABLE_REGISTRATION   = true
ENABLE_CAPTCHA         = false
REQUIRE_SIGNIN_VIEW    = true

[picture]
DISABLE_GRAVATAR        = true
ENABLE_FEDERATED_AVATAR = false

[session]
PROVIDER = file

[log]
MODE      = file
LEVEL     = Info
ROOT_PATH = ./log

[security]
LOGIN_REMEMBER_DAYS = 365
nginx
upstream gogs {
    server localhost6:63000;
    keepalive 16;
}

server {
    server_name  gogs.*;
    location / {
        proxy_pass http://gogs;
    }
}
start up
kill $(pgrep gogs)
sleep 1
./gogs web </dev/null >gogs.log 2>&1 &

Gitea, fork from Gogs

https://github.com/go-gitea/gitea

增加了一些功能,可以更好地和 drone 集成。