Gitea 1.26.2 使用 Docker Compose 安装的完整指南。


方案一:SQLite 单容器(快速部署)

适合个人或小团队,无需额外数据库服务。

1. 创建目录与文件

bash

mkdir -p ~/gitea && cd ~/gitea

2. 编写 docker-compose.yml

yaml

version: "3"

networks:
  gitea:
    external: false

services:
  server:
    image: docker.gitea.com/gitea:1.26.2
    container_name: gitea
    environment:
      - USER_UID=1000
      - USER_GID=1000
    restart: always
    networks:
      - gitea
    volumes:
      - ./gitea:/data
      - /etc/timezone:/etc/timezone:ro
      - /etc/localtime:/etc/localtime:ro
    ports:
      - "3000:3000"   # Web 界面
      - "222:22"      # SSH 访问

官方文档指出,稳定版可指定具体版本号如 1.26.2:latest 标签可能指向开发版本。

3. 启动服务

bash

docker compose up -d

4. 查看状态

bash

docker compose ps
docker compose logs -f

方案二:PostgreSQL 双容器(生产推荐)

适合团队使用,数据库独立运行,性能更好。

docker-compose.yml

yaml

version: "3"

networks:
  gitea:
    external: false

services:
  server:
    image: docker.gitea.com/gitea:1.26.2
    container_name: gitea
    environment:
      - USER_UID=1000
      - USER_GID=1000
      - GITEA__database__DB_TYPE=postgres
      - GITEA__database__HOST=db:5432
      - GITEA__database__NAME=gitea
      - GITEA__database__USER=gitea
      - GITEA__database__PASSWD=your_secure_password_here
    restart: always
    networks:
      - gitea
    volumes:
      - ./gitea:/data
      - /etc/timezone:/etc/timezone:ro
      - /etc/localtime:/etc/localtime:ro
    ports:
      - "3000:3000"
      - "222:22"
    depends_on:
      - db

  db:
    image: postgres:16
    restart: always
    environment:
      - POSTGRES_USER=gitea
      - POSTGRES_PASSWORD=your_secure_password_here
      - POSTGRES_DB=gitea
    networks:
      - gitea
    volumes:
      - ./postgres:/var/lib/postgresql/data

生产环境务必修改默认密码!


方案三:MySQL 双容器

docker-compose.yml

yaml

version: "3"

networks:
  gitea:
    external: false

services:
  server:
    image: docker.gitea.com/gitea:1.26.2
    container_name: gitea
    environment:
      - USER_UID=1000
      - USER_GID=1000
      - GITEA__database__DB_TYPE=mysql
      - GITEA__database__HOST=db:3306
      - GITEA__database__NAME=gitea
      - GITEA__database__USER=gitea
      - GITEA__database__PASSWD=your_secure_password_here
    restart: always
    networks:
      - gitea
    volumes:
      - ./gitea:/data
      - /etc/timezone:/etc/timezone:ro
      - /etc/localtime:/etc/localtime:ro
    ports:
      - "3000:3000"
      - "222:22"
    depends_on:
      - db

  db:
    image: mysql:8.0
    restart: always
    environment:
      - MYSQL_ROOT_PASSWORD=root_password_here
      - MYSQL_USER=gitea
      - MYSQL_PASSWORD=your_secure_password_here
      - MYSQL_DATABASE=gitea
    networks:
      - gitea
    volumes:
      - ./mysql:/var/lib/mysql

初始化配置

启动后访问 http://服务器IP:3000

表格

配置项 说明
数据库类型 SQLite / PostgreSQL / MySQL(根据方案选择)
数据库主机 使用 Docker Compose 时填 db
应用 URL 填写最终访问地址,如 http://gitea.example.com
管理员账户 建议在此直接设置,否则第一个注册用户成为管理员

若数据库通过 docker-compose 启动,主机名必须使用 db


权限注意事项

如果使用主机卷(如 ./gitea:/data),需确保目录权限与容器内 UID/GID 一致:

bash

sudo chown -R 1000:1000 ./gitea

使用命名卷则无需手动设置权限,Docker 会自动处理。


常用命令

bash

# 启动
docker compose up -d

# 停止
docker compose down

# 查看日志
docker compose logs -f

# 升级(修改版本号后执行)
docker compose pull
docker compose up -d

# 进入容器
docker exec -it gitea /bin/bash

参考文档

​编辑gitea.com

Installation with Docker

​编辑​编辑

​编辑gitea.com

使用Docker 安装

​编辑​编辑

​编辑Gitea

Installation - Gitea

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐