当前位置: 首页 > news >正文

极空间NAS部署gitea教程

极空间NAS部署gitea步骤教程

  • 背景
  • 1. 准备镜像
    • 1.1 极空间官方
    • 1.2 Win系统docker再上传
    • 1.3 镜像转录
  • 2. MySql配置
    • 2.1 容器配置
    • 2.2 命令行配置
  • 3. gitea配置
    • 3.1 容器配置
    • 3.2 打开网页
    • 3.3 网页配置安装
  • 参考资料

背景

极空间Nas和别的Nas不同的地方就在于,他不是那种标准的Linux系统,docker的部署也存在一些不同的地方,不像别的系统一样是敲命令行,导致像我这种对docker还没有多少理解的人想要抄资料都没办法好好抄。

所幸折磨了一个晚上还是调通了,这里就把我的流程步骤以及踩过的坑都记录下来当做参考。

该文不附带内网穿透等连接到外网的教程,只是配置与部署gitea。

1. 准备镜像

我们需要以下两个镜像:mySql和gitea/gitea。

所以首先需要一个能下载镜像的方式(2025年3月17日10:11:29,截止此时我个人测试极空间官方自带的docker镜像下载功能还是有些问题的),总之我把可用的方案都列在这里作为参考。

1.1 极空间官方

如果你发现极空间官方的docker可以直接下载我们所需要的两个镜像,就不需要大费周章了。

也就是图示的两个地方如果可以直接搜索出来就直接下载。
在这里插入图片描述

在这里插入图片描述

1.2 Win系统docker再上传

注意:此方法需要梯子,能上外网才行。

win系统的docker下载,然后上传到极空间。
https://www.docker.com/
跳过那些安装时的一些设置啥的,总之你首先需要保证安装完docker正常启动之后,将他添加到环境变量中。(环境变量窗口->下方的系统变量->Path)
在这里插入图片描述
打开cmd(Win+R,输入cmd后确认或者别的你能想到的办法)

先输入一个docker,看看有反应没有,有反应就算成功了。
在这里插入图片描述
接下来把镜像下载下来,依次输入这两条指令。

  • 注意:不要在docker的UI界面上找对应镜像点击pull下载,这样下载的镜像是不能用的,因为这样操作只会下载你的系统可以用的版本而不是极空间docker可以用的版本。等你添加容器的时候就会因为架构不同而报错。
  • 为了防止读者因为版本不同流程不一样而安装失败,放上我安装时的版本,实在没办法可以将指令中的latest改成我的版本再试试(gitea:1.23,mySql:9.2)
docker pull gitea/gitea:latest --platform=arm64
docker pull mysql:latest --platform=arm64

把这两个玩意下载完之后,输入这条指令查一下镜像是不是都在了(或者你也可以打开docker客户端自己看一下)。

docker images

在这里插入图片描述

接下来将包导出到本地,输入这两条指令。(只要没有报错,就表示保存成功了,成功是没有提示的)

docker save -o mysql.tar mysql
docker save -o gitea.tar gitea/gitea

最后在你的电脑本地地址找到这两个包,具体的地址就是你打开cmd时的地址。实在找不到你就对着mysql.tar整个电脑搜索吧。
在这里插入图片描述
找到这两个包之后,传到极空间里面,最后再用docker添加就行。
在这里插入图片描述

1.3 镜像转录

注意:请先跳到该小节末尾直接进行最后一段的操作(加粗斜体部分)看看能否直接成功,如果不行再逐步进行。
注意:全流程进行此方法需要你能上github并且有github的可用账号。

https://github.com/DaoCloud/public-image-mirror/issues/2328
进入这个网址,点击页面的主动同步镜像按钮。
在这里插入图片描述

会打开一个issue,标题输入

docker.io/gitea/gitea:latest

提交,等待结束之后,页面的底部会有一个回复,得到替换地址。
在这里插入图片描述
mysql同理,只是issue的标题不一样。

docker.io/mysql:latest

最后一步:

将镜像站的替换地址,放到极空间里面拉取,这里贴上一般情况下他的替换地址。

m.daocloud.io/docker.io/gitea/gitea:latest
m.daocloud.io/docker.io/mysql:latest

在这里插入图片描述

2. MySql配置

2.1 容器配置

在极空间的docker中,准备好我们所需要的两个镜像之后,依次将其配置完添加到容器中。

MySql的容器配置项:左边那个你自己找个喜欢的文件夹,右边装载路径这样填

/var/lib/mysql

在这里插入图片描述

端口3306和33060,本地端口可以随便填,只要不和别的容器端口冲突即可,不知道就也填3306和33060。

在这里插入图片描述

环境这一栏要新增四行内容(其实只有MYSQL_ROOT_PASSWOR是必要的,剩下三行其实我也没搞懂是做啥的,姑且给他加上)。

MYSQL_ROOT_PASSWORD
MYSQL_DATABASE
MYSQL_USER
MYSQL_PASSWORD

在这里插入图片描述

命令这样配置

'mysqld' 
'docker-entrypoint.sh'

在这里插入图片描述
全部弄好了就把容器运行起来,不出意外的话一般是会运行成功的,进日志看一下。

2.2 命令行配置

接下来我们需要让mysql给gitea开一个数据库用。
在这里插入图片描述
在这里插入图片描述

先登录账号,输入这一行指令之后他会让你输入对应的密码,就是你刚刚在MYSQL_ROOT_PASSWORD配置的

mysql -u root -p

不出意外的话登录成功后界面和我是差不多的。
在这里插入图片描述
接下来创建一个数据库,名字可以自己换,懒得想就和我一样就行。
记得末尾要加分号才算是一个完整的mysql语句

create database gitea;

创建完成后,到你一开始配置的文件夹里面,找一下有没有对应的文件夹被创建,这就代表数据库创建成功了,当然你可以再输入一次指令,mysql也会提醒你数据库已创建。

这下mysql的准备就全部完成了。

3. gitea配置

接下来配置gitea。容器配置部分就不念了,直接对着图配置吧。需要手动填入的部分也照例写一遍方便复制。

3.1 容器配置

/data

在这里插入图片描述

在这里插入图片描述

USER_UID
USER_GID

在这里插入图片描述

'/usr/bin/s6-svscan' '/etc/s6' 
'/usr/bin/entrypoint' 

在这里插入图片描述

配置完成后运行,不出意外的话应该是不会出意外。

3.2 打开网页

接下来用电脑的浏览器打开gitea的配置网址,格式是这样的:http://192.168.xx.x:xxxx/

其中,前面那个ip地址通过点开极空间客户端的系统配置功能,选网络相关配置的选项就能找到。
在这里插入图片描述
冒号后面的是端口号,就是刚才在创建容器时,端口栏中你填入的本地端口(例图中是2222或3000)。

所以按照格式,我的地址就是:http://192.168.31.13:3000,这当然不会是你的地址,仅作参考。

3.3 网页配置安装

打开网页之后会有一个初始化配置,重点讲一下这几个怎么填。(图为借用)

  • 数据库主机:前面那个ip地址也是你刚刚查到的,一样。后面那个端口号就是你在配置mysql时,你填入的本地端口,比如说我就是13306。(注意,这里填入时不要加http://)
  • 用户名:root,写死的。
  • 数据库密码:配置mysql时,MYSQL_ROOT_PASSWORD 填入的内容,也是我们刚刚用命令行时输入登录的密码。
  • 数据库名称:当时我们在终端通过create database创建的数据库名称,文章中是gitea
    在这里插入图片描述

剩下的站点名称啥的随意填一下,其他的保持默认即可。最后点击页面底部的安装。

点安装后页面会卡在加载别的页面的样子,这是正常现象不要反复去点安装按钮,几分钟后就安装完成了。

参考资料

手拉手教你在极空间Docker上安装Gitea并实现SSH提交代码 - 极空间 - 我的NAS捣鼓笔记 | Aayu Yain = 学无止境 = 世界上大部分事,都没太大意义。真理与热爱除外
https://blog.aayu.today/nas/zspace/20220822-2/

极空间nas docker搭建 gitea 个人代码托管服务器和mysql5.7 - 知乎
https://zhuanlan.zhihu.com/p/661063655

极空间Docker搭建MoneyNote(九快记账)私有记账平台 - 知乎
https://zhuanlan.zhihu.com/p/684882868

相关文章:

  • 初始OpenCV
  • ## DeepSeek写射击手机小游戏
  • Redis GeoHash 详解
  • 深入理解 C# 反射 的使用
  • Redis常用进阶 存储原理和主从思路
  • 前端利用Turf.js实现对地图上的点聚合算法
  • 基于HTML5的连连看游戏开发实践
  • 天梯赛L2-003 月饼满分(笔记)
  • 基于mediapipe深度学习的运动人体姿态提取系统python源码
  • 汇川EASY系列之以太网通讯(MODBUS_TCP做从站)
  • RocketMQ分布式场景篇
  • C语言自定义类型【结构体】详解,【结构体内存怎么计算】 详解 【热门考点】:结构体内存对齐
  • tauri2项目在本地启动一个服务器,并支持控制停止还是启动
  • FPGA-DE2115开发板实现流水灯
  • 更改 docker0 IP
  • 第五章-PHP函数
  • 批处理脚本编译vs工程
  • LoRA中黑塞矩阵、Fisher信息矩阵是什么
  • C++中new和delete如何构建简单对象和复杂对象?
  • c++介绍进程间的通信一
  • 双拥主题歌曲MV:爱我人民,爱我军
  • 影子调查丨掉落的喷淋头:太原一7天酒店加盟店消防设施造假迷局
  • 商务部:美方应彻底取消所有对华单边关税措施
  • 上海市统计局:经济运行开局平稳,高质量发展扎实推进
  • 这场宣介会,重庆市委书记和中联部部长同台为外宾答疑解惑
  • “未来3天公布”,特朗普俄乌“和平计划”是什么?普京泽连斯基什么态度?