【Docker项目实战】使用Docker部署GhostHub媒体服务器

举报
江湖有缘 发表于 2025/07/26 20:42:28 2025/07/26
【摘要】 【Docker项目实战】使用Docker部署GhostHub媒体服务器

一、GhostHub介绍

1.1 GhostHub 简介

GhostHub 是一个无需设置、移动优先的媒体服务器,支持一键分享和滑动浏览,用户可轻松通过互联网与他人共享图片和视频内容。无需账户或配置,操作简单直观,适合临时分享、个人媒体库或轻量级团队使用。

1.2 主要特点

📁 自定义文件夹管理:轻松添加并浏览你自己的媒体文件夹。
🎞️ TikTok风格滑动导航:像刷短视频一样滑动查看图片和视频。
🔁 主机同步模式:开启同步后所有人看到相同的媒体,按自己的节奏观看。
🔐 密码保护与管理员控制:可设置同步密码,并由管理员掌控播放与互动权限。
🧑‍🤝‍🧑 实时用户状态:显示当前在线人数及新用户加入通知。
💬 匿名实时聊天:内置临时聊天功能,便于观众互动交流。
⌨️ 快捷斜线命令:支持如 /myview/help 等命令提升操作效率。
📱 响应式界面设计:全面优化移动端与桌面端浏览体验。
🌐 Cloudflare Tunnel 公开分享:可通过 Cloudflare Tunnel 安全地对外公开链接。
🖥️ 便携式运行:提供无需安装的 .exe 版本,即开即用。
🐳 Docker 支持:支持 Docker 部署,包括 ARM64 架构设备。
💾 外部配置持久化:通过 media_categories.json 文件保存文件夹结构,实现配置持久化。

二、本次实践规划

2.1 本地环境规划

本次实践为个人测试环境,操作系统版本为Ubuntu 22.04.1。

hostname IP地址 操作系统版本 Docker版本 部署项目
jeven01 192.168.3.88 Ubuntu 22.04.1 LTS 27.1.1 GhostHub

2.2 本次实践介绍

1.本次实践部署环境为个人测试环境,生产环境请谨慎;
2.在Docker环境下部署GhostHub媒体服务器。

三、本地环境检查

3.1 检查Docker服务状态

检查Docker服务是否正常运行,确保Docker正常运行。

root@jeven01:~#  systemctl status docker
● docker.service - Docker Application Container Engine
     Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
     Active: active (running) since Wed 2025-07-02 14:16:57 UTC; 21h ago
TriggeredBy: ● docker.socket
       Docs: https://docs.docker.com
   Main PID: 878 (dockerd)
      Tasks: 28
     Memory: 1.2G
        CPU: 1min 50.356s
     CGroup: /system.slice/docker.service
             ├─  878 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock

3.2 检查Docker版本

检查Docker版本

root@jeven01:~# docker -v
Docker version 27.1.1, build 6312585

3.3 检查docker compose 版本

检查Docker compose版本,确保2.0以上版本。

root@jeven01:~# docker compose version
Docker Compose version v2.19.1

四、拉取GhostHub镜像

拉取GhostHub容器镜像,如下所示:

docker pull registry.cn-hangzhou.aliyuncs.com/jeson/ghosthub:latest

在这里插入图片描述

五、部署GhostHub服务

5.1 创建部署目录

  • 创建部署目录
mkdir -p /data/ghosthub/{instance,media}  &&  cd /data/ghosthub/

5.2 编辑部署文件

在部署目录下,创建docker-compose.yaml文件,如下所示:

vim docker-compose.yaml
services:
  ghosthub:
    image: registry.cn-hangzhou.aliyuncs.com/jeson/ghosthub:latest
    container_name: ghosthub
    restart: unless-stopped
    ports:
      - "5000:5000"
    volumes:
      - ./instance:/app/instance
      - ./media:/media
    environment:
      - PORT=5000
      - FLASK_CONFIG=production
      - DOCKER_ENV=true


5.3 创建GhostHub容器

执行以下命令,创建GhostHub容器。

docker compose up -d

在这里插入图片描述

5.4 查看GhostHub容器状态

检查GhostHub容器运行状态,确保GhostHub容器正常启动。

root@jeven01:/data/ghosthub#   docker compose ps
NAME       IMAGE                                                     COMMAND                  SERVICE    CREATED         STATUS         PORTS
ghosthub   registry.cn-hangzhou.aliyuncs.com/jeson/ghosthub:latest   "/bin/sh -c 'python …"   ghosthub   3 minutes ago   Up 3 minutes   0.0.0.0:5000->5000/tcp, [::]:5000->5000/tcp

5.5 查看GhostHub容器日志

检查GhostHub容器运行日志,确保GhostHub服务正常运行。

docker compose logs

在这里插入图片描述

六、访问GhostHub服务

浏览器地址: http://<个人的服务器IP>:8000,访问GhostHub的初始页。如果无法访问,请确保宿主机的防火墙已关闭或已放行相关端口,对于云服务器还需配置相应的安全组规则。

在这里插入图片描述

七、GhostHub基本使用

7.1 上传视频文件

在media目录下创建videos和pictures子目录,如下所示:

mkdir -p /data/ghosthub/media/{videos,pictures} 
root@jeven01:/data/ghosthub/media/videos# pwd
/data/ghosthub/media/videos
root@jeven01:/data/ghosthub/media/videos# ll
total 3336
drwxr-xr-x 2 root root    4096 Jul  9 07:14 ./
drwxr-xr-x 4 root root    4096 Jul  9 07:13 ../
-rw-r--r-- 1 root root 3406789 Jul  9 07:14 test.mp4

7.2 添加分类

点击 “Add Category”(添加分类)进入新增分类界面,填写文件路径 /media/videos,确认添加后返回首页刷新页面,即可看到刚刚上传的视频内容。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

八、总结

通过本次实践,我们成功使用 Docker 部署了 GhostHub 媒体服务器,不仅快速搭建了运行环境,还充分发挥了 Docker 容器化部署轻量、便捷的优势。整个过程涵盖了环境准备、镜像拉取、配置文件编辑、容器创建与服务访问等关键步骤,为后续的媒体内容管理与展示打下了良好基础。GhostHub 凭借其简洁的界面和实用的功能,非常适合个人或小型团队用于搭建私有化的视频分享平台。在今后的使用中,还可以结合反向代理、持久化存储、自动备份等策略进一步提升服务的稳定性和安全性。此次实战不仅加深了对 Docker 应用部署的理解,也为实际业务场景中的媒体服务搭建提供了可行方案。


【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。