跳到主要内容

Forgejo

官方网站

Forgejo 是一个开源的、自托管的 Git 服务平台,基于 Gitea 分支开发,提供轻量级、高效的代码托管方案。

官方网站:https://forgejo.org

Docker方式安装

compose文件

创建 compose.yml 文件,内容如下:

version: '3'

services:
forgejo:
image: codeberg.org/forgejo/forgejo:latest
container_name: forgejo
restart: always
environment:
- USER_UID=1000
- USER_GID=1000
- FORGEJO__database__DB_TYPE=postgres
- FORGEJO__database__HOST=db:5432
- FORGEJO__database__NAME=forgejo
- FORGEJO__database__USER=forgejo
- FORGEJO__database__PASSWD=forgejo_password
ports:
- "3000:3000"
- "222:22"
volumes:
- ./data:/data
depends_on:
- db

db:
image: postgres:14
container_name: forgejo-db
restart: always
environment:
- POSTGRES_USER=forgejo
- POSTGRES_PASSWORD=forgejo_password
- POSTGRES_DB=forgejo
volumes:
- ./postgres:/var/lib/postgresql/data

env文件

创建 .env 文件(可选),用于集中管理环境变量:

FORGEJO_VERSION=latest
POSTGRES_USER=forgejo
POSTGRES_PASSWORD=forgejo_password
POSTGRES_DB=forgejo
USER_UID=1000
USER_GID=1000

启动

compose.yml 所在目录执行:

docker compose up -d

启动后访问 http://localhost:3000 完成首次配置。

配置文件

Forgejo 配置文件位于容器内路径 /data/gitea/conf/app.ini,首次启动后自动生成,常用配置项示例如下:

[server]
DOMAIN = git.example.com
HTTP_PORT = 3000
ROOT_URL = https://git.example.com/
SSH_PORT = 22
DISABLE_SSH = false

[database]
DB_TYPE = postgres
HOST = db:5432
NAME = forgejo
USER = forgejo
PASSWD = forgejo_password

[security]
INSTALL_LOCK = true

修改配置后需重启容器生效。

备注

  • 推荐使用反向代理(如Nginx或Traefik)实现HTTPS访问。
  • 定期备份数据目录(./data)和数据库目录(./postgres)。
  • 更新镜像前务必备份数据,避免数据丢失。
  • 查看日志排查问题:docker compose logs -f forgejo