swarmlet 正在参加 2021 年度 OSC 中国开源项目评选,请投票支持!
swarmlet 在 2021 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
2021 年度 OSC 中国开源项目评选 正在火热进行中,快来投票支持你喜欢的开源项目!
2021 年度 OSC 中国开源项目评选 >>> 中场回顾
swarmlet 获得 2021 年度 OSC 中国开源项目评选「最佳人气项目」 !
授权协议 MIT License
开发语言 JavaScript
操作系统 跨平台
软件类型 开源软件
所属分类 云计算Docker 扩展
开源组织
地区 不详
投 递 者 首席测试
适用人群 未知
收录时间 2021-12-24

软件简介

logo

Swarmlet

WebsiteDocumentationDemo 🧞‍♂

Swarmlet is a self-hosted, open-source Platform as a Service that runs on any single server. It's mainly intended for use with multiple servers, a server cluster / swarm. Heavily inspired by Dokku.


stability-wip PRs Welcome

NOTE

Work In Progress.
This project is in beta and definitely not production-ready yet.

TL;DR

Why choose Kubernetes over Docker + Docker Swarm?
Why not automate some deployment things to get a pretty simple, versatile and solid setup?
Bonus, you're familiar with Docker already.

How:
Install swarmlet on a server. Develop projects locally as usual, add a docker-compose.yml file to describe your application stack, add a git remote, e.g. git remote add swarm git@my-swarm:my-project.
Then simply git push swarm master to deploy the project on your swarm (server cluster). A load balancer, SSL, and metrics/logging (optional) are enabled by default.

What is Swarmlet?

Swarmlet is a thin wrapper around Docker Compose and Docker Swarm mode.
A few core services, Traefik (v2.3), Let's Encrypt, Ansible and GlusterFS are included by default.
These enable automatic SSL, load balancing, swarm state management and distributed file storage.
Let's Encrypt wildcard certificates support - more info.

During the installation you can choose to install Matamo, Portainer, Swarmpit and Swarmprom.
These optional services are included to provide analytics and various metrics dashboards.

This project is aimed at developers that want to experiment with application deployment in a flexible multi-server / high-availability environment. The goal is to be able to set up your own swarm and deploy your app(s) in minutes.

Getting started

  1. Install Swarmlet on a new VPS running Ubuntu 18.04 x64 as root.
  2. Edit your local SSH config to use ssh swarm instead of ssh root@123.23.12.123
  3. Use an existing project, or clone one of the examples
  4. Add a docker-compose.yml file in the root of your project
  5. Add a git remote: git remote add swarm git@swarm:my-project
  6. Deploy your application stack to the swarm using git push swarm master

Example application setup and deployment guide

Installation

Make sure you have a (sub) domain available which is pointed to your server, this is necessary to access the Traefik or Portainer/Matomo dashboards located at e.g. portainer.your-domain.com.

To install the latest version of Swarmlet, log in to your server as root and run:

curl -fsSL https://get.swarmlet.dev | bash

The installation should take a few minutes to complete.

Full installation instructions can be found here

Custom installation

# Headless (noninteractive) installation:
curl -fsSL https://get.swarmlet.dev | bash -s \
  INSTALLATION_TYPE=noninteractive \
  INSTALL_ZSH=true \
  INSTALL_MODULES="matomo swarmpit" \
  NEW_HOSTNAME=swarm-manager-1 \
  SWARMLET_USERNAME=admin \
  SWARMLET_PASSWORD=nicepassword \
  ROOT_DOMAIN=dev.mydomain.com

Examples

Swarmlet includes various examples of services that you can deploy to your server cluster with a simple git push.

All these examples and the Swarmlet documentation and website are running on a €5/mo single server 'cluster', using Swarmlet for deployments.


Proudly sponsored by Passionate People

展开阅读全文

代码

评论

点击引领话题📣 发布并加入讨论🔥
暂无内容
发表了博客
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
没有更多内容
暂无内容
发表了问答
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
没有更多内容
暂无内容
shell-quote 安全漏洞
命令注入
shell-quote是开源的一个软件包。用于解析和引用 shell 命令。 shell-quote package存在安全漏洞,攻击者可利用该漏洞可以植入任意代码从而执行相关操作。
CVE-2021-42740 MPS-2021-34136
2022-08-08 20:19
Immer 安全漏洞
使用不兼容类型访问资源(类型混淆)
Immer是Immer社区的一个基于Javascript的状态管理库。。 immer 9.0.6之前版本存在安全漏洞,该漏洞源于当path参数中使用的用户提供的密钥是数组时,可能导致绕过CVE-2020-28477。
CVE-2021-23436 MPS-2021-19475
2022-08-08 20:19
react-dev-utils 操作系统命令注入漏洞
命令注入
Helper create-react-app是 (Helper)开源的一个应用程序。用于隐藏在弹出时不应给用户带来负担的代码。 react-dev-utils prior to v11.0.4 存在操作系统命令注入漏洞,该漏洞源于当使用用户提供的值手动调用这个getProcessForPort函数时,才有可能出现命令注入。
CVE-2021-24033 MPS-2021-2739
2022-08-08 20:19
merge-deep 安全漏洞
merge-deep是开源的一个工具。用于递归合并 JavaScript 对象中的值。 merge-deep 3.0.3之前存在安全漏洞,该漏洞源于merge-deep库可能会被欺骗到覆盖Object的属性,merge-deep库可能会被欺骗到覆盖Object的属性。、
CVE-2021-26707 MPS-2021-7924
2022-08-08 20:19
Libcontainer和Docker Engine 权限许可和访问控制漏洞
在文件访问前对链接解析不恰当(链接跟随)
Libcontainer和Docker Engine都是美国Docker公司的产品。Libcontainer是一个Linux容器。Docker Engine是一套轻量级的运行环境和包管理工具。 Libcontainer和Docker Engine 1.6.1之前版本中存在安全漏洞,该漏洞源于程序在执行更改根目录操作前打开文件描述符(传递到pid-1进程)。本地攻击者可通过在图像上实施符号链接攻击利用该漏洞获取权限。
CVE-2015-3627 MPS-2015-2409
2022-08-08 20:19
SockJS 输入验证错误漏洞
对异常条件的处理不恰当
SockJS是一款浏览器JavaScript库。 SockJS 0.3.20之前版本中存在安全漏洞,该漏洞源于程序没有正确处理Upgrade标头。攻击者可利用该漏洞导致托管sockjs应用程序的容器崩溃。
CVE-2020-7693 MPS-2020-10001
2022-08-08 20:19
node-forge 输入验证错误漏洞
动态确定对象属性修改的控制不恰当
node-forge是一个应用软件。一个用于 node-forge 的 WebJar。 所有版本的node-forge软件包都易于通过setPath函数受到原型污染。
CVE-2020-7720 MPS-2020-12281
2022-08-08 20:19
Npm Ini 资源管理错误漏洞
拒绝服务
Npm Ini是美国Npm公司的一个基于Javascript的用于解析和序列化Ini格式文件的代码库。 Npm ini before 1.3.6 存在资源管理错误漏洞,该漏洞允许攻击者可利用该漏洞向应用程序提交恶意的INI文件,该应用程序将用INI解析该文件。这可以根据上下文进一步加以利用。
CVE-2020-7788 MPS-2020-17544
2022-08-08 20:19
URL -parse 输入验证错误漏洞
跨站重定向
Arnout Kazemier url-parse是美国Arnout Kazemiere(Arnout Kazemier)个人开发者的一个应用软件。提供url解析。 URL -parse 存在输入验证错误漏洞,该漏洞源于URL -parse容易被URL重定向到不可信站点
CVE-2021-3664 MPS-2021-11194
2022-08-08 20:19
lodash 命令注入漏洞
代码注入
lodash是一个提供模块化、性能和附加功能的现代 JavaScript 实用程序库。 4.17.21 之前的 Lodash 版本容易通过模板函数进行命令注入。
CVE-2021-23337 MPS-2021-2638
2022-08-08 20:19
nodejs 资源管理错误漏洞
拒绝服务
nodejs是是一个基于ChromeV8引擎的JavaScript运行环境通过对Chromev8引擎进行了封装以及使用事件驱动和非阻塞IO的应用让Javascript开发高性能的后台应用成为了可能。 nodejs-glob-parent 存在安全漏洞,该漏洞源于正则表达式拒绝服务。
CVE-2020-28469 MPS-2021-7827
2022-08-08 20:19
lodash 存在拒绝服务漏洞
拒绝服务
lodash 是一个现代 JavaScript 实用程序库,提供模块化、性能和附加功能。由于对 CVE-2020-8203 的修复不完整,此软件包的受影响版本容易受到 zipObjectDeep 中的原型污染。
MPS-2022-13841
2022-08-08 20:19
node-forge 存在原型污染漏洞
原型污染
node-forge 是网络传输、密码学、密码、PKI、消息摘要和各种实用程序的 JavaScript 实现。此软件包的受影响版本容易受到通过伪造的原型污染。
MPS-2022-13920
2022-08-08 20:19
url-parse 安全漏洞
通过用户控制密钥绕过授权机制
Url-Parse是一个跨 Node.js 和浏览器环境无缝工作的小型 Url 解析器。 url-parse 1.5.7之前版本存在安全漏洞,攻击者可利用该漏洞通过用户控制的密钥绕过授权。
CVE-2022-0639 MPS-2022-4297
2022-08-08 20:19
Ajv 输入验证错误漏洞
输入验证不恰当
Ajv 6.12.2版本中的ajv.validate()函数中存在输入验证错误漏洞。攻击者可利用该漏洞执行代码或造成拒绝服务。
CVE-2020-15366 MPS-2020-10525
2022-08-08 20:19
Axios 代码问题漏洞
SSRF
Axios是一款基于Promise(异步编程的一种解决方案)的HTTP客户端。 Axios NPM package 0.21.0版本存在安全漏洞,攻击者可利用该漏洞能够通过提供一个URL绕过代理,该URL通过重定向响应一个受限制的主机或IP地址。
CVE-2020-28168 MPS-2020-16365
2022-08-08 20:19
shelljs 安全漏洞
特权管理不恰当
shelljs是基于Node.js API 的 Unix shell 命令的可移植(Windows/Linux/OS X)实现。 shelljs存在安全漏洞,该漏洞源于不适当的权限管理,攻击者可利用该漏洞进行越权访问。
CVE-2022-0144 MPS-2022-0508
2022-08-08 20:19
follow-redirects project信息暴露漏洞
信息暴露
Exposure of Sensitive Information to an Unauthorized Actor in NPM follow-redirects prior to 1.14.8.
CVE-2022-0536 MPS-2022-3636
2022-08-08 20:19
Digital Bazaar Forge 数据伪造问题漏洞
密码学签名的验证不恰当
Digital Bazaar Forge是美国Digital Bazaar公司的一个 Tls 在 Javascript 中的本机实现以及用于编写基于加密和网络密集型 Web 应用程序的开源工具。 Forge 1.3.0 版本之前 RSA PKCS 存在数据伪造问题漏洞,该漏洞源于 RSA PKCS 签名验证码对摘要算法结构的检查较为宽松。攻击者可以通过精心设计的结构窃取填充字节并在使用低公共指数时使用 PKCS#1 编码消息的未检查部分来伪造签名。
CVE-2022-24771 MPS-2022-3738
2022-08-08 20:19
Digital Bazaar Forge数据伪造问题漏洞
密码学签名的验证不恰当
Digital Bazaar Forge是美国Digital Bazaar公司的一个Tls在Javascript中的本机实现以及用于编写基于加密和网络密集型Web应用程序的开源工具。digitalbazaar Forge 1.3.0之前版本存在数据伪造问题漏洞,该漏洞源于RSA PKCS#1 v1.5签名验证码在解码 `DigestInfo` ASN.1 结构后不检查尾随垃圾字节。攻击者可以删除填充字节利用该漏洞添加垃圾数据以伪造签名。
CVE-2022-24772 MPS-2022-3739
2022-08-08 20:19
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
0 评论
0 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部