Docker入门之使用Dockge搭建家用资料 & 媒体服务器
-
Docker入门之使用Dockge搭建家用资料 & 媒体服务器
请确保你已经读过了此前的Docker入门讨论,这是一篇应用性的讨论。Get your hands dirty!
一、如何安装Docker
sudo apt install apt-transport-https ca-certificates curl software-properties-common -y
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
sudo docker --version
二、如何安装Dockge
# Create directories that store your stacks and stores Dockge's stack
sudo mkdir -p /opt/stacks /opt/dockge
cd /opt/dockge# Download the compose.yaml
sudo curl https://raw.githubusercontent.com/louislam/dockge/master/compose.yaml --output compose.yaml# Start the server
sudo docker compose up -d# If you are using docker-compose V1 or Podman
# sudo docker-compose up -d三、在Dockge中添加运行yml文件
请确认你已经在服务器上安装了Docker和Dockge。具体添加方法请自行探索,不难。这里仅仅讨论如何编写yml文件并运行。
该文件由GPT4生成,需求目标是通过filebrowser来管理书籍、媒体资料,便于后期备份。通过transmission来下载,用Jellyfin来运行家庭影院。相互之间可以文件共享。仍需进一步进行防火墙等安全配置。
prompt为:我需要让filebrowser、transmission和jellyfin共享文件资源,在docker中运行,请帮我写一个yml。
version: '3.8' # 指定 Docker Compose 文件的版本
services:
filebrowser:
image: filebrowser/filebrowser # 使用 filebrowser 的官方镜像
container_name: filebrowser # 容器名称
volumes:
- /path/to/your/files:/srv # 将主机上的文件目录挂载到容器内的 /srv 目录
ports:
- 8080:80 # 将主机的 8080 端口映射到容器的 80 端口
restart: unless-stopped # 容器在停止或崩溃后自动重启,除非手动停止
transmission:
image: linuxserver/transmission # 使用 Transmission 的官方镜像
container_name: transmission # 容器名称
environment:
- PUID=1000 # 设置用户 ID
- PGID=1000 # 设置组 ID
- TZ=Etc/UTC # 设置时区
volumes:
- /path/to/your/files:/downloads # 将主机上的文件目录挂载到容器内的 /downloads 目录
- /path/to/transmission/config:/config # 将主机上的配置目录挂载到容器内的 /config 目录
ports:
- 9091:9091 # 将主机的 9091 端口映射到容器的 9091 端口(Web UI)
- 51413:51413 # 将主机的 51413 端口映射到容器的 51413 端口(TCP)
- 51413:51413/udp # 将主机的 51413 端口映射到容器的 51413 端口(UDP)
restart: unless-stopped # 容器在停止或崩溃后自动重启,除非手动停止
(原本还有Calibre-Web,因为有特殊配置问题,单独部署)
jellyfin:
image: jellyfin/jellyfin # 使用 Jellyfin 的官方镜像
container_name: jellyfin # 容器名称
environment:
- PUID=1000 # 设置用户 ID
- PGID=1000 # 设置组 ID
- TZ=Etc/UTC # 设置时区
volumes:
- /path/to/your/files:/media # 将主机上的文件目录挂载到容器内的 /media 目录
- /path/to/jellyfin/config:/config # 将主机上的配置目录挂载到容器内的 /config 目录
- /path/to/jellyfin/cache:/cache # 将主机上的缓存目录挂载到容器内的 /cache 目录
ports:
- 8096:8096 # 将主机的 8096 端口映射到容器的 8096 端口
- 8920:8920 # 将主机的 8920 端口映射到容器的 8920 端口(HTTPS)
restart: unless-stopped # 容器在停止或崩溃后自动重启,除非手动停止
通过在Dockge中运行上述文件,即可得到一个家用书籍 & 媒体服务器。其中用到的软件,可在基地开源软件小组中找到相关信息。
这个讨论是一个基础,用来展示相关技术实现步骤。也是使用GPT4来写作的文件,你可以通过人机来协同自定义,形成你自己的更好实践。
Sorry, there were no replies found.
Log in to reply.