Nas docker安装部署开源在线画原型图项目Penpot

本人项目地址:https://ui.firstsaofan.top/
一:前话

1.前面的Nas docker-compose就是为了这个做准备的,本来我用笔记本安装成功了save了所有的镜像然后准备还原的,但是由于官方的配置很多事用v2以上写的,我单独一个一个启动,很多配置我不是很清楚如何修改与配置。

二:开始部署

1.如果你的docker-compose 版本高于2直接用官方的2行命令即可启动,

官方地址:https://help.penpot.app/technical-guide/getting-started/#install-with-docker

2.进入一个文件夹然后使用此命令(Nas)

wget https://raw.githubusercontent.com/penpot/penpot/main/docker/images/docker-compose.yaml

2.1你也可以在windows下面直接用浏览器打开这个地址,复制所有内容新建一个文件docker-compose.yaml

https://raw.githubusercontent.com/penpot/penpot/main/docker/images/docker-compose.yaml

2.2然后拷贝到Nas里面。

3.启动即可(不要直接启动,看完之后再启动这个命令)

docker compose -p penpot -f docker-compose.yaml up -d

访问如下地址即可:

http://localhost:9001

三:遇到的问题

1.根据上面所有容器都可以正常启动,但是注册账号之后,无法登陆,你需要修改配置:

在140行左右,或者你搜索PENPOT_FLAGS即可,在后面加上disable-secure-session-cookies,不然需要证书才可以访问。

 - PENPOT_FLAGS=enable-registration enable-login-with-password enable-email-verification enable-smtp enable-prepl-server disable-secure-session-cookies

官方地址:https://help.penpot.app/technical-guide/configuration/#other-flags

2.还有一个就是你本地端口5432(postgresql默认端口)已经被占用或者你已经有一个postgresql了

需要修改配置:ports:- 5433:5432(5433你可以修改成你自己的空余端口即可),加上端口映射即可。

penpot-postgres:
    image: "postgres:15"
    restart: always
    ports:
      - 5433:5432
    stop_signal: SIGINT

3.邮箱注册验证配置,如果你不配置,那么邮箱随便填也可以注册以及登录,如果你想别人注册然后接收到验证邮件之后才能登陆需要修改如下配置:(需要你的邮箱开启smtp协议)可以自行百度

主要注意的是PENPOT_SMTP_PASSWORD=,这个不是邮箱密码,而是开启smtp的授权码

      - PENPOT_SMTP_DEFAULT_REPLY_TO=xxx@qq.com  ##你的QQ邮箱
      - PENPOT_SMTP_HOST=smtp.qq.com   ##这个是qq的host,具体的以你们的邮箱为准
      - PENPOT_SMTP_PORT=465   ##端口QQ是这个还有一个是别的,以你们的邮箱的端口为准
      - PENPOT_SMTP_USERNAME=xxx@qq.com   ##你的QQ邮箱,应该也可以是用户名
      - PENPOT_SMTP_PASSWORD=xxx  ##这个不是邮箱密码,而是开启smtp的授权码
      - PENPOT_SMTP_TLS=false
      - PENPOT_SMTP_SSL=true  //默认是false, 我开启了 看自己需求

配置完之后,用户注册了会受到你的验证邮件,验证了才能登陆。

4.还有一个就是对外的地址:如果你是对外的那么需要配置。PENPOT_PUBLIC_URI,这个有2个,需要修改的是默认值为- PENPOT_PUBLIC_URI=http://localhost:9001 的值

 - PENPOT_PUBLIC_URI=http://public-domain

这个换成你的域名就行,如果你的不是80端口则记得加上端口http://public-domain:9001

也可以用nginx做跳转。只要最后的地址是正确的就行

他的验证邮件是默认这个url+很长一串的校验码,所以如果这个url不对,校验会不成功。

修改完这些配置之后再去启动即可:如下图。

docker compose -p penpot -f docker-compose.yaml up -d

本人项目地址:https://ui.firstsaofan.top/

image-1678727593575