V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
The Go Programming Language
http://golang.org/
Go Playground
Go Projects
Revel Web Framework
7sDream
V2EX  ›  Go 编程语言

Rikka 又更新辣!满足需求支持又拍云咯~

  •  
  •   7sDream ·
    7sDream · 2016-09-16 09:50:46 +08:00 · 1599 次点击
    这是一个创建于 2992 天前的主题,其中的信息可能已经有所发展或是发生改变。

    前情回顾

    给没听过 Rikka 的朋友们的前情回顾

    简介

    简单来说 Rikka 是个 「个人图床系统」,好吧我知道很多人写过这种了(比如很好用的 iPic )……然而,谁叫我刚学 Golang 呢,随便找了个项目当 Helloworld 而已。

    最开始的 Rikka 只是个小项目,只能把文件储存在当前服务器,然后开一个静态文件 Handler 来提供这些图片。后来我想了想,把储存后端变成了插件的形式,这样可以支持储存在不同的服务里,便于后期加插件。

    对了, Rikka 是发布了 Docker 镜像的,自己部署起来超级方便!

    目前已经支持本地储存,七牛云,又拍云啦~

    Demo

    目前有三个 Demo 了,都在 DaoCloud 上:

    三个的密码都是默认的 rikka

    截图上次的帖子截了,反正没什么变化,这次就不截了。

    更新了啥

    上次发帖大家提了几个需求,我准备慢慢写,这次写了几个:

    • 文件链接加上图片后缀名( 0.2.1 )
    • CLI 支持批量上传,提供二进制下载( 0.2.2 , Rikkac 0.5.0 )
    • 改写 JS ,提高浏览器兼容性,感谢 @Codefalling( 0.2.3 , 0.2.4 bug fix )
    • 写完了又拍云插件( 0.3.0 )

    其中 JS 用 ES5 改写了,上次帖子里试用 Demo 出错的朋友这次可以再试试,应该不会有什么错了。

    CLI 支持批量上传

    大概就这样,可以批量提供文件名,如果 shell 支持的话用通配符也行。

    Rikkac 的文档: https://github.com/7sDream/rikka/blob/master/rikkac/README.zh.md

    然后 Rikkac 提供了二进制下载,不过暂时只有 Linux 的: https://github.com/7sDream/rikka/releases/tag/Rikkac

    部署

    DaoCloud 部署教程:

    各种链接:

    Github : https://github.com/7sDream/rikka

    Dockerhub : https://hub.docker.com/r/7sdream/rikka/

    中文 README : https://github.com/7sDream/rikka/blob/master/README.zh.md

    部署文档: https://github.com/7sDream/rikka/blob/master/deploy.zh.md

    后续计划

    • 微博插件
    • HTTPS 支持
    • 插件编写文档(虽然除了我应该也不会有人写插件就是了)

    一些讨论

    下面这几个问题希望大家帮忙讨论一下。

    HTTPS

    关于如何去支持 HTTPS 我有点纠结,因为我自己试了试,用 letsencrypt 生成证书,用 http 模块自带的 ListenAndServeTLS 函数就能支持 HTTPS 了。

    但是问题在于, Rikka 主要是以 Docker App 的形式运行的,所以你没法提供给它证书文件,除非开个 Volume 专门放两个证书,但是这样这个 Volume 很浪费啊……

    所以我很纠结要如何支持 HTTPS ,技术上没问题,但是用起来有点麻烦,所以暂时没写。

    关于支持多插件

    上一篇有个朋友希望能够在一个 Rikka App 里用多个插件。因为这是和我最初的设计不一样的,如果要改成这样那么插件的架构需要有小修改, API 也需要改,虽然说不难但是会向前不兼容, Rikkac 也会不兼容,很麻烦。

    纠结了很久还是算了吧, Sorry 了朋友,不过 Rikka 是开源的,你完全可以 Fork 一份自己改成想要的样子~

    关于 Demo

    咳咳,我发现我每写一个插件就要多个 Demo ,这样下去我负担不起呀! DaoCloud 考不考虑赞助我一下?毕竟我都帮你们打了这么久广告了(手动滑稽~

    好了不开玩笑,正经点。

    Demo 确实不可能无休止的加呀,所以我准备过几天就把 fs 和 upai 的 Demo 关了,暂时只留个七牛的好了。当然辣,如果有人赞助我的话 Demo 多多益善。

    End

    以上,谢谢大家。

    迟来的:大家中秋快乐~

    14 条回复    2016-09-23 21:43:14 +08:00
    kn007
        1
    kn007  
       2016-09-16 10:05:40 +08:00
    中秋快乐。
    sdrzlyz
        2
    sdrzlyz  
       2016-09-16 10:15:19 +08:00   ❤️ 1
    docker -v 挂载证书
    7sDream
        3
    7sDream  
    OP
       2016-09-16 10:19:35 +08:00
    @kn007 快乐快乐~~


    @sdrzlyz 嗯啊,所以说还是要 Volume 呀,目前想的也是这样……
    bdbai
        4
    bdbai  
       2016-09-16 10:22:44 +08:00 via Android
    同问有没有好办法让 Docker 镜像支持 https 。
    huybery
        5
    huybery  
       2016-09-16 10:47:05 +08:00
    来支持一下七七辣
    Lentin
        6
    Lentin  
       2016-09-16 12:15:43 +08:00
    试试弄个这个?免费配额也不少
    https://www.qcloud.com/product/ci.html
    7sDream
        7
    7sDream  
    OP
       2016-09-16 12:20:01 +08:00
    @Lentin 可以可以,下一个 Demo 试试这个~
    7sDream
        8
    7sDream  
    OP
       2016-09-16 12:22:07 +08:00
    @Lentin 嗷,原来这是个图片储存啊……我还以为是 DaoCloud 替代品呢……那我写完微博插件再写这个吧。
    isCyan
        9
    isCyan  
       2016-09-16 23:18:50 +08:00 via Android
    环境变量里写上 SSL 证书链接…… 所以我就说还是交给 NGINX 之类的比较好,真正原因在于 443 端口只有一个
    7sDream
        10
    7sDream  
    OP
       2016-09-17 00:37:33 +08:00
    @isCyan 但是服务器的 HTTPS 验证还需要私钥呀……总不能私钥也写公开在互联网上吧……
    isCyan
        11
    isCyan  
       2016-09-17 09:34:18 +08:00 via Android
    @7sDream 可以各种加密然后再…… 诶,感觉无解了
    nekoyaki
        12
    nekoyaki  
       2016-09-18 00:44:55 +08:00
    ……你这头像和这名字倒是莫名搭
    7sDream
        13
    7sDream  
    OP
       2016-09-18 00:47:14 +08:00
    @nekoyaki 当然辣~Dark Flame Master !
    7sDream
        14
    7sDream  
    OP
       2016-09-23 21:43:14 +08:00
    @Lentin

    https://github.com/7sDream/rikka/wiki

    兄弟我把腾讯的 COS 和 CI 的插件都写完了,顺便还写完了微博的~
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1060 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 19:52 · PVG 03:52 · LAX 11:52 · JFK 14:52
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.