lsky+minio自建图床

  1. 安装docker和npm
  2. docker-compose部署lsky
version: '3.3'
services:
  lsky-pro-docker:
    container_name: lsky-pro
    restart: unless-stopped
    ports:
      - '9080:8089'
    volumes:
      - './data:/var/www/html'
    image: 'halcyonazure/lsky-pro-docker:latest'

docker-compose.yml

  1. docker-compose部署
version: '3'
services:
  minio:
    container_name: "minio"
    restart: unless-stopped
    volumes:
      - ./data:/data
    environment:
      - MINIO_ROOT_USER=username
      - MINIO_ROOT_PASSWORD=password
    ports:
      - 9000:9000
      - 9001:9001
    image: quay.io/minio/minio
    command: server /data --console-address ":9001"

docker-compose.yml

  1. nginx反代这样几条记录
lsky.example.com: 172.17.0.1:9080
minio.example.com: 172.17.0.1:9001;
minio-img.example.com: 172.17.0.1:9000;
img.minio-img.example.com: 172.17.0.1:9000
  1. 访问minio.example.com新建一个名为img的桶,Access Policy权限改为public
  2. 访问lsky.example.com,添加存储策略,填写如下
访问域名: https://minio-img.example.com/img
AccessKey: minio console中root的登陆用户名
SecretKey: minio console中root登陆的密码
连接地址: 同访问域名
区域: us-east-1
桶名称: img
BucketEndpoint: 不打开

关于为什么会有 img.minio-img.example.com这条记录的解释

github上的一个issuse指出连接地址使用域名则实际访问的域名是 https://桶名.域名,因此我添加了这条A记录.根据我的理解实际情况在上传图片时访问img.minio-img.example.com,在浏览图片时访问的是minio-img.example.com.

【Bug】存储单元使用Minio,链接地址使用域名就会出问题 · Issue #458 · lsky-org/lsky-pro
存储方式使用Minio方式时,连接地址使用域名则实际访问的域名是https://桶名.域名 复现步骤: 首先修改了 vendor/league/flysystem-aws-s3-v3/AwsS3V3Adapter.php 代码用于帮助打印问题 先决条件: 连接地址使用域名:https://example.domain.com:7000,储存桶名称:lsky-pro,区域:us-east-1…

关于使用minio的解释

正常情况下lsky自建就够了,但是我后续有时间想要做分布式集群部署,所以选择了minio做对象存储,算是挖个坑,有时间补.

Minio对象存储服务 - 偷得浮生
A small and beautiful blogging system. 一款小而美的博客系统。

参考

https://www.zqcnc.cn/post/143.html

Read more

imaginify

最近体验了flux模型, 看了levelsio的采访, 确实很想做一个ai photo的网站, 挖个坑, 有时间自己搓一个,拿这个项目先练练手, 托管在了vercel, https://ai-photo-nu.vercel.app/ 值得学习 表格设计, 高度复用, UI很简洁 认证一如既往的clerk, 应用了clerk的webhooks特征, 很优秀的解决方案, 自己的orlco论坛可以借鉴 上传视频和ai处理用的cloudinary, 效果并不好, 不如podcast里提到的uploader stuff, 然后自托管ai模型, 这里自托管的高价费用还没有找到合适的解决方案, 先挖个坑 用户-图片-生成图片, 增删改查的实现很简洁, mongodb在这种数据量不大, 无高并发请求的应用中十分方便

By kamado nezuko

pricewise

nextjs项目, 数据库用的mongodb. 快速的浏览了, bright data感觉没必要用, 如果反爬策略非常严格可以考虑, crawlee集成了视频中提到的Cheerio, Playwright, Puppeteer感觉更好 值得学习 美观的网站, 静态资源很重要, 目前还不知道怎么找or设计 jsm的代码总给人一种清高的感觉, 每一部分都很独立 发送邮件用的nodemailer 定时任务设置路由, 用https://cron-job.org/定时请求实现

By kamado nezuko

podcast

前端nextjs后端convex, convex很适合小型项目的快速交付, 认证和clerk集成也很方便 值得学习 ()+layout, 实现代码重用 tailwind.config.ts里写颜色配置, 方便统一颜色 图片处理的很好 loading状态用钩子处理的 组件层次关系处理的很好, 之间几乎无关联 只在必要的时候使用了一个usecontext 实践示例 embla-carousel实现轮播图 处理音频和图片, uploader stuff上传文件 实现了左右侧边栏 openai-api文生图, 文生语音

By kamado nezuko