部署轻量级Gitea替代GitLab进行版本控制(二)

 

version: '3.9'
# 创建自定义网络
networks:
  gitea:
    name: gitea
    driver: bridge

services:
  ## 数据库服务
  db:
    image: postgres:latest
    container_name: gitea_db
    restart: always
    networks:
      - gitea # 加入到gitea网络
    ports:
      - 3003:5432
    environment:
      - POSTGRES_USER=gitea # PGSQL默认用户
      - POSTGRES_PASSWORD=gitea # PGSQL默认密码
      - POSTGRES_DB=gitea # PGSQL默认数据库
    volumes:
      - /volumes/gitea/db:/var/lib/postgresql/data
  #gitea服务
  server:
    image: gitea/gitea:latest
    container_name: gitea_server
    restart: always
    networks:
      - gitea # 加入到gitea网络
    ports:
      - '3000:3000' # HTTP服务端口
      - '3001:22' # SSH服务器端口
    environment:
      - USER_UID=1000 # 运行容器使用的 UID  UID和GID是用于匿名数据卷挂载,
      - USER_GID=1000 # 运行容器使用的 GID
      - APP_NAME=gitea
      - PROTOCOL=http # 服务使用的访问协议
      - HTTP_PORT=3000 # HTTP 侦听端口 默认为3000
      - SSH_PORT=22 # 克隆 URL 中显示的 SSH 端口
      - DOMAIN=82.157.55.94:3000 # UI显示的 HTTP克隆URL
      - LANDING_PAGE=explore
      - ROOT_URL=http://82.157.55.94:3000 # 服务器的对外 URL
      - DB_TYPE=postgres # 数据库类型
      - DB_HOST=db # 数据库连接地址, 使用network形式连接, serverName或者 containerName
      - DB_NAME=gitea # 数据库名称
      - DB_USER=gitea # 数据库连接用户
      - DB_PASSWD=gitea # 数据库连接密码

      - DISABLE_REGISTRATION=true # 禁用用户注册,启用后只允许管理员添加用户
      - SHOW_REGISTRATION_BUTTON=false # 是否显示注册按钮
      - REQUIRE_SIGNIN_VIEW=true # 是否所有页面都必须登录后才可访问

    volumes:
      - /volumes/gitea/server/data:/data
      - /volumes/gitea/server/config:/etc/config
      - /volumes/gitea/server/timezone:/etc/timezone:ro
      - /volumes/gitea/server/localtime:/etc/localtime:ro
    depends_on:
      - db

Dockerfile 配置文件中部署了两个容器: 一个是 Postgres(数据库)服务,一个是 Gitea服务。

使用 networks 添加了一个自定义网络。 两个容器都加入这个自定义网络中,使用自定义网络进行通讯。

PS:  Docker 中, 提供了一个  network 模块。同属于一个  network 下的容器可以使用  容器名称服务名称 直接通讯。

Postgres 服务中通过环境变量设置了默认的数据库、用户名称和用户密码信息。

Gitea 服务中通过环境变量设置了 运行容器的 UIDGID,HTTP 监听端口、UI 上显示的克隆 URL。连接数据库、禁用注册等信息,至于还有其它参数,可以自行查询

Gitea 端口号映射了两个 30003001,分别是 HTTP访问和 SSH 访问,不过现在基本上都使用 HTTP ,SSH` 可以使用参数禁用

在配置文件中有一个 depends_on 属性,这个属性是控制部署顺序的。意思是 Gitea 部署依赖 postgres 部署

使用这个配置安装成功后,会成功部署两个容器和创建一个 network,成功后可以进行访问Gitea

安全验证 - 知乎

相关推荐

  1. 部署轻量级Gitea替代GitLab进行版本控制

    2024-04-21 21:12:02       37 阅读
  2. 如何进行Web应用的版本控制部署

    2024-04-21 21:12:02       46 阅读
  3. 版本控制器git、github、gitlab

    2024-04-21 21:12:02       63 阅读
  4. 使用Git进行版本控制

    2024-04-21 21:12:02       32 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-21 21:12:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-21 21:12:02       101 阅读
  3. 在Django里面运行非项目文件

    2024-04-21 21:12:02       82 阅读
  4. Python语言-面向对象

    2024-04-21 21:12:02       91 阅读

热门阅读

  1. EF6(Entity Framework 6)基础知识

    2024-04-21 21:12:02       38 阅读
  2. Spring MVC 国际化

    2024-04-21 21:12:02       34 阅读
  3. js生成word

    2024-04-21 21:12:02       35 阅读
  4. 大数据:【学习笔记系列】Flink基础架构

    2024-04-21 21:12:02       35 阅读
  5. MariaDB简介

    2024-04-21 21:12:02       36 阅读
  6. 数仓建模—数据模型

    2024-04-21 21:12:02       36 阅读
  7. 怎样把pandas.core.frame.DataFrame数据写入excel文件?

    2024-04-21 21:12:02       30 阅读
  8. Elasticsearch:(二)1.安装Elasticsearch

    2024-04-21 21:12:02       33 阅读
  9. 分布式锁选型指南:Redis与ZooKeeper的较量与融合

    2024-04-21 21:12:02       35 阅读
  10. Linux下git维护

    2024-04-21 21:12:02       30 阅读
  11. 技术成长ing

    2024-04-21 21:12:02       32 阅读