> 技术文档 > centos通过DockerCompose搭建开源MediaCMS

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

# 安装 Dockersudo yum install -y yum-utilssudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.reposudo yum install -y docker-ce docker-ce-cli containerd.iosudo yum install -y git # 启动并启用 Dockersudo systemctl start dockersudo systemctl enable docker # 安装 Docker Composesudo curl -L \"https://github.com/docker/compose/releases/download/v2.23.0/docker-compose-$(uname -s)-$(uname -m)\" -o /usr/local/bin/docker-composesudo 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-composesudo chmod +x /usr/local/bin/docker-compose# 验证安装docker-compose --version# 应该显示 Docker Compose version v2.23.0

下载项目

git clone https://github.com/mediacms-io/mediacmscd 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

centos通过DockerCompose搭建开源MediaCMS

管理命令

# 停止服务docker-compose down# 查看日志docker-compose logs -f# 备份数据docker-compose exec postgres pg_dump -U mediacms mediacms > mediacms_backup.sql# 更新到最新版本docker-compose pulldocker-compose up -d

常见问题解决

端口冲突:

# 查看占用80端口的进程sudo netstat -tulnp | grep \':80\'# 停止相关服务(如nginx/apache)sudo systemctl stop nginx

磁盘空间不足

# 清理未使用的Docker资源docker system prune -a

容器启动失败

# 查看具体错误docker-compose logs backenddocker-compose logs frontend

转码问题

后台网址:https://your_installation/admin/files/encodeprofile/Encode profiles
centos通过DockerCompose搭建开源MediaCMS
centos通过DockerCompose搭建开源MediaCMS
给用户管理视频以及用户和评论权限

centos通过DockerCompose搭建开源MediaCMS

禁用编码,使用上传文件画质

上传视频时,它们会被编码为多种分辨率,这一过程称为转码。有时不需要这样做,您只需要显示原始文件,例如当 MediaCMS 在低功能服务器上运行时。

vim /opt/mediacms/cms/settings.py 
DO_NOT_TRANSCODE_VIDEO = True

更新配置文件后:

docker-compose downdocker-compose up -d --force-recreate

安全增强

  • 启用 HTTPS
    • 使用 Nginx 反向代理配置 SSL
    • 或在 frontend 服务中添加 Let’s Encrypt 容器
  • 限制访问
# 在防火墙中限制访问sudo firewall-cmd --permanent --add-port=80/tcpsudo firewall-cmd --reload