picbed 正在参加 2020 年度 OSC 中国开源项目评选,请投票支持!
picbed 在 2020 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
投票让它出道
已投票
授权协议: BSD
开发语言: Python HTML/CSS
操作系统: 跨平台
收录时间: 2020-01-07
提 交 者: SaintIC

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

手动部署

  1. 要求: Python2.7、Python3.5+(含PyPy)和Redis

  2. 下载: git clone https://github.com/staugur/picbed && cd picbed

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

  4. 配置:

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

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

    比如:picbed_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:

    // 默认配置下,picbed启动监听127.0.0.1:9514,nginx配置示例:
    server {
        listen 80;
        server_name picbed.domain.name;
        charset utf-8;
        client_max_body_size 12M;
        location ~ ^\/static\/.*$ {
            root /path/to/picbed/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/staugur/picbed && cd picbed
    $ docker build -t staugur/picbed .
    
  • 使用已上传镜像

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

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

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

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

文档

详细文档请访问:Picbed Docs

演示站

http://demo.picbed.pro

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

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

展开阅读全文

代码

的 Gitee 指数为
超过 的项目

picbed 的相关博客

staugur/picbed

picbed 基于Flask的Web自建图床,默认存储在本地,内置支持又拍云、七牛云、阿里云OSS、腾讯云COS等对象存储。 部署 要求: ...

PicGo+GitHub:你的最佳免费图床选择!

本篇教程首次发布在个人博客:sunhwee.com,想要获得最佳阅读体验,欢迎前往,建议用电脑查看教程文档。 PicGo介绍 这是一款图...

抄作业了!6 大 Flask 开源实战项目推荐

↑ 关注 + 星标 ,后台回复【 大礼包 】送你Python自学大礼包 Flask 是一个微型的 Python 开发的 Web 框架,基于 Werkzeug W...

概率密度估计介绍

在学概率论时,常常会看到各种稀奇古怪的名字,有的书上只介绍了该如何求解,但是从不介绍为什么这么叫以及有什么用,本文就介...

测试下

背景 原来按照好多教程,使用了七牛云的图床,不错,但是正因为是免费的,域名失效了!!!然后图片全都不行了,只能寻找新的...

markdown笔记神器 Typora 如何上传本地图片(图床功能)

Typora 是一款简单、高效而且优雅的 Markdown 编辑器,它提供了一种所见即所得的全新的 Markdown 写作体验。它把源码编辑和效...

不懂 ZooKeeper?没关系,这一篇给你讲的明明白白

本来想系统回顾下 ZooKeeper的,可是网上没找到一篇合自己胃口的文章,写的差不多的,感觉大部分都是基于《从Paxos到ZooKeep...

picbed 的相关问答

还没有任何问答,马上提问

评论 (2)

加载中
能定时从本地备份到OSS吗?
01/21 20:15
回复
举报
SaintIC软件作者
这核心部分只是web的图片上传,实现你说的功能,实际用不到这个,可以写个脚本定时跑一下
01/26 15:10
回复
举报
更多评论
2 评论
43 收藏
分享
返回顶部
顶部