插件窝 干货文章 如何配置docker gogs

如何配置docker gogs

Gogs Docker 配置 MySQL 164    来源:    2025-04-28

Docker Gogs 配置指南

Gogs 是一个用 Go 语言编写的轻量级自托管 Git 服务,类似于 GitHub。以下是使用 Docker 配置 Gogs 的详细步骤。

1. 准备工作

确保已安装: - Docker - Docker Compose (推荐)

2. 快速启动 (最简单方式)

docker run -d --name=gogs -p 10022:22 -p 3000:3000 -v /var/gogs:/data gogs/gogs

访问 http://localhost:3000 进行初始配置。

3. 推荐的生产环境配置 (使用 Docker Compose)

创建 docker-compose.yml 文件:

version: '3'

services:
  gogs:
    image: gogs/gogs
    container_name: gogs
    ports:
      - "3000:3000"
      - "10022:22"
    volumes:
      - ./gogs_data:/data
    restart: unless-stopped
    environment:
      - TZ=Asia/Shanghai

然后运行:

docker-compose up -d

4. 初始配置

  1. 访问 http://your-server-ip:3000
  2. 按照向导完成安装:
    • 数据库类型: SQLite3 (简单) 或 MySQL/PostgreSQL (生产环境推荐)
    • 应用 URL: 设置你的域名或IP
    • SSH 端口: 10022 (与docker映射一致)
    • HTTP 端口: 3000
    • 其他设置按需配置

5. 高级配置

使用外部数据库

修改 docker-compose.yml 添加数据库服务:

version: '3'

services:
  gogs:
    image: gogs/gogs
    depends_on:
      - db
    # ...其他配置同上...
    environment:
      - DB_TYPE=mysql
      - DB_HOST=db:3306
      - DB_NAME=gogs
      - DB_USER=gogs
      - DB_PASSWD=yourpassword

  db:
    image: mysql:5.7
    environment:
      - MYSQL_ROOT_PASSWORD=rootpassword
      - MYSQL_DATABASE=gogs
      - MYSQL_USER=gogs
      - MYSQL_PASSWORD=yourpassword
    volumes:
      - ./mysql_data:/var/lib/mysql

使用 HTTPS

  1. 配置反向代理 (如 Nginx) 处理 SSL
  2. 修改 Gogs 配置中的 ROOT_URLhttps://your-domain.com

备份与恢复

备份数据目录 (/data 卷) 和数据库即可。

6. 常见问题解决

问题1: SSH 克隆失败 - 确保主机 SSH 端口 (默认10022) 未被占用 - 检查 Gogs 配置中的 SSH 端口与映射一致

问题2: 性能问题 - 生产环境推荐使用 MySQL/PostgreSQL 而非 SQLite3 - 增加服务器资源

问题3: 忘记管理员密码

docker exec -it gogs sh
cd /app/gogs
./gogs admin create-user --name=admin --password=newpassword --admin --email=admin@example.com

7. 升级 Gogs

docker-compose pull
docker-compose up -d

升级前建议备份数据目录和数据库。

通过以上步骤,你应该能够成功配置并运行 Docker 版的 Gogs Git 服务。