All Projects → sapicd → Sapic

sapicd / Sapic

Licence: bsd-3-clause
sapic(picbed) - 基于Flask的Web自建图床,可存储到又拍云、七牛云、阿里云OSS、腾讯云COS、GitHub、Gitee等,支持自定义扩展。

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Sapic

Labeled Tweet Generator
Search for tweets and download the data labeled with its polarity in CSV format
Stars: ✭ 111 (-9.76%)
Mutual labels:  flask
Vectorcloud
A web interface for Anki Vector
Stars: ✭ 116 (-5.69%)
Mutual labels:  flask
Dockerized Flask
Dockerized web app using NGINX, Flask and PostgreSQL
Stars: ✭ 119 (-3.25%)
Mutual labels:  flask
Ni Pyt
Materiály k předmětu NI-PYT na FIT ČVUT
Stars: ✭ 112 (-8.94%)
Mutual labels:  flask
Pi Temp
Web server using a Raspberry Pi and DHT22 sensor to graph the humidity and temperature in my apartment over time.
Stars: ✭ 114 (-7.32%)
Mutual labels:  flask
Flask Full
starter/boilerplate flask application with celery, mongoengine, signals, shell commands, swagger api docs and sphinx docs integration
Stars: ✭ 117 (-4.88%)
Mutual labels:  flask
Stocks
machine learning web app game where the user competes against the AI in picking stocks
Stars: ✭ 108 (-12.2%)
Mutual labels:  flask
Whoogle Search
A self-hosted, ad-free, privacy-respecting metasearch engine
Stars: ✭ 4,645 (+3676.42%)
Mutual labels:  flask
Dynaconf
Configuration Management for Python ⚙
Stars: ✭ 2,082 (+1592.68%)
Mutual labels:  flask
30 Days Of Python
Learn Python for the next 30 (or so) Days.
Stars: ✭ 1,748 (+1321.14%)
Mutual labels:  flask
003 Arquitetura Flask
Arquitetura definitiva para projetos Flask
Stars: ✭ 111 (-9.76%)
Mutual labels:  flask
Jianso movie
🎬 电影资源爬虫,电影图片抓取脚本,Flask|Nginx|wsgi
Stars: ✭ 114 (-7.32%)
Mutual labels:  flask
Flask Graphene Sqlalchemy
A demo project for Flask + GraphQL (With Graphene & SQLAlchemy)
Stars: ✭ 117 (-4.88%)
Mutual labels:  flask
Bepasty Server
binary pastebin server
Stars: ✭ 111 (-9.76%)
Mutual labels:  flask
Pyms
Library of utils to create REST Python Microservices
Stars: ✭ 120 (-2.44%)
Mutual labels:  flask
Pyone
PyOne-一款给力的onedrive文件管理、分享程序
Stars: ✭ 1,477 (+1100.81%)
Mutual labels:  flask
Docker Nginx Gunicorn Flask Letsencrypt
Boilerplate code for setting up Nginx + Gunicorn + Flask + automated LetsEncrypt certificates (https) using docker-compose.
Stars: ✭ 117 (-4.88%)
Mutual labels:  flask
Python Tutorial
🏃 Some of the python tutorial - 《Python学习笔记》
Stars: ✭ 122 (-0.81%)
Mutual labels:  flask
Flask2postman
🚀 Generate a Postman collection from your Flask application
Stars: ✭ 120 (-2.44%)
Mutual labels:  flask
Python Flask Sklearn Docker Template
A simple example of python api for real time machine learning, using scikit-learn, Flask and Docker
Stars: ✭ 117 (-4.88%)
Mutual labels:  flask

sapic

即picbed,基于Flask的Web自建图床,支持存储到本地、又拍云、七牛云、阿里云OSS、腾讯云COS、GitHub、Gitee(码云)等。

Actions Status: ci codecov Last Release

手动部署

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

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

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

  4. 配置:

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

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

    比如:picbed_redis_url=redis://localhost

  5. 启动:

    $ cd /path/to/sapic/src/
    
    // 首先创建一个管理员账号 -h/--help显示帮助
    $ flask sa create -u USER -p PASSWORD --isAdmin
    
    // 如果更新了版本,注意执行命令迁移数据,详见文档:部署安装-升级部分
    // flask sa upgrade --help
    
    // 开发环境启动
    $ 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 your-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文件,可以藉此构建镜像。

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

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

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

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

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

    此单一启动镜像方式不包括redis,所以还需要提前准备好redis才行。


如果有docker-compose的使用经验,可以使用命令 docker-compose up -d 在后台启动项目,它会直接启动一个redis、并构建启动应用,redis开启AOF, 宿主机映射9514端口以供外部访问,且使用数据卷挂载静态资源、挂载上传目录。

使用前,创建用户:

cd /path/to/sapic
docker-compose exec webapp flask sa create -u 管理员账号 -p 密码 --isAdmin
  • Dockerfile采用分阶段构建,推送到Docker hub,latest标签是master分支, dev标签是dev分支,其他标签是已发布的版本。

  • docker-compose.yml仅为简单定义,可以自行修改,比如加上nginx、redis挂载数据(/data)。

文档

客户端上传示例

详细文档请访问:Sapic Docs

演示站

http://demo.picbed.pro

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

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

预览图

首页上传

管理我的图片

控制台管理员功能

Contributing

感谢您的贡献!

关于如何提交issue或pr,请参考 contributing guidelines

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].