使用 Docker 部署 Puter 云桌面系统

1)Puter 介绍

:::info
GitHub:https://github.com/HeyPuter/puter
:::

Puter 是一个先进的开源桌面环境,运行在浏览器中,旨在具备丰富的功能、异常快速和高度可扩展性。它可以用于构建远程桌面环境,也可以作为云存储服务、远程服务器、Web 托管平台等的界面。Puter 是一个隐私至上的个人云,可以将您的所有文件、应用程序和游戏保存在一个安全的地方,随时随地都可以访问。

2)Puter 用途

  1. 作为 Dropbox、Google Drive、OneDrive 等的替代品,提供清新的界面和强大的功能;
  2. 用于服务器和工作站的远程桌面环境;
  3. 用于构建和托管网站、Web 应用程序和游戏的平台;
  4. 一个友好的、开源的项目和社区,可以学习有关 Web 开发、云计算、分布式系统等等的知识;

3)在线体验

:::info
Demo:https://puter.com/
:::
image.png

4)部署安装

4.1)安装 Docker 软件包

# 高版本 Docker 安装
curl -fsSL https://get.docker.com/ | sh
# 关闭防火墙
systemctl disable --now firewalld
setenforce 0
# 启用 Docker 服务
systemctl enable --now docker

image.png

4.2)安装 Docker-compose

yum install docker-compose -y

4.3)安装 Git

yum install git -y

第一种方式:基于 Docker 启动 Puter 服务

# 运行容器
docker run -d \--name puter \-p 4000:4000 \wbsu2003/puter

image.png

第二种方式:基于 Docker-Compose 启动 Puter 服务

# 创建 puter 目录
mkdir -p /docker/puter# 进入 puter 目录
cd /docker/puter
# 编写 docker-compose 文件
vim docker-compose.yml
version: '3'services:puter:image: wbsu2003/putercontainer_name: puterrestart: unless-stoppedports:- 4000:4000
# 基于 docker-compose 启动
docker-compose up -d

image.png

第三种方法:在本地直接运行

git clone https://github.com/HeyPuter/putercd puternpm installnpm start浏览器打开: http://localhost:4000

5)Web 访问

在浏览器中输入 http://服务器IP地址:4000 就能看到主界面
image.png

:::info
右上角菜单,选择 Save Session
Create Account
:::

image.png

:::info
为了保存会话和存储数据,这个账号是可以直接在 https://puter.com 上登录的
:::

image.png

这个「Puter」系统提供的应用还挺多,点击开始菜单可以看到拥有 Code 代码呢编辑器、笔记本、画图工具、终端工具、相机、播放器、开发中心、应用中心、以及一些小游戏等。
image.png

系统支持同时运行多个应用,支持自由拖动窗口大小,可以存储文件到云系统里面。所以你可以用「Puter」作为云存储服务、服务器维护环境、构建和托管网站等等。
image.png

文件管理器方面提供了文档、相册、桌面、视频,支持新建立文件夹/文件、支持分享文件夹、压缩、下载,以及可以拖动文件上传。
image.png

:::info
总结:
这个「Puter」开源 Web 桌面系统可玩性还是挺高的,如果你有 NAS 或者服务器建议自己部署打造属于自己的云电脑,可惜的是似乎不支持修改本地存储,毕竟提供的 500MB 容量空间实在太小了,感兴趣的可以注册个账号使用看看。
:::

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/789288.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Unix运维_如何测试C11和C++11至C17和C++17标准的支持

Unix运维_如何测试C11和C11至C17和C17标准的支持 C语言 标准主要有以下几个版本: K&R C: 这是 C语言 的第一个标准, 由 Dennis Ritchie 和 Brian Kernighan 于 1978 年在《The C Programming Language》一书中定义。K&R C 标准包含了基本的语法, 数据类型, 运算符等,…

C# OpenFileDialog

c#—OpenFileDialog(打开文件对话框) OpenFileDialog 是 Windows Forms 应用程序中用于打开文件的常用对话框。它提供了一个标准的用户界面,让用户能够浏览文件夹、查看文件列表以及选择一个或多个文件。下面是一个使用 OpenFileDialog 的基本…

codeforces Edu 142 D. Fixed Prefix Permutations 【思维、字典树求LCP】

D. Fixed Prefix Permutations 题意 给定 n n n 个长度为 m m m 的排列 a 1 , a 2 , . . . a n a_1,a_2,...a_n a1​,a2​,...an​ 定义一个排列 p p p 的 价值 为 最大顺序长度 k k k: p 1 1 , p 2 2 , p 3 3 , . . . p k k p_1 1,p_2 2, p_3 3, ...…

在编程中使用中文到底该不该??

看到知乎上有个热门问题,为什么很多人反对中文在编程中的使用? 这个问题有几百万的浏览热度,其中排名第一的回答非常简洁,我深以为然: 在国内做开发,用中文写注释、写文档,是非常好的习惯&…

产品经理功法修炼(2)之专业技能

点击下载《产品经理功法修炼(2)之专业技能》 1. 前言 产品经理的能力修炼并非局限于某一技能的速成,而是需要全面参与到产品的整个生命周期中,通过不断的实践来逐步提升自己的各项能力。尽管在企业的日常运作中,我们不可能身兼数职去扮演每一个角色,但作为产品的核心负…

【适用于福彩3D和体彩排列3】012路直选代码对照表

在我的第6套算法中,我用自己搭建的AI模型,对012路直选进行了预测,但是由于没有对照表,导致很多朋友无法看懂预测结果。众所周知,对于012路直选,共计27种组合方式。我自己进行了组合分类,并赋予相…

建立mysql测试数据

建立一个多数据,多字段的大表,索引有意不全,用于多线程测试 1.建表 /*Navicat Premium Data TransferSource Server : duoSource Server Type : MySQLSource Server Version : 80300 (8.3.0)Source Host : localhost:…

LeetCode 209 长度最小的子数组(滑动窗口,双指针实现)

给定一个含有 n 个正整数的数组和一个正整数 target 。 找出该数组中满足其总和大于等于 target 的长度最小的 连续 子数组 [numsl, numsl1, ..., numsr-1, numsr] ,并返回其长度。如果不存在符合条件的子数组,返回 0 。 示例 1: 输入&…

微知识-git rebase常用的3个场景和2个本质

如何修改历史提交的commit 的msg信息 r - git rebase -i xxxx 其中xxx是需要修改的commit的father , -i 是指交互式 - 将pick 修改为r 表示修改commit msg - 其他的不要动 git rebase的原理是,在交互式界面好比是输入命令&#x…

[C/C++] -- 二叉树

1.简介 二叉树是一种每个节点最多有两个子节点的树结构,通常包括:根节点、左子树、右子树。 满二叉树: 如果一棵二叉树只有度为0的结点和度为2的结点,并且度为0的结点在同一层上,则这棵二叉树为满二叉树。深度为k&a…

创研杯赛事:激发英语热情,助力人才培养

2024 中国翻译协会年会期间,知名赛事活动平台赛氪承办的“AI 科技时代竞赛与就业”分论坛,于 3 月 30 日下午在长沙圆满落幕。其中值得瞩目的是,第三届”创研杯“大赛也在本次会议上进行了启动。 创研杯赛事由空中英语教室杂志社发起主办&am…

【解决问题】排查linux文件手动删除文件,但是文件标记为deleted,资源未释放

背景: 生产环境我们把程序生成的数据文件手动删除后,但是空间并没有释放,导致硬盘被占用,不够用 问题排查: 1.查看占用文件状态 使用命令: lsof | grep deleted 查看 文件已经删除了,但是都是…

Oracle学习之路:从小白到专家

一、引言 A. 博客文章的目的和背景 本博客的目的是为那些想要学习Oracle数据库的人提供一个初步的指南,帮助他们从小白到专家的过程。Oracle是一种广泛使用的关系型数据库管理系统,具有广泛的应用场景,因此深入学习Oracle是一个有意义的投资…

C语言 | Leetcode C语言题解之第5题最长回文子串

题目&#xff1a; 题解&#xff1a; char* longestPalindrome(char* s) {int lenstrlen(s),max0;int p0;for(int i0;i<len;i)//这种是判断奇数回文{int lefti-1,righti1;//left左边&#xff0c;right右边while(left>0&&right<len&&s[left]s[right]){/…

自定义多阶段倒计时实现分段倒计时

直接贴代码好了 情况是这么个情况 老板想要一个倒计时完毕后再接下一个倒计时总共四五个算一轮业务结束的这个样子 然后循环执行这个业务,这些循环执行我就用了xxl-job ,整体业务就用信号量执行了,总的来说是返回给前端的时间是零误差的, 业务处理的都用异步去执行保证时间总的…

【JavaScript】使用 NVM 管理 Node.js 版本

风决定要走 云怎么挽留 曾经抵死纠缠放空的手 情缘似流水覆水总难收 我还站在你离开 离开的路口 你既然无心 我也该放手 何必痴痴傻傻纠缠不休 是情深缘浅 留一生遗憾 还是情浅缘深 一辈子怨偶 &#x1f3b5; 庄心妍《以后的以后》 Node.js 是一个广泛使用…

10.图像高斯滤波的原理与FPGA实现思路

1.概念 高斯分布 图像滤波之高斯滤波介绍 图像处理算法|高斯滤波   高斯滤波(Gaussian filter)包含很多种&#xff0c;包括低通、高通、带通等&#xff0c;在图像上说的高斯滤波通常是指的高斯模糊(Gaussian Blur)&#xff0c;是一种高斯低通滤波。通常这个算法也可以用来模…

FME学习之旅---day19

我们付出一些成本&#xff0c;时间的或者其他&#xff0c;最终总能收获一些什么。 如何使用 Esri 模板地理数据库 在学习之初&#xff0c;首先了解什么是Esri模板、如何使用Esri模板以及如何创建Esri模板 有两种类型的 Esri 模板&#xff1a;文件地理数据库 &#xff08;.gd…

环信IM集成教程——Web端UIKit快速集成与消息发送

写在前面&#xff1a; 千呼万唤始出来&#xff0c;环信Web端终于出UIKit了&#xff01;&#x1f389;&#x1f389;&#x1f389; 文档地址&#xff1a;https://doc.easemob.com/uikit/chatuikit/web/chatuikit_overview.html 环信单群聊 UIKit 是基于环信即时通讯云 IM SDK 开…

JavaScript 中数组方法

JavaScript 中有很多用于操作数组的方法&#xff0c;以下是一些常用的数组方法&#xff1a; 目录 push(): 向数组的末尾添加一个或多个元素&#xff0c;并返回新的长度。 pop(): 删除数组的最后一个元素&#xff0c;并返回该元素的值。 shift(): 删除数组的第一个元素&…