Skip to content

besscroft/PicImpact

Repository files navigation

PicImpact

许可证 存储库大小

如何部署

你可以点击下面的按钮来一键部署到 Vercel,然后将 Build Commandpnpm run build:vercel,也可以 Fork 项目后手动部署到任何支持的平台。

Deploy with Vercel

Key 备注
DATABASE_URL Postgre 数据库 url,如:postgres://账号:密码@aws-0-ap-northeast-1.pooler.supabase.com:5432/postgres
AUTH_SECRET 权限机密,你可以执行 npx auth secret 生成一个,反正是随机的字符串就行

默认账号:admin@qq.com,默认密码:666666登录后请先去设置里面修改密码!

部署就是这么简单,只需要您准备一个干净的数据库就行!

不过,不支持 ALL Edge 运行时,毕竟 Vercel 就只给了 Edge 100M 内存,太小了...当然,Node.js 运行时是完美支持的~

容器化部署

你可以使用 Docker 来部署 PicImpact,当然 containerd 和 k8s 也是可以的。

docker run -d --name picimpact \
  -p 3000:3000 \
  -e DATABASE_URL="postgres://账号:密码@aws-0-ap-northeast-1.pooler.supabase.com:5432/postgres" \
  -e AUTH_SECRET="自己运行npx auth secret或一串随机的字符串都行" \
  besscroft/picimpact:latest
version: '3'
services:
  picimpact:
    image: besscroft/picimpact:latest
    container_name: picimpact
    ports:
      - 3000:3000
    environment:
      - DATABASE_URL="postgres://账号:密码@aws-0-ap-northeast-1.pooler.supabase.com:5432/postgres"
      - AUTH_SECRET="自己运行npx auth secret或一串随机的字符串都行"

注意:如果您使用 Docker Compose,存在无法访问数据库的问题,请尝试将环境变量的双引号去掉。即 DATABASE_URL="连接信息" -> DATABASE_URL=连接信息

存储配置

暂时提供了 AWS S3 API、Cloudflare R2、AList API 支持,您在部署成功后,可以去 设置 -> 存储 进行管理。

我比较推荐 Cloudflare R2,算是很良心的了,流量免费。

  • AWS S3 配置
Key 备注
accesskey_id 阿里 OSS / AWS S3 AccessKey_ID
accesskey_secret 阿里 OSS / AWS S3 AccessKey_Secret
region 阿里 OSS / AWS S3 Region 地域,如:oss-cn-hongkong
endpoint 阿里 OSS / AWS S3 Endpoint 地域节点,如:oss-cn-hongkong.aliyuncs.com
bucket 阿里 OSS / AWS S3 Bucket 存储桶名称,如:picimpact
storage_folder 存储文件夹(S3),严格格式,如:picimpact 或 picimpact/images ,填 / 或者不填表示根路径
  • Cloudflare R2 配置
Key 备注
r2_accesskey_id Cloudflare AccessKey_ID
r2_accesskey_secret Cloudflare AccessKey_Secret
r2_endpoint Cloudflare Endpoint 地域节点,如:https://<ACCOUNT_ID>.r2.cloudflarestorage.com
r2_bucket Cloudflare Bucket 存储桶名称,如:picimpact
r2_storage_folder 存储文件夹(Cloudflare R2),严格格式,如:picimpact 或 picimpact/images ,填 / 或者不填表示根路径
r2_public_domain Cloudflare R2 自定义域(公开访问)
  • AList API 配置
Key 备注
alist_token alist 令牌
alist_url AList 地址,如:https://alist.besscroft.com

本地开发

克隆到本地开发:

git clone https://github.com/besscroft/PicImpact.git

pnpm i

pnpm run dev

如果您有任何建议,欢迎反馈!

代码贡献

提出新想法 & 提交 Bug | Fork & Pull Request

PicImpact 欢迎各种贡献,包括但不限于改进,新功能,文档和代码改进,问题和错误报告。dev 分支接受 PR

有需求和建议都可以提,有空的话我会处理,但受限于 Next / SSR 的⌈局限性⌋,很多功能的设计上可能会有取舍。

隐私安全

您使用本程序时,需要自己去维护各个平台的配置信息(毕竟跟咱没关系,需要在对应的平台配置),以及对象存储的读写权限、访问控制、防盗链、跨域设置、缓存策略和 CDN 等配置,以最大程度的避免天价账单。

如您有更多疑问,可以提交 Issue

浏览器支持

  • Last 2 versions of Chrome, Firefox, Safari and Edge
  • Firefox ESR

事实上不是过于老旧的浏览器,一般都是能用的。

无障碍支持

已经在尽力支持了,主要基于 WAI-ARIA 规范,有爱,无障碍!

技术栈

感谢

本项目使用 JetBrains 的开源许可证,基于 IntelliJ IDEA 开发,感谢!

JetBrains 徽标(主要) logo

IntelliJ IDEA logo

License

PicImpact is open source software licensed as MIT.

About

摄影佬专用 ⌈相片集⌋,基于 Next.js 开发。 ⌈kamera⌋项目的下一代产品!

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages