开发中...
已经在尽力支持了,主要基于 WAI-ARIA 规范,有爱,无障碍!
你可以 Fork 后点击下面的按钮来一键部署到 Vercel(自定义配置及容器部署请往下看)
当然,如果你想部署到其它平台或者自部署也是可以的。但是由于生态兼容性,暂不支持 All Edge。
数据库请选择兼容 PostgreSQL 的数据库,我推荐 SupaBase,它的每月免费额度足够个人使用了!
创建数据库后,等待程序构建/部署成功,程序会自动初始化和更新表结构,待表结构同步完成后,将 doc/sql/data.sql
导入到数据库执行。在 Dashboard
的 Settings
找到 Database
部分,你就能查看连接信息了。
当然,只要是兼容 pg 的数据库都是可以选择的,不必局限于某个平台。
注:从 2024-01-26 起,将删除通过 IPv4 和 pgBouncer 的数据库访问方式。 在这之前部署且数据库使用 SupaBase 的用户,请更新数据库连接信息。 在
Connection parameters
里勾选Use connection pooling
选项即可。
请确保您的数据库用户配置了正确的 Row Level Security(行级别安全性)权限,否则将无法正常访问。
如果您是第一次部署,仅需要执行
data.sql
即可,如果您是升级到涉及数据库变更的版本,请在执行对应版本编号的 sql 后再升级部署!系统默认账号密码为:admin@qq.com / 666666
存储你可以选择 AWS S3、阿里云 OSS 或者自建 MinIO(理论上来说兼容 S3 的都行),也可以交由你正在用的 AList 来维护。
请在部署前设置您的环境变量,程序会去读这些值,用以更改构建步骤或函数执行期间的行为。
所有值都经过静态加密,并且对有权访问该项目的任何用户都可见。使用非敏感数据和敏感数据都是安全的。但请注意您自己不要泄露环境变量的值!
如果您更改了环境变量,它不会影响当前的部署,您需要重新构建部署后才会生效!
当然,如果您是容器化部署的,更改环境变量后只需要重启容器就行了,无需重新构建!
受限于 Nuxt3 的局限性,某些设计可能不是特别人性化(主要还是懒),望理解!
请注意,平台部署请在平台控制台填写环境变量,会自动覆盖
.env.production
的值,以免发生机密信息泄露!项目内默认的 key 都是用作演示用途!
Key | 备注 |
---|---|
DATABASE_URL | Postgre 数据库 url,如:postgres://账号:密码@aws-0-ap-northeast-1.pooler.supabase.com:5432/postgres |
AUTH_SECRET | 权限机密,你可以执行 npx auth secret 生成一个,反正是随机的字符串就行 |
SECRET_KEY | 密码盐,默认值:pic-impact,你最好知道是干嘛的再去改。 |
如果你要运行我的镜像,你只需要执行下面的命令即可部署:
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="your-secret-key" \
-e SECRET_KEY="pic-impact" \
besscroft/picimpact:latest
看到这里您应该明白,环境变量当然要换成自己的!
如果你要 Docker Compose 执行:
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="your-secret-key"
- SECRET_KEY="pic-impact"
一样的,参考上面的环境变量表格,配置你自己的环境变量。
Q:我 fork 仓库后,构建的镜像被人使用会有风险吗?
A:原则上没有,但如果你自己要往文件里面填写机密信息,那是你自己的问题! 别人并不知道你的环境变量的值,除非你自己泄露!
对于使用宝塔面板、1Panel 之类的用户,包括使用 Nginx 来提供访问服务的用户,记得配置反向代理:
location ^~ / {
proxy_pass http://localhost:3000;
}
端口和路径之类的,就看你自己部署时,设置的什么了。
克隆到本地开发:
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
事实上不是过于老旧的浏览器,一般都是能用的。
本项目使用 JetBrains 的开源许可证,基于 IntelliJ IDEA 开发,感谢!
PicImpact is open source software licensed as MIT.