V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
爱意满满的作品展示区。
atbeta

消失的五一假期之——找不到好用的自托管图床,于是自己写了一个(开源 / Docker 一键部署)

  •  
  •   atbeta · 4h 12m ago · 189 views

    之前一直用的兰空图床,嫌弃的主要是界面老旧,技术栈也旧,想改点东西很费劲。找了一圈,Chevereto 收费,Picsur 还不错但停止维护了,没一个合适的。五一刚好有空,干脆自己写一个。

    本来想做个简单的,结果边写边测边补功能,不知不觉把五一假期给写没了。发出来给需要的朋友,希望大家能支持下,或者一起来完善。

    技术栈:Go 1.26 + React 19 + PostgreSQL ,前后端单 Docker 镜像,部署完直接完整可用。

    Github

    官方主页

    Docker Hub 主页

    演示站点

    自带完整管理功能: SCR-20260505-ofwi.png

    部署极简,推荐使用docker compose部署:

    #下载 Compose 文件和环境变量模板
    mkdir picfast && cd picfast
    wget https://raw.githubusercontent.com/atbeta/picfast/main/docker/docker-compose.yml
    wget https://raw.githubusercontent.com/atbeta/picfast/main/docker/.env.example -O .env
    #编辑 .env ,填入你的域名、密钥和凭据,然后:
    docker compose up -d
    

    默认配置会把服务暴露在http://127.0.0.1:18080,使用你喜欢的反代暴露域名配置证书即可,或者你和我一样使用 Traefik + Cloudflare 源证书,也提供了 Traefik 配置示例供参考,具体请查看主页参考。

    功能上作为一个自部署图床算是已经比较完善了,特别针对 API 和 AI 工作流作了优化:

    • 多格式链接输出( URL 、Markdown 、HTML 、BBCode ),支持上传处理转格式加水印
    • 自带 OpenAPI spec ,在线 Scalar 文档 + Prometheus metrics
    • MCP 原生支持,Claude / Cursor 能直接上传管理图片,npx @picfast/mcp 一行接入
    • ShareX 、PicGo 、PicList 、uPic 、Dropshare 都有适配配置
    • 6 种存储后端(本地 / S3 / OSS / COS / Kodo / WebDAV ),对接方便
    • 游客上传、TTL 过期、站点信息配置、统计接入等等还有很多功能等你发掘

    求各位拍砖,有什么想法欢迎提 issue 或者参与贡献!

    itart
        1
    itart  
       40 mins ago via Android
    是否能增加支持 SQLite 数据库,个人用的话 pgsql 有点重
    atbeta
        2
    atbeta  
    OP
       Just Now
    @itart SQLite 还是更适合一些单用户、低并发的简单应用。PicFast 目前是按一个相对完整的图床服务设计的,包含多用户、权限、审计日志等功能,而且后续还会不断扩展功能,这种场景还是 PostgreSQL 更稳妥。
    而且现在有 Docker 部署,PostgreSQL 不需要单独手动安装,直接用项目配套发布的镜像就行,实际部署门槛已经很低了。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2790 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 38ms · UTC 12:45 · PVG 20:45 · LAX 05:45 · JFK 08:45
    ♥ Do have faith in what you're doing.