之前代码都是托管在jihulab,最近试用到期了,遂转投Github发现居然LFS只有1GB的免费额度,超过之后需要收费,果断又放弃。由于自己有几台闲置的云服务器,因此考虑自行搭建。之前使用过gogs,这次准备尝试一下其衍生版gitea

没有云服务器的小伙伴可以看看阿里云/腾讯云有没有什么活动,或者可以白piao试用一个来进行实验。

Gitea 的搭建非常容易,官方提供了对应的docker-compose.yml 文件,在docker 是好用的情况下一行命令即可启动服务。

需要注意的是如果拉去镜像出现TLS handshake timeout 这个错误是由于网络环境不稳定造成的,可以尝试更改docker的下载镜像解决。

version: "3"

networks:
  gitea:
    external: false

services:
  server:
    image: gitea/gitea:1.21.7
    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=gitea
    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:14
    restart: always
    environment:
      - POSTGRES_USER=gitea
      - POSTGRES_PASSWORD=gitea
      - POSTGRES_DB=gitea
    networks:
      - gitea
    volumes:
      - ./postgres:/var/lib/postgresql/data

使用命令启动服务

# 最新docker版本使用如下命令
docker compose up
# 老版本使用以下命令启动
docker-compose up

访问服务器的地址+端口号如:http://<server-ip>:3000 即可显示安装界面

lpS16OwpzWmWhjPehA44yZKvKepBCV0sBbtkwNlCVtU.png

安装完成后,创建用户即可使用

4WigJnuZCbCkJbG_egSYAUANHyYaP4B67Hs7ogGb7lo.png

如果要关闭公开注册则可以设置app.ini 文件,然后重启下容器即可

[service]
DISABLE_REGISTRATION = true