gitea默认数据库sqlite及data目录介绍

1. SQLite 持久化位置(Gitea)

在你给的 docker-compose 配置中:

1
2
volumes:
- ./data:/data

1.1 实际存储路径

Gitea 容器内的默认数据目录是:

/data

SQLite 数据库文件默认位置:

/data/gitea/gitea.db

👉 宿主机映射后:

./data/gitea/gitea.db

1.2 数据目录结构(关键)

1
2
3
4
5
6
7
8
9
10
11
./data/
├── gitea/
│ ├── gitea.db # SQLite数据库
│ ├── conf/
│ │ └── app.ini # 配置文件
│ ├── log/ # 日志
│ └── sessions/
├── git/
│ └── repositories/ # Git仓库存储(裸仓库)
├── ssh/ # SSH key
└── attachments/ # 附件

1.3 核心结论

  • SQLite 不是单独配置的
  • 是 Gitea 默认数据库(如果你没改)
  • 所有状态数据都在 /data

👉 所以:

只要 ./data 目录在,Gitea 就是“持久化”的


2. ports 端口作用

你的配置:

1
2
3
ports:
- "3000:3000"
- "222:22"

2.1 3000:3000(Web UI / API)

说明
容器端口 3000
宿主机端口 3000
作用 Web访问

访问方式:

http://<host>:3000

用途:

  • Web UI(类似 GitHub)
  • REST API
  • 管理后台

2.2 222:22(SSH Git 访问)

说明
容器端口 22
宿主机端口 222
作用 Git SSH

访问方式:

1
git clone ssh://git@host:222/username/repo.git

2.3 为什么不用默认 22?

因为:

  • 宿主机通常已经有 SSH(22)
  • 避免端口冲突

👉 所以映射成 222


3. 整体访问路径

flowchart LR
    User -->|HTTP 3000| GiteaWeb
    User -->|SSH 222| GiteaSSH
    GiteaWeb --> Data[/data/]
    GiteaSSH --> Data