gitea在synology部署

在container-manager部署gitea

env

  • synology ds920+
  • container-manager
  • gitea

gogs vs gitea

  • Gogs 使用go开发的git service
  • Gitea 基于gogs开发

gogs

Gogs 是一款极易搭建的自助 Git 服务。 Gogs 的目标是打造一个最简单、最快速和最轻松的方式搭建自助 Git服 务。使用 Go 语言开发使得 Gogs 能够通过独立的二进制分发,并且支持 Go 语言支持的 所有平台,包括 Linux、Mac OS X、Windows 以及 ARM 平台。

Gogs 是由 Unknwon 发起的,目前为止他是 Gogs 主要的代码贡献者和唯一的维护者,换直白一点的话就是,Gogs 的代码不全是他写的,但主要是他写的,且他是唯一一个有权决定别人的代码是否被合并到 Gogs 的人

gitea

Gitea 是一个开源社区驱动的 Gogs 克隆

doc

1.pull image && import image

1.1pull
docker pull gitea/gitea:latest

1.2save
docker save -o  gitea.tar gitea/gitea

1.3ssh
ssh ds920+

1.4import
docker load -i gitea.tar

2.新建目录及部署gitea

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
version: '3'
services:
gitea:
image: gitea/gitea:latest
container_name: gitea
restart: always
ports:
- "10022:22"
- "13000:3000"
environment:
- UID=1026
- UID=100
- TZ=Asia/Shanghai
- SSH_PORT=10022 # clone url port
#- DOMAIN=192.168.3.222
#- SSH_DOMAIN=192.168.3.222:10022
#- SSH_PORT=10022
#- SSH_LISTEN_PORT=22
#- ROOT_URL=http://192.168.3.222:13000
volumes:
- /volume1/docker/gitea/data:/data

注意:uid/gid是synology默认登录账户信息(id即可获取), /data volumes挂载目录要有every write权限

完成后续数据库等初始化动作

3.登录验证

注册账户在登录

b3f5810ecd69609263159a1cbb3078a4.png

ssl nginx代理转发

nginx.conf 配置

## 将HTTP请求全部重定向至HTTPS
server {
    listen       80;
    server_name  xxxx;
    charset utf-8;
    rewrite ^ https://xxxx;
}

## 请求转发到Gitea容器
server {
    listen       443 ssl;
    server_name  xxxx;
    charset utf-8;
    ssl on;
    ssl_certificate         /etc/*/live/*/fullchain.pem;
    ssl_certificate_key     /etc/*/live/*/privkey.pem;
    ssl_session_timeout     10m;
    ssl_session_cache       shared:SSL:10m;
    location / {
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto https;
        proxy_pass    http://127.0.0.1:13000;
    }
    location ~ .*\.(js|css|png)$ {
        proxy_pass  http://127.0.0.1:13000;
    }
}