利用Hastebin实现简洁高效的代码分享

背景:

代码分享是一件很常见的事,之前我的代码分享一直都是qq传文件,高阶一点的就是用python的http.server来局域网传文件,但是都不够优雅。Ubuntu Pastebin貌似是比较好的选择,但是我又不知足,我想在自己的服务器上搭建一个代码分享服务。在网上找了一圈,由于我蹩脚的搜索能力,没有找到合适的开源项目,便搁置了。

在昨天打ichunqiu某场比赛的时候,vaala找到了某个关键文件,它是这样来分享代码的,https://paste.vaala.cloud/wuhuhoxaqo.php,点进去一看,我意识到这就是我想要的代码分享平台,简洁、高效,我记住了它的名字:Hastebin

今天中午一起床就打算开始部署Hastebin,一想到这种好项目一定有docker镜像,肯定一pull,一run,直接运行,简单的一批,不料这直接耗费了我一个下午。

过程:

由于官方文档年久失修,且没有提供现成的docker镜像,在中途主要遇到了以下主要问题。

  1. 页面能够正常访问,但是无法保存文章

  2. 经过查看项目issue,我在其中找到了第一个问题的解决方法,即把容器的存储方式改为file。这里丢上链接Issue #376 ,里面还有我的评论2333。

  3. 我十分开心,以为我已经成功部署了hastbin,直到我试着用手机访问我生成的链接。

  4. 我发现我的手机只能看到一个hastebin图标和绿色的背景,且所有按钮全黑不能进行任何操作。

  5. 这个问题极为离谱,我是在实验室机器上部署的服务,但是只有我自己的笔记本能够正常访问、写文章和保存。其他同学包括我自己的手机甚至都无法正常打开页面,我都怀疑是量子纠缠了。

解决办法:

  • 经过我缜密的分析,我觉得一定是官方dockerfile和docker-compose太傻逼了。

  • 用别人构建好的镜像,并使用file存储方式,一举成功。

    1
    2
    docker pull jonasled/haste-server
    docker run -d --name haste-server -p 7777:7777 -e STORAGE_TYPE="file" -e STORAGE_FILEPATH="data" jonasled/haste-server

成果演示:

hastebin截图

欢迎使用!

http://paste.wuuconix.link


利用Hastebin实现简洁高效的代码分享
https://wuuconix.link/2021/08/01/paste/
作者
wuuconix
发布于
2021年8月1日
许可协议