以Docker rootless方式部署gitea

新建数据目录 由于博主使用的是rootless方式部署,所以需要提前创建目录并修改属主 mkdir -p /gitea/data && chown 1000:1000 -R /gitea/data mkdir -p /gitea/config && chown 1000:1000 -R /gitea

新建数据目录

由于博主使用的是rootless方式部署,所以需要提前创建目录并修改属主

mkdir -p /gitea/data && chown 1000:1000 -R /gitea/data
mkdir -p /gitea/config && chown 1000:1000 -R /gitea/config

Docker部署

docker compose的yaml文件如下,可参考。可根据注释自行做必要的修改。

services:
  server:
    image: docker.io/gitea/gitea:latest-rootless #镜像版本,需要使用带rootless的版本
    environment:
      - USER_UID=1000
      - USER_GID=1000
      - GITEA__database__DB_TYPE=mysql
      - GITEA__database__HOST=db:3306
      - GITEA__database__NAME=gitea # 数据库名,需要与mysql启动时设置的数据库名相同。
      - GITEA__database__USER=gitea # 数据库用户名,需要与mysql启动时设置的用户名相同。
      - GITEA__database__PASSWD=gitea # 数据库密码,需要与mysql启动时设置的密码相同。
      - ROOT_URL=https://gitea.example.com # 访问的URL
    restart: always
    volumes:
      - /gitea/data:/var/lib/gitea # 数据挂载目录,可根据需要修改
      - /gitea/config:/etc/gitea # 配置挂载目录,可根据需要修改
      - /etc/timezone:/etc/timezone:ro
      - /etc/localtime:/etc/localtime:ro
    ports:
      - "33333:3000" # http(s)暴露的端口
      - "22222:22" # ssh暴露的端口
    depends_on:
      - db
  db:
    image: docker.io/library/mysql:8
    restart: always
    environment:
      - MYSQL_ROOT_PASSWORD=gitea # mysql的root用户密码,可根据需要修改。
      - MYSQL_USER=gitea # mysql的用户名
      - MYSQL_PASSWORD=gitea # mysql的密码
      - MYSQL_DATABASE=gitea # mysql的数据库名
    volumes:
      - /gitea/mysql:/var/lib/mysql # 挂载mysql目录,可根据需要修改

参考资料

  1. 使用 Docker 安装 (rootless) | Gitea Documentation

LICENSED UNDER CC BY-NC-SA 4.0
Comment