GitHub_Trending/do/docker-webtop与Terraform:基础设施即代码部署

GitHub_Trending/do/docker-webtop与Terraform:基础设施即代码部署

【免费下载链接】docker-webtop Ubuntu, Alpine, Arch, and Fedora based Webtop images, Linux in a web browser supporting popular desktop environments. 【免费下载链接】docker-webtop 项目地址: https://gitcode.com/GitHub_Trending/do/docker-webtop

项目概述

GitHub_Trending/do/docker-webtop 是一个基于Ubuntu、Alpine、Arch和Fedora的Webtop镜像项目,支持在Web浏览器中运行流行的桌面环境。该项目由LinuxServer.io团队开发,提供了定期更新、简单的用户映射、自定义基础镜像以及每周基础操作系统更新等特性,确保了空间使用、停机时间和带宽的最小化,同时保持了定期的安全更新。

快速部署指南

Docker Compose部署

推荐使用Docker Compose进行部署,项目中提供了完整的示例配置。以下是基本的部署步骤:

  1. 创建compose.yaml文件,内容如下:
---
services:
  webtop:
    image: lscr.io/linuxserver/webtop:latest
    container_name: webtop
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Etc/UTC
    volumes:
      - /path/to/data:/config
    ports:
      - 3000:3000
      - 3001:3001
    shm_size: "1gb"
    restart: unless-stopped
  1. 执行以下命令启动服务:
docker-compose up -d

Docker CLI部署

如果需要使用Docker CLI直接部署,可以执行以下命令:

docker run -d \
  --name=webtop \
  -e PUID=1000 \
  -e PGID=1000 \
  -e TZ=Etc/UTC \
  -p 3000:3000 \
  -p 3001:3001 \
  -v /path/to/data:/config \
  --shm-size="1gb" \
  --restart unless-stopped \
  lscr.io/linuxserver/webtop:latest

高级配置选项

环境变量配置

Webtop提供了多种环境变量用于自定义配置,以下是常用的几个选项:

变量描述
CUSTOM_USERHTTP基本认证的用户名,默认为abc
PASSWORDHTTP基本认证的密码,如果未设置则禁用认证
SUBFOLDER反向代理配置的应用子文件夹,必须包含前导和尾随斜杠,例如/subfolder/
TITLEWeb浏览器中显示的页面标题,默认为"Selkies"
LC_ALL设置容器的区域设置,例如zh_CN.UTF-8表示中文

安全配置

[!WARNING] 此容器提供对主机系统的特权访问。除非已正确保护,否则不要将其暴露到互联网。

默认情况下,此容器没有身份验证。可选的CUSTOM_USERPASSWORD环境变量启用基本HTTP身份验证,这仅适用于在受信任的本地网络上保护容器。对于互联网暴露,强烈建议将容器放在反向代理(如SWAG)后面,并使用强大的身份验证机制。

Web界面包括一个无需密码的sudo访问终端。任何有权访问GUI的用户都可以在容器内获得root控制权,安装任意软件,并探测本地网络。

GPU加速配置

对于加速应用或游戏,可以将渲染设备挂载到容器中,并通过以下方式被应用程序利用:

--device /dev/dri:/dev/dri

此功能仅支持开源GPU驱动程序:

驱动描述
Intel适用于Intel iGPU芯片组的i965和i915驱动程序
AMD适用于AMD专用或APU芯片组的AMDGPU、Radeon和ATI驱动程序
NVIDIA仅nouveau2驱动程序,闭源NVIDIA驱动程序缺乏DRI3支持

DRINODE环境变量可用于指向特定的GPU。

应用管理

PRoot应用(持久化)

原生安装的软件包(例如通过apt-get install)在容器重新创建后不会持久存在。为了在容器更新之间保留应用程序及其设置,建议使用proot-apps。这些是安装到用户持久$HOME目录的便携式应用程序。

要在容器内安装应用程序,请使用命令行:

proot-apps install filezilla

支持的应用程序列表可在此处找到。

原生应用(非持久化)

可以使用universal-package-install mod从系统的原生仓库安装软件包。此方法会增加容器的启动时间,并且不具有持久性。在compose.yaml中添加以下内容:

  environment:
    - DOCKER_MODS=linuxserver/mods:universal-package-install
    - INSTALL_PACKAGES=libfuse2|git|gdb

容器更新与维护

使用Docker Compose更新

  • 更新镜像:

    • 所有镜像:

      docker-compose pull
      
    • 单个镜像:

      docker-compose pull webtop
      
  • 更新容器:

    • 所有容器:

      docker-compose up -d
      
    • 单个容器:

      docker-compose up -d webtop
      
  • 还可以删除旧的悬空镜像:

    docker image prune
    

使用Docker Run更新

  • 更新镜像:

    docker pull lscr.io/linuxserver/webtop:latest
    
  • 停止运行中的容器:

    docker stop webtop
    
  • 删除容器:

    docker rm webtop
    
  • 使用上述说明的相同docker run参数重新创建新容器(如果正确映射到主机文件夹,/config文件夹和设置将被保留)

  • 还可以删除旧的悬空镜像:

    docker image prune
    

本地构建

如果想要对这些镜像进行本地修改以用于开发目的或自定义逻辑:

git clone https://gitcode.com/GitHub_Trending/do/docker-webtop
cd docker-webtop
docker build \
  --no-cache \
  --pull \
  -t lscr.io/linuxserver/webtop:latest .

可以使用lscr.io/linuxserver/qemu-static在x86_64硬件上构建ARM变体,反之亦然

docker run --rm --privileged lscr.io/linuxserver/qemu-static --reset

注册后,可以使用-f Dockerfile.aarch64指定要使用的dockerfile。

版本历史

  • 24.07.25: - 将Debian镜像重新基于Trixie。
  • 17.06.25: - 将所有镜像重新基于Selkies,删除openbox和icewm,将Alpine升级到3.22,将Fedora升级到42。
  • 10.01.25: - 将Fedora重新基于41。
  • 06.12.24: - 将Alpine重新基于3.21。
  • 26.09.24: - 在Alpine镜像上从firefox切换到chromium。
  • 23.05.24: - 将Alpine重新基于3.20,记录Nvidia支持。
  • 22.04.24: - 将Ubuntu重新基于Noble。
  • 16.04.24: - 添加PRoot Apps文档。
  • 14.04.24: - 将Fedora重新基于40。

【免费下载链接】docker-webtop Ubuntu, Alpine, Arch, and Fedora based Webtop images, Linux in a web browser supporting popular desktop environments. 【免费下载链接】docker-webtop 项目地址: https://gitcode.com/GitHub_Trending/do/docker-webtop

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值