[Unraid 系列 v6.9.2] 10 可道云

运行容器

Unraid 内容器目录

/mnt/user/appdata/kodcloud/kodbox
├── Dockerfile
├── README.md
├── compose
│   ├── db
│   ├── docker-compose.yml
│   ├── mysql-init-files
│   ├── mysql_db.txt
│   ├── mysql_password.txt
│   ├── mysql_user.txt
│   ├── site
│   └── ssl
├── conf
│   ├── nginx-site.conf
│   ├── nginx.conf
│   ├── private-ssl.conf
│   ├── setting_user.example
│   └── supervisord.conf
└── entrypoint.sh

6 directories, 12 files

启用 SSL

阿里云下载 Nginx 版证书。

目录: xxx.xxx.site_nginx

Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
-a----         2022/3/19     20:06           1024 xxx.xxx.site.csr
-a----         2022/3/19     20:06           1674 xxx.xxx.site.key
-a----         2022/3/19     20:06           4093 xxx.xxx.site_bundle.crt
-a----         2022/3/19     20:06           4093 xxx.xxx.site_bundle.pem

xxx.xxx.site.csr 更名为 fullchain.pem

xxx.xxx.site.key 更名为 privkey.pem

保存于 kodbox/compose/ssl 文件夹中。

docker-compose.yml

其中 [PATH] 为 git 克隆项目中 kodbox/compose 目录绝对路径。

version: "3.5"

services:
  db:
    image: mariadb
    container_name: kodcloud-db
    command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW
    volumes:
      - "[PATH]/db:/var/lib/mysql"
      - "[PATH]/mysql-init-files:/docker-entrypoint-initdb.d"
    environment:
      - "TZ=Asia/Shanghai"
      - "MYSQL_ROOT_PASSWORD=Kodcloud35852627"    #root password required
      - "MYSQL_DATABASE_FILE=/run/secrets/mysql_db"
      - "MYSQL_USER_FILE=/run/secrets/mysql_user"
      - "MYSQL_PASSWORD_FILE=/run/secrets/mysql_password"
    restart: always
    secrets:
      - mysql_db
      - mysql_password
      - mysql_user

  app:
    image: kodcloud/kodbox:v1.28
    container_name: kodcloud-app
    ports:
      - 10084:80
      - 10085:443
    links:
      - db
      - redis
    volumes:
      - "[PATH]/site:/var/www/html"
      - "[PATH]/ssl:/etc/nginx/ssl"
    environment:
      - "MYSQL_SERVER=db"
      - "MYSQL_DATABASE_FILE=/run/secrets/mysql_db"
      - "MYSQL_USER_FILE=/run/secrets/mysql_user"
      - "MYSQL_PASSWORD_FILE=/run/secrets/mysql_password"
      - "CACHE_HOST=redis"
    restart: always
    secrets:
      - mysql_db
      - mysql_password
      - mysql_user

  redis:
    image: redis:alpine
    container_name: kodcloud-redis
    environment:
      - "TZ=Asia/Shanghai"
    restart: always

secrets:
  mysql_db:
    file: "[PATH]/mysql_db.txt"
  mysql_password:
    file: "[PATH]/mysql_password.txt"
  mysql_user:
    file: "[PATH]/mysql_user.txt"

加入 IPv6

前提是主机支持 IPv6 。

通过 Portainerapp 容器加入 bridge

最好不要添加在 docker-compose.yml 中每个容器都添加:

network_mode: "bridge"

否则,在 “系统账户设置” 步骤中报错:

出错了! (warning!)
-----------------------------------
DbMysqli->connect();
php_network_getaddresses: getaddrinfo failed: Name does not resolve

连接错误,请检查服务器地址是否正确。
posted @ 2022-06-12 10:28  Yogile  阅读(349)  评论(0编辑  收藏  举报