极空间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