6.3 KiB
6.3 KiB
title | sidebarDepth |
---|---|
官方 Docker 镜像 | 3 |
官方 Docker 镜像
Castopod 在其自动构建期间会将 3 个 Docker 映像推送到 Docker Hub :
castopod/app
:应用程序包,包含 所有 Castopod 依赖关系castopod/web-server
:Castopod 的 Nginx 配置castopod/video-clipper
: 感谢 ffmpeg 提供可选图像构建视频剪辑
此外,Castopod 需要一个与 MySQL 兼容的数据库。 Redis 数据库 可以添加为缓存处理器 。
目前支持的标签
develop
[unstable], 最新开发分支版本beta
[stable],最新的 beta 版本构建1.0.0-beta.x
[stable],特定 beta 版本构建 (自1.0.0-beta.22
起)latest
[stable],最新版本构建1.x.x
[stable],特定版本构建(自1.0.0
起)
用法示例:
-
安装 Docker 和 docker-compose
-
创建
docker-compose.yml
文件,并添加以下内容:version: "3.7" services: app: image: castopod/app:latest container_name: "castopod-app" volumes: - castopod-media:/opt/castopod/public/media environment: MYSQL_DATABASE: castopod MYSQL_USER: castopod MYSQL_PASSWORD: changeme CP_BASEURL: "http://castopod.example.com" CP_ANALYTICS_SALT: changeme CP_CACHE_HANDLER: redis CP_REDIS_HOST: redis networks: - castopod-app - castopod-db restart: unless-stopped web-server: image: castopod/web-server:latest container_name: "castopod-web-server" volumes: - castopod-media:/var/www/html/media networks: - castopod-app ports: - 8080:80 restart: unless-stopped mariadb: image: mariadb:10.5 container_name: "castopod-mariadb" networks: - castopod-db volumes: - castopod-db:/var/lib/mysql environment: MYSQL_ROOT_PASSWORD: changeme MYSQL_DATABASE: castopod MYSQL_USER: castopod MYSQL_PASSWORD: changeme restart: unless-stopped redis: image: redis:7.0-alpine container_name: "castopod-redis" volumes: - castopod-cache:/data networks: - castopod-app # this container is optional # add this if you want to use the videoclips feature video-clipper: image: castopod/video-clipper:latest container_name: "castopod-video-clipper" volumes: - castopod-media:/opt/castopod/public/media environment: MYSQL_DATABASE: castopod MYSQL_USER: castopod MYSQL_PASSWORD: changeme networks: - castopod-db restart: unless-stopped volumes: castopod-media: castopod-db: castopod-cache: networks: castopod-app: castopod-db:
你还需要调整一些变量。 (例如:
CP_BASEURL
,MYSQL_ROOT_PASSWORD
,MYSQL_PASSSWORD
和CP_ANALYTICS_SALT
) -
设置 TLS 反向代理 (SSL/HTTPS)
TLS 是 ActivePub 工作的强制性要求。 此操作可用通过反向代理轻松解决,例如使用 Caddy 处理:
#castopod castopod.example.com { reverse_proxy localhost:8080 }
-
运行命令
docker-compose up -d
, 等待初始化后跳转到https://castopod.example.com/cp-install
来完成 Castopod 的设置! -
一切准备就绪,开始博客吧! 🎙️🚀
环境变量
-
castopod/video-clipper
变量名称 类型 ( 默认值
)Default CP_DATABASE_HOSTNAME
?string "mariadb"
CP_DATABASE_NAME
?string MYSQL_DATABASE
CP_DATABASE_USERNAME
?string MYSQL_USER
CP_DATABASE_PASSWORD
?string MYSQL_PASSWORD
CP_DATABASE_PREFIX
?string "cp_"
-
castopod/app
变量名称 类型 ( default
)Default CP_BASEURL
string undefined
CP_MEDIA_BASEURL
?string CP_BASEURL
CP_ADMIN_GATEWAY
?string "cp-admin"
CP_AUTH_GATEWAY
?string "cp-auth"
CP_ANALYTICS_SALT
string undefined
CP_DATABASE_HOSTNAME
?string "mariadb"
CP_DATABASE_NAME
?string MYSQL_DATABASE
CP_DATABASE_USERNAME
?string MYSQL_USER
CP_DATABASE_PASSWORD
?string MYSQL_PASSWORD
CP_DATABASE_PREFIX
?string "cp_"
CP_CACHE_HANDLER
[ "file"
或"redis"
]"file"
CP_REDIS_HOST
?string "localhost"
CP_REDIS_PASSWORD
?string null
CP_REDIS_PORT
?number 6379
CP_REDIS_DATABASE
?number 0
CP_EMAIL_SMTP_HOST
?string undefined
CP_EMAIL_FROM
?string undefined
CP_EMAIL_SMTP_USERNAME
?string "localhost"
CP_EMAIL_SMTP_PASSWORD
?string null
CP_EMAIL_SMTP_PORT
?number 25
CP_EMAIL_SMTP_CRYPTO
[ "tls"
或"ssl"
]"tls"
-
castopod/web-server
变量名称 Type 默认 CP_APP_HOSTNAME
?string "app"