[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 。
通过 Portainer
将 app
容器加入 bridge
。
最好不要添加在
docker-compose.yml
中每个容器都添加:network_mode: "bridge"
否则,在 “系统账户设置” 步骤中报错:
出错了! (warning!) ----------------------------------- DbMysqli->connect(); php_network_getaddresses: getaddrinfo failed: Name does not resolve 连接错误,请检查服务器地址是否正确。