docker之快速部署gogs git

前言

  • gogs简介

    • Gogs 是一款极易搭建的自助 Git 服务。
    • Gogs 的目标是打造一个最简单、最快速和最轻松的方式搭建自助 Git 服务。使用 Go 语言开发使得 Gogs 能够通过独立的二进制分发,并且支持 Go 语言支持的 所有平台,包括 Linux、Mac OS X、Windows 以及 ARM 平台。
  • 为什么使用gogs
    • gogs轻量
    • gogs自带git update
    • gogs操作简洁

基于docker快速搭建

  • 准备数据库

    • 如果之前没有数据库,可以使用docker快速部署mysql或mariadb
mkdir -p ~/mysql/data ~/mysql/logs ~/mysql/conf
docker run -p 3306:3306 --name mymysql -v $PWD/conf:/etc/mysql/conf.d -v $PWD/logs:/logs -v $PWD/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.6
  • 配置数据库
MariaDB [(none)]> create database gogs default character set utf8;
MariaDB [(none)]> grant all on gogs.* to ‘gogs‘@‘%‘ identified by ‘gogspass‘;
  • 如果已经有docker搭建数据库,可以使用下面的方法通过docker自有的网络互通,当然简单的方法就是通过访问外网的端口使用数据库
docker network ls
docker network connect dockeronlyofficenextcloudmysql_onlyoffice gogs
docker run -itd --name=gogs -p 10022:22 -p 10080:3000 -e TZ=Asia/Shanghai -v /volume1/docker/gogs:/data gogs/gogs

gogs配置

gitlab vs gogs 资源消耗

  • gitlab

  • gogs

配置文件查看

cat gogs/conf/app.ini

APP_NAME = Aiker Edward
RUN_USER = git
RUN_MODE = prod

[database]
DB_TYPE  = mysql
HOST     = mariadb:3306
NAME     = gogs
USER     = gogs
PASSWD   = gogspass
SSL_MODE = disable
PATH     = data/gogs.db

[repository]
ROOT = /data/git/gogs-repositories

[server]
DOMAIN           = gogs.abc.com
HTTP_PORT        = 3000
ROOT_URL         = http://gogs.abc.com/
DISABLE_SSH      = false
SSH_PORT         = 10022
START_SSH_SERVER = false
OFFLINE_MODE     = false

[mailer]
ENABLED = false

[service]
REGISTER_EMAIL_CONFIRM = false
ENABLE_NOTIFY_MAIL     = false
DISABLE_REGISTRATION   = false
ENABLE_CAPTCHA         = true
REQUIRE_SIGNIN_VIEW    = true
SHOW_REGISTRATION_BUTTON = false

[picture]
DISABLE_GRAVATAR        = false
ENABLE_FEDERATED_AVATAR = true

[session]
PROVIDER = file

[log]
MODE      = file
LEVEL     = Info
ROOT_PATH = /data/log

[security]
INSTALL_LOCK = true # true关闭web配置向导,false打开web配置向导
SECRET_KEY   = NbSgKURfSaFxcdxW

配置基于nginx ssl的反向代理

server {
    listen 443 ssl http2;
    listen [::]:443 ssl http2;

    server_name gogs.abc.com;

    ssl_certificate /usr/syno/etc/certificate/ReverseProxy/3a2b92d0-ea43-4c88-a7a0-e8be86104850/fullchain.pem;

    ssl_certificate_key /usr/syno/etc/certificate/ReverseProxy/3a2b92d0-ea43-4c88-a7a0-e8be86104850/privkey.pem;

    add_header Strict-Transport-Security "max-age=15768000; includeSubdomains; preload" always;

    location / {
        proxy_set_header        Host                $http_host;
        proxy_set_header        X-Real-IP           $remote_addr;
        proxy_set_header        X-Forwarded-For     $proxy_add_x_forwarded_for;
        proxy_set_header        X-Forwarded-Proto   $scheme;
        proxy_intercept_errors  on;
        proxy_http_version      1.1;

        proxy_pass http://localhost:10080;

    }

}

这样就可以通过https+域名访问了。

原文地址:https://blog.51cto.com/m51cto/2387801

时间: 2024-10-02 14:31:24

docker之快速部署gogs git的相关文章

Docker+Nextcloud快速部署个人网盘

各位大佬好,,,萌新顾北清又回来更新了,今天要快速部署一个人网盘. 有多快呢,,,5分钟吧,因为我们使用Docker部署. Docker基础可以看看我之前的博文.(点这里点这里) 那么,,,开始吧. 实验环境:小伙伴的阿里云服务器,安装的是Centos7的系统,要安装的网盘叫Nextcloud 下面开始安装 第一步 老规矩,先安装Docker环境. 命令如下: [[email protected] ~]# yum install -y docker Loaded plugins: fastest

docker容器-快速部署Jenkins

1.在本地虚拟机环境.安装CentOS 7,并安装docker容器 2.在docker容器中执行  docker pull jenkinsci/blueocean 3.查看已经下载的Jenkins镜像 docker images 4.创建jenkins_home 启动一个 Jenkins容器 创建一个jenkins目录 mkdir /home/jenkins_home 启动一个jenkins容器 docker run --name jenkins -p 8081:8080 -p 50000:50

Docker 快速部署Zabbix-server

玩Docker有段时间了,最近需要多个地方快速部署zabbix监控,所以使用docker可以快速部署,省去繁琐的安装过程. 组成:mysql //可以使用现成的mysql或者自行docker搭建zabbix-server-mysql //zabbix-server后台程序zabbix-web-nginx-mysql //zabbix-server前台web程序,包含phpzabbix-agent //zabbix客户端 #安装mysql--省略-- #安装zabbix-server-mysql后

docker快速部署DNS,实现快速上线

```# 概念 Docker 是一个开源的应用容器引擎,Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级.可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化.这里我将使用docker容器快速部署DNS域名解析服务器,并实现快速上线 # 环境介绍 1. DNS服务器主机:172.18.0.2 域名:dns.jkyst.xyz 2. 客户端机器:172.18.0.3 域名:client1.jkyst.xyz 3. 客户端机器:172.18.0.4 域名:clie

【技术解析】如何用Docker实现SequoiaDB集群的快速部署

1. 背景 以Docker和Rocket为代表的容器技术现在正变得越来越流行,它改变着公司和用户创建.发布.运行分布式应用的方式,在未来5年将给云计算行业带来它应有的价值.它的诱人之处在于: 1)资源独立.隔离 资源隔离是云计算平台的最基本需求.Docker通过Linux namespace, cgroup限制了硬件资源与软件运行环境,与宿主机上的其他应用实现了隔离,做到了互不影响.不同应用或服务以"集装箱"(container)为单位装"船"或卸"船&q

docker 快速部署nacos注册中心

docker 快速部署nacos注册中心 拉去并启动docker-compose 服务 # git 拉去相关文件 git clone https://github.com/nacos-group/nacos-docker.git # 进入文件夹 cd nacos-docker/example # 运行docker-compose 服务 docker-compose -f standalone-mysql.yaml up # 关闭 容器服务命令 docker-compose -f standalo

使用Docker快速部署Storm环境

Storm的部署虽然不是特别麻烦,但是在生产环境中,为了提高部署效率,方便管理维护,使用Docker来统一管理部署是一个不错的选择.下面是我开源的一个新的项目,一个配置好了storm与mono环境的Docker镜像编排:storm-mono-docker. 这个项目得益于https://github.com/ptgoetz/storm-vagrant和https://github.com/wurstmeister/storm-docker:在此感谢他们的付出!项目使用的Docker镜像托管在 h

运维人员的解放----Docker快速部署

Docker是一个用了一种新颖方式实现的超轻量虚拟机,在实现的原理和应用上还是和VM有巨大差别,专业的叫法是应用容器(Application Container).(我个人还是喜欢称虚拟机) Docker应用容器相对于 VM 有以下几个优点: 启动速度快,容器通常在一秒内可以启动,而 VM 通常要更久 资源利用率高,一台普通PC 可以跑上千个容器,你跑上千个 VM 试试 性能开销小, VM 通常需要额外的 CPU 和内存来完成 OS 的功能,这一部分占据了额外的资源 因为VM 的 Hypervi

HyperLedger/Fabric SDK使用Docker容器镜像快速部署上线

HyperLedger/Fabric SDK Docker Image 该项目在github上的地址是:https://github.com/aberic/fabric-sdk-container (感谢Star). 这是一个基于fabric-sdk-java的项目,该项目的主要目的是简化HyperLedger/Fabric开发人员在SDK应用层上的工作流程,使得开发和部署更加简单. 该项目使用方便,只需要你的服务器上部署有Docker及docker compose环境即可,通过docker-c