今天给新开的阿里云主机(系统是 Ubuntu 22.04)安装一个私有的 git 仓库,选用 Gitea。

结果发现 apt 下没有这个软件包。想起来 ubuntu 开始用 snap 了,于是用 snap 试试。

root@ubuntu:~# snap install gitea
gitea v1.21.2 from Gitea installed

果然好使。

检查了一下,发现已经跑起来了。

ps aux | grep gitea
root      231929  1.4  9.8 1916768 171100 ?      Ssl  12:45   0:03 /snap/gitea/6697/gitea web

Snap 包是由 Ubuntu 的商业公司 Canonical 公司推出的一项技术,它为用户提供了一种轻松、可靠、跨平台的方式来获取和维护软件。

使用 sudo snap services gitea 命令,可以查看服务状态:

$ sudo snap services gitea
Service    Startup  Current  Notes
gitea.web  enabled  active   -

查看详细日志可以使用 snap logs 命令:

snap logs gitea

#  也可以使用 journalctl
sudo journalctl -u snap.gitea.*

snap 安装的 gitea 实际安装目录是 /snap/gite

gitea 端口

默认情况下 gitea 运行在 3000 端口:

# lsof -i:3000
COMMAND    PID USER   FD   TYPE  DEVICE SIZE/OFF NODE NAME
gitea   231929 root    3u  IPv6 1664271      0t0  TCP *:3000 (LISTEN)

重启 gitea:

sudo snap restart gitea

配置 nginx 反向代理

server {
    listen 80;
    server_name gitea.crowall.com;
    return 301 https://gitea.crowall.com$request_uri;
}

server {
    listen 443 ssl http2;
    server_name gitea.crowall.com;

    ssl_certificate "/root/.acme.sh/gitea.crowall.com_ecc/fullchain.cer";
    ssl_certificate_key "/root/.acme.sh/gitea.crowall.com_ecc/gitea.crowall.com.key";

    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_prefer_server_ciphers on;
    ssl_ciphers "EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH";
    ssl_ecdh_curve secp384r1;
    ssl_session_cache shared:SSL:10m;
    ssl_session_tickets off;
    ssl_stapling on;
    ssl_stapling_verify on;

    location / {
        proxy_pass http://localhost:3000;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
    }
}


标签: ubuntu, gitea, snap