利用Hastebin实现简洁高效的代码分享
背景:
代码分享是一件很常见的事,之前我的代码分享一直都是qq传文件,高阶一点的就是用python的http.server来局域网传文件,但是都不够优雅。Ubuntu Pastebin貌似是比较好的选择,但是我又不知足,我想在自己的服务器上搭建一个代码分享服务。在网上找了一圈,由于我蹩脚的搜索能力,没有找到合适的开源项目,便搁置了。
在昨天打ichunqiu某场比赛的时候,vaala找到了某个关键文件,它是这样来分享代码的,https://paste.vaala.cloud/wuhuhoxaqo.php,点进去一看,我意识到这就是我想要的代码分享平台,简洁、高效,我记住了它的名字:Hastebin
。
今天中午一起床就打算开始部署Hastebin,一想到这种好项目一定有docker镜像,肯定一pull,一run,直接运行,简单的一批,不料这直接耗费了我一个下午。
过程:
由于官方文档年久失修,且没有提供现成的docker镜像,在中途主要遇到了以下主要问题。
-
页面能够正常访问,但是无法保存文章
-
经过查看项目issue,我在其中找到了第一个问题的解决方法,即把容器的存储方式改为file。这里丢上链接Issue #376 ,里面还有我的评论2333。
-
我十分开心,以为我已经成功部署了hastbin,直到我试着用手机访问我生成的链接。
-
我发现我的手机只能看到一个hastebin图标和绿色的背景,且所有按钮全黑不能进行任何操作。
-
这个问题极为离谱,我是在实验室机器上部署的服务,但是只有我自己的笔记本能够正常访问、写文章和保存。其他同学包括我自己的手机甚至都无法正常打开页面,我都怀疑是量子纠缠了。
解决办法:
-
经过我缜密的分析,我觉得一定是官方dockerfile和docker-compose太傻逼了。
-
用别人构建好的镜像,并使用file存储方式,一举成功。
1
2docker pull jonasled/haste-server
docker run -d --name haste-server -p 7777:7777 -e STORAGE_TYPE="file" -e STORAGE_FILEPATH="data" jonasled/haste-server
成果演示:
欢迎使用!