跳过正文
Forgejo

Forgejo

目录

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 ,见:

https://nichijou.hearthesea.one/posts/notes/openssh/

作者
Ask Me Why