Docker #
以下是 compose.yaml 文件示例:
networks:
forgejo:
external: false
services:
server:
image: codeberg.org/forgejo/forgejo:11
container_name: forgejo
environment:
- USER_UID=1000
- USER_GID=1000
restart: always
networks:
- forgejo
volumes:
- ./forgejo:/data
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
ports:
- '3000:3000'
- '222:22'
如果 codeberg.org 无法访问,您可以将每个提及 codeberg.org 替换为 data.forgejo.org 。
3000 是网页登陆端口,222 是 ssh 端口。
请结合实际情况进行修改
请注意,该卷的所有者应为配置文件中指定的 UID/GID 对应的用户/组。如果没有为卷设置正确的权限,容器可能无法启动。
配置 #
对 Forgejo 配置文件的任何更改都应在 custom/conf/app.ini 或任何相应位置进行。从发行版安装时,通常可在 /etc/forgejo/app.ini 找到。
注意:无法使用环境变量来删除现有值,必须通过编辑 app.ini 文件来完成。
注意:需要完全重启才能使 Forgejo 配置更改生效。
电子邮件设置 #
https://forgejo.org/docs/latest/admin/setup/email/
注意:如果你的 smtp 服务器和 forgejo 都在 Docker 内且都在同一宿主机中,forgejo smtp 设置后发送测试邮件会不成功,提示无法建立连接,原因是网络问题,需要自己排查解决。如果想省事的话,直接使用别的 smtp 服务器。
推荐设置和提示 #
https://forgejo.org/docs/latest/admin/setup/recommendations/
反向代理 #
以 Caddy 为例:
对于 HTTPS :
git.example.com {
reverse_proxy 127.0.0.1:3000
}
对于带有子路径的 HTTPS:
example.com {
route /code/* {
uri strip_prefix /code
reverse_proxy 127.0.0.1:3000
}
}
升级 #
从 X 升级到 X+1 (例如从 9 升级到 10 ) 需要手动操作和人工验证。但是,可以使用 X 标签 (例如10 ) 自动获取最新的次要版本。
实践 #
ssh 不显示未知指纹警告 #
可参考:
https://nichijou.hearthesea.one/posts/notes/about-git-setting/
总的来说,将 forgejo 的 ssh 公钥找到,按照格式添加 ssh 密钥条目即可。
非标准情况 #
如果 ssh 端口是非标准端口,以及密钥文件路径是非标准路径,还需要配置 ssh ,见: