centos通过DockerCompose搭建开源MediaCMS
MediaCMS
- MediaCMS 是什么
- 安装
- 前置条件
- Docker Compose升级(2.23以前版本)
- 下载项目
- 调整配置docker-compose.yml 文件
- 启动 MediaCMS
- 访问 MediaCMS
- 管理命令
- 常见问题解决
- 端口冲突:
- 磁盘空间不足
- 容器启动失败
- 转码问题
- 禁用编码,使用上传文件画质
- 更新配置文件后:
- 安全增强
MediaCMS 是什么
MediaCMS 是一种现代、功能齐全的开源视频和媒体 CMS。它的开发是为了满足现代网络平台查看和共享媒体的需求。它可用于在几分钟内构建中小型视频和媒体门户
官方文档:https://github.com/mediacms-io/mediacms
官方管理员文档:https://github.com/mediacms-io/mediacms/blob/main/docs/admins_docs.md#4-docker-deployment-options
安装
前置条件
安装 Docker 和 Docker Compose以及git
# 安装 Docker
sudo yum install -y yum-utils
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
sudo yum install -y docker-ce docker-ce-cli containerd.io
sudo yum install -y git# 启动并启用 Docker
sudo systemctl start docker
sudo systemctl enable docker# 安装 Docker Compose
sudo curl -L "https://github.com/docker/compose/releases/download/v2.23.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
Docker Compose升级(2.23以前版本)
升级后,您可以使用原始的 version: ‘3.8’ 配置而不会出现兼容性问题。
# 移除旧版本
sudo rm /usr/local/bin/docker-compose# 安装最新版本
DOCKER_COMPOSE_VERSION="v2.23.0"
wget -c "https://github.com/docker/compose/releases/download/v2.23.0/docker-compose-$(uname -s)-$(uname -m)" -O /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose# 验证安装
docker-compose --version
# 应该显示 Docker Compose version v2.23.0
下载项目
git clone https://github.com/mediacms-io/mediacms
cd mediacms
调整配置docker-compose.yml 文件
- 持久化存储:
- 添加了 ./postgres_data 卷映射
- 确保数据库数据在容器重启后不丢失
db:volumes:- ./postgres_data:/var/lib/postgresql/data # 使用相对路径
设置管理员密码
migrations:environment:ADMIN_PASSWORD: 'your_strong_password' # 取消注释并设置
调整时区:
db:environment:TZ: Asia/Shanghai # 设置为中国时区
启动 MediaCMS
# 启动服务
docker-compose up -d# 查看运行状态(等待所有容器状态变为 healthy)
docker-compose ps
# 停止服务
docker-compose down
访问 MediaCMS
打开浏览器访问:
http://your_server_ip
管理命令
# 停止服务
docker-compose down# 查看日志
docker-compose logs -f# 备份数据
docker-compose exec postgres pg_dump -U mediacms mediacms > mediacms_backup.sql# 更新到最新版本
docker-compose pull
docker-compose up -d
常见问题解决
端口冲突:
# 查看占用80端口的进程
sudo netstat -tulnp | grep ':80'
# 停止相关服务(如nginx/apache)
sudo systemctl stop nginx
磁盘空间不足
# 清理未使用的Docker资源
docker system prune -a
容器启动失败
# 查看具体错误
docker-compose logs backend
docker-compose logs frontend
转码问题
后台网址:https://your_installation/admin/files/encodeprofile/Encode profiles
给用户管理视频以及用户和评论权限
禁用编码,使用上传文件画质
上传视频时,它们会被编码为多种分辨率,这一过程称为转码。有时不需要这样做,您只需要显示原始文件,例如当 MediaCMS 在低功能服务器上运行时。
vim /opt/mediacms/cms/settings.py
DO_NOT_TRANSCODE_VIDEO = True
更新配置文件后:
docker-compose down
docker-compose up -d --force-recreate
安全增强
- 启用 HTTPS
- 使用 Nginx 反向代理配置 SSL
- 或在 frontend 服务中添加 Let’s Encrypt 容器
- 限制访问
# 在防火墙中限制访问
sudo firewall-cmd --permanent --add-port=80/tcp
sudo firewall-cmd --reload