当前位置: 首页 > 软件库 > 服务器软件 > 存储系统 >

picbed

基于 Flask 的 Web 自建图床
授权协议 BSD
开发语言 Python HTML/CSS
所属分类 服务器软件、 存储系统
软件类型 开源软件
地区 国产
投 递 者 幸越泽
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

正式名称:sapic

基于Flask的Web自建图床,默认存储在本地,支持又拍云、七牛云、阿里云OSS、腾讯云COS等对象存储。

手动部署

  1. 要求: Python3.8+(含PyPy)和Redis

  2. 下载: git clone https://github.com/sapicd/sapic && cd sapic

  3. 依赖: pip install -r requirements/prod.txt # 也可以参考详情文档如何按需安装依赖包

  4. 配置:

    src目录下的config.py即配置文件,它会加载中 .cfg 文件读取配置信息, 无法找到时加载环境变量,最后使用默认值,必需的配置项是picbed_redis_url。

    所以可以把配置项写到 .bash_profile.bashrc 此类文件中在登录时加载, 也可以写入到 .cfg 文件里,这是推荐的方式,它不会被提交到仓库, 格式是k=v,每行一条,注意:v是所见即所得!

    比如:sapic_redis_url=redis://@localhost

  5. 启动:

    // 首先创建一个管理员账号 -h/--help显示帮助
    $ flask sa create -u USER -p PASSWORD --isAdmin
    
    // 开发环境启动
    $ make dev
    
    // 正式环境,若需前台启动,将start换成run即可;其他支持stop、reload、restart、status
    $ make start 或 sh online_gunicorn.sh start
    
  6. Nginx:

    // 默认配置下,sapic启动监听127.0.0.1:9514,nginx配置示例:
    server {
        listen 80;
        server_name sapic.domain.name;
        charset utf-8;
        client_max_body_size 20M;
        location ~ ^\/static\/.*$ {
            root /path/to/sapic/src/;
        }
        location / {
           proxy_pass http://127.0.0.1:9514;
           proxy_set_header Host $host;
           proxy_set_header X-Real-IP $remote_addr;
           proxy_set_header X-Forwarded-Proto $scheme;
           proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }
    }
    

使用Docker部署

  • 手动构建镜像

    源码中已经编写了Dockerfile文件,可以藉此构建picbed镜像。

    $ git clone https://github.com/sapicd/sapic && cd sapic
    $ docker build -t staugur/sapic .
    
  • 使用已上传镜像

    已设置CI实现提交代码自动构建并推送到官方Docker仓库中,直接pull即可:

    $ docker pull staugur/sapic  # 或者加上tag拉取某稳定版本的镜像
    
  • 启动镜像

    $ docker run -tdi --name sapic --restart=always --net=host \
        -e sapic_redis_url="Your Redis URL" -e other_config_key=value \
        staugur/sapic
    $ docker exec -i sapic flask sa create -u 管理员账号 -p 密码 --isAdmin
    

    使用 docker run 启动镜像的命令可以自行修改,picbed所用配置可以使用-e设置 环境变量,必需项sapic_redis_url,其他请参考文档。

文档

详细文档请访问:Sapic Docs

演示站

http://demo.sapicd.com

测试账号及密码:demo 123456(请勿修改)

对外服务,为防止乱传已关闭匿名上传,随意注册,但不可用于非测试用途,图片保留删除权利!

 相关资料
  • 有人能回答我的困境,使用哪种方法将Android设备连接到mySQL或PostgreSQL? 我可以用这两种方式来做,没有任何错误和问题,没有明显的区别,但每个人都建议使用web服务而不是使用jdbc驱动程序和直接连接,

  • 问题内容: 该脚本绘制控件,英雄,表面和地图: 有一个英雄,当玩家使用控件移动他时必须重新绘制,所有其他可绘制对象也必须重新绘制。问题在于绘制地图是一个漫长的过程,因此我创建的地图越大,英雄移动的速度就越慢,因为必须绘制地图的每个图块。有没有一种方法可以将所有图块以其他方法放置到一个位图,然后在canvas方法中绘制该位图? 问题答案: 最好的选择是只绘制地图在屏幕上可见的部分。这样,无论整个地图

  • 基于Web的Neo4j图数据库管理工具是我们与Neo4j数据库主要的用户交互接口。使用它,你可以: - 监控 Neo4j 服务器 - 维护和浏览数据 - 通过控制台与数据库直接进行交互操作 - 浏览管理对象(JMX MBeans) 在你安装了Neo4j服务器后,这个工具可以通过地址: http://127.0.0.1:7474/访问。要使用它与嵌入模式的Neo4j图数据库交互,请参考:server

  • 但是我需要添加另一个特性--我需要启用前缀过滤器。例如:当我搜索test_table(10个字符)时,我能够得到结果,因为最大n-gram是10,但是当我尝试test_table_for时,它返回零结果,因为记录没有这个标记。 我怎样才能添加一个基于前缀的过滤器也为现有的n-gram分析器?就像我应该能够得到匹配的结果最多10个字符时搜索(目前工作),而且我应该能够建议什么时候搜索字符串匹配记录从

  • 我想创建基于自动完成输入的动态谷歌地图。我把代码写成:- 地图没出现。请解决它..我通过参考https://youtu.be/2n_r0ndekgc上的视频编写了代码

  • 问题内容: 我正在设计一个简单的基于Web的应用程序。我是这个基于Web的领域的新手,我需要您提供有关设计模式的建议,例如应如何在Servlet之间分配职责,创建新Servlet的条件等。 实际上,我主页上的实体很少,而与每个实体相对应,我们几乎没有添加,编辑和删除等选项。之前,我为每个选项使用一个Servlet,例如Servlet1用于添加实体1,Servlet2用于编辑实体1,依此类推,这样我