docker-compose 部署gitea

  • ~2.82K 字
  1. 1. 说明
  2. 2. 代码
    1. 2.1. 网络
    2. 2.2. docker-compose.yaml 文件
    3. 2.3. .env 文件

说明

使用了一段时间 gitlab,发现 gitlab 过于占用服务器资源,找了一圈发现个人使用还是 gitea 比较合适,现在把所有代码库都迁移到 gitea 上,然后再部署一套 Drone,以后利用其对一些服务进行自动化部署

代码

网络

docker 网络采用上次创建 local-networks 网络

docker-compose.yaml 文件

version: '3.6'
services:
    ${DOCKER_NAME}:
        image: ${DOCKER_IMAGE}
        container_name: ${DOCKER_NAME}
        restart: always
        ports:
            - ${WEB_PORT_EXPOSE}:3000
            - ${SSH_PORT_EXPOSE}:22
        environment:
            - USER_UID=1000
            - USER_GID=1000
            - APP_NAME=${SERVICE_NAME}
            - RUN_MODE=prod
            - RUN_USER=git
            - DOMAIN=${SERVICE_DOMAIN}
            - SSH_DOMAIN=${SERVICE_DOMAIN}
            - HTTP_PORT=3000
            - ROOT_URL=https://${SERVICE_DOMAIN}
            - DISABLE_SSH=true
            - SSH_PORT=22
            - SSH_LISTEN_PORT=22
            - LFS_START_SERVER=true
            - DB_TYPE=${DB_TYPES}
            - DB_HOST=${DB_HOSTS}
            - DB_NAME=${DB_NAMES}
            - DB_USER=${DB_USERS}
            - DB_PASSWD=${DB_PASSWDS}
            - DISABLE_REGISTRATION=true
            - REQUIRE_SIGNIN_VIEW=true
            - ENABLE_OPENID_SIGNUP=false
            - GITEA__repository__DEFAULT_PRIVATE=private
            - GITEA__repository__FORCE_PRIVATE=true
            - GITEA__server__LANDING_PAGE=explore
            - GITEA__service__DISABLE_USERS_PAGE=true
            - GITEA__service__SHOW_MILESTONES_DASHBOARD_PAGE=false
            - GITEA__openid__ENABLE_OPENID_SIGNIN=false
            - GITEA__time__FORMAT=2006-01-02 15:04:05
            - GITEA__time__DEFAULT_UI_LOCATION=Asia/Shanghai
            - GITEA__other__SHOW_FOOTER_VERSION=false
            - GITEA__other__SHOW_FOOTER_BRANDING=false
            - GITEA__webhook__ALLOWED_HOST_LIST=${ALLOWED_HOST_LIST}
        volumes:
            # linux使用
            - "/usr/share/zoneinfo/Asia/Shanghai:/etc/localtime:ro"
            # macos使用
            # - "/var/db/timezone/zoneinfo/Asia/Shanghai:/etc/localtime:ro"
            - "./etc/gitea:/data/gitea"
            - "./data/gitea-data/ssh:/data/ssh"
            - "./data/gitea-data/git:/data/git"
        networks:
            local-networks:
                ipv4_address: 172.20.0.3

networks:
    local-networks:
        external: true

.env 文件

# 应用名称
SERVICE_NAME=
# 服务域名
SERVICE_DOMAIN=
# 镜像名称
DOCKER_NAME=
DOCKER_IMAGE=gitea/gitea:1.17.3

# 仅允许内部 CI ,本地机器使用 SSH 访问服务
SSH_PORT_EXPOSE=127.0.0.1:1122
# 仅允许内部 CI ,本地机器使用 web 访问服务
WEB_PORT_EXPOSE=127.0.0.1:3000
#钩子白名单
ALLOWED_HOST_LIST=

# 数据库 可选 mysql, postgres, mssql 或 sqlite3
DB_TYPES=
DB_HOSTS=
DB_NAMES=
DB_USERS=
DB_PASSWDS=