无公网搭建MediaCMS媒体管理系统 Django+React开源视频平台 帕斯内网穿透实现远程访问
作者
小编
发布时间

项目介绍
MediaCMS 是一个现代化的、功能完整的开源视频和媒体内容管理系统。它专为满足现代网络平台观看和分享媒体的需求而开发,可以在几分钟内构建一个小到中型的视频和媒体门户网站。
该项目基于现代技术栈 Django + React 构建,包含完整的 REST API。MediaCMS 提供了完整的数据控制权,支持多种发布工作流程(公开、私有、未列出和自定义),具备基于角色的访问控制(RBAC)功能。系统支持多种媒体类型(视频、音频、图像、PDF),提供自动转录功能(通过本地运行的 Whisper 集成),包含视频修剪器、SAML 支持、播放列表功能等丰富特性。
界面采用响应式设计,支持明暗主题切换,提供增强的视频播放器和多种转码配置文件,支持自适应视频流和多语言字幕。这是一个完全自托管的解决方案,让您完全掌控自己的媒体内容。
项目地址: 点我跳转
部署安装
如需在外也打开项目需要配置内网穿透使用,点击前往 帕斯内网穿透,先注册好账号备用。
复制下列的配置文件
1version: '3'23services:4 migrations:5 image: mediacms/mediacms:latest6 volumes:7 - ./:/home/mediacms.io/mediacms/8 environment:9 ENABLE_UWSGI: 'no'10 ENABLE_NGINX: 'no'11 ENABLE_CELERY_SHORT: 'no'12 ENABLE_CELERY_LONG: 'no'13 ENABLE_CELERY_BEAT: 'no'14 ADMIN_USER: 'admin'15 ADMIN_EMAIL: 'admin@localhost'16 # ADMIN_PASSWORD: 'uncomment_and_set_password_here'17 command: './deploy/docker/prestart.sh'18 restart: on-failure19 depends_on:20 redis:21 condition: service_healthy22 db:23 condition: service_healthy24 web:25 image: mediacms/mediacms:latest26 deploy:27 replicas: 128 ports:29 - '80:80'30 volumes:31 - ./:/home/mediacms.io/mediacms/32 environment:33 ENABLE_CELERY_BEAT: 'no'34 ENABLE_CELERY_SHORT: 'no'35 ENABLE_CELERY_LONG: 'no'36 ENABLE_MIGRATIONS: 'no'37 depends_on:38 - migrations39 celery_beat:40 image: mediacms/mediacms:latest41 volumes:42 - ./:/home/mediacms.io/mediacms/43 environment:44 ENABLE_UWSGI: 'no'45 ENABLE_NGINX: 'no'46 ENABLE_CELERY_SHORT: 'no'47 ENABLE_CELERY_LONG: 'no'48 ENABLE_MIGRATIONS: 'no'49 depends_on:50 - redis51 celery_worker:52 image: mediacms/mediacms:latest53 deploy:54 replicas: 155 volumes:56 - ./:/home/mediacms.io/mediacms/57 environment:58 ENABLE_UWSGI: 'no'59 ENABLE_NGINX: 'no'60 ENABLE_CELERY_BEAT: 'no'61 ENABLE_MIGRATIONS: 'no'62 depends_on:63 - migrations64 db:65 image: postgres:17.2-alpine66 volumes:67 - ../postgres_data:/var/lib/postgresql/data/68 restart: always69 environment:70 POSTGRES_USER: mediacms71 POSTGRES_PASSWORD: mediacms72 POSTGRES_DB: mediacms73 TZ: Europe/London74 healthcheck:75 test: ['CMD-SHELL', 'pg_isready -d $${POSTGRES_DB} -U $${POSTGRES_USER}']76 interval: 10s77 timeout: 5s78 retries: 579 redis:80 image: 'redis:alpine'81 restart: always82 healthcheck:83 test: ['CMD', 'redis-cli','ping']84 interval: 10s85 timeout: 5s86 retries: 3
打开飞牛 NAS 或其他的 NAS 设备

项目名称可以随便填,点击创建 docker-compose.yml

点击 Compose -> 新建项目
这里需要改成你需要的管理员账号和密码,找到 ADMIN_USER 和 ADMIN_EMAIL 字段进行修改。如果要设置管理员密码,请取消注释 ADMIN_PASSWORD 行并设置密码,其他的保持不变。
如果提示端口被占用可以修改 ports 下面的 '80:80' 字段为其他端口,比如 '8080:80',但是需要保持格式正确。
穿透公网
打开帕斯内网穿透控制台,点击隧道管理-隧道列表

点击创建新隧道
隧道节点可以随便选,一般选个负载低的就可以

接下来填写信息,隧道名称可以随便填写
本地 IP 默认就可以
传输协议可以选择 TCP 也可以选择 HTTP/HTTPS
HTTP 就是域名的形式,教程以使用 TCP 为演示
本项目中如果没有修改端口的话默认是 80 端口,这里本地端口就填 80
远程端口可以留空也可以自定义。下图仅做参考,请按照实际项目端口添加。

填写完毕点击确定
点击刚才创建好的隧道,点击获取配置文件

回到飞牛 NAS,点击应用中心下载 frpc 客户端

打开后粘贴刚才复制的配置文件,点击确定即可
复制帕斯内网穿透控制台的访问 IP 和端口
可以看到已经正常穿透成功了
本篇教程结束