正文
接下来我们就打开 Portainer 来进行服务容器的部署,这里打开并登录 Portainer,然后从左侧边栏中点击 Stacks,然后点击页面右上角的 Add Stack来添加。
在新创建的 Stack 的 Name 里面填写readeck,然后在 Build method 这里选择 Web editor,接着在下面内容直接复制到编辑器中:
version: "3.9"
services:
readeck:
container_name: Readeck
image: codeberg.org/readeck/readeck:latest
mem_limit: 8g
cpu_shares: 1024
security_opt:
- no-new-privileges:true
restart: on-failure:5
ports:
- 4522:8000
volumes:
- /volume1/docker/readeck/data:/readeck:rw
environment:
READECK_USE_X_FORWARDED: true
READECK_DATABASE_SOURCE: postgres://readeck:readeckpass@readeck-db:5432/readeck
readeck-db:
image: postgres:16
container_name: Readeck-DB
hostname: readeck-db
mem_limit: 1g
cpu_shares: 768
security_opt:
- no-new-privileges:true
healthcheck:
test: ["CMD", "pg_isready", "-q", "-d", "readeck", "-U", "readeck"]
timeout: 45s
interval: 10s
retries: 10
volumes:
- /volume1/docker/readeck/db:/var/lib/postgresql/data:rw
environment:
POSTGRES_DB: readeck
POSTGRES_USER: readeck
POSTGRES_PASSWORD: readeckpass
restart: on-failure:5
按照上面填写完成后,这里点击下方的「Deploy the stack」来部署容器,然后等待出现容器列表就表示部署成功了。
P.S:有关 docker 文件存储路径也需要留意,如果你的 NAS 有多个卷,最好能够核对自己创建文件夹的绝对路径,从而避免出错。
配置 Readeck
当容器正式启动后,这时打开浏览器并访问:http://你的 NAS 地址:4522 ,如果可以访问到Readeck 的登录页面就表示完全部署成功了,如果你和我一样,是部署到本地的 NAS 中的,那么如果想要从外网访问还需要通过 ddns 或者内网穿透的方式将服务暴露到公网中,这里我就不过多赘述了。