All Projects → swarmlet → Swarmlet

swarmlet / Swarmlet

Licence: mit
A self-hosted, open-source Platform as a Service that enables easy swarm deployments, load balancing, automatic SSL, metrics, analytics and more.

Programming Languages

shell
77523 projects

Projects that are alternatives of or similar to Swarmlet

Dockerize Your Dev
Docker compose a VM to get LetsEncrypt / NGINX proxy auto provisioning, ELK logging, Prometheus / Grafana monitoring, Portainer GUI, and more...
Stars: ✭ 61 (-83.65%)
Mutual labels:  letsencrypt, docker-compose, portainer
Hastic Server
Hastic data management server for analyzing patterns and anomalies from Grafana
Stars: ✭ 292 (-21.72%)
Mutual labels:  self-hosted, analytics, metrics
tellery
Tellery lets you build metrics using SQL and bring them to your team. As easy as using a document. As powerful as a data modeling tool.
Stars: ✭ 219 (-41.29%)
Mutual labels:  analytics, metrics, self-hosted
Docker Portainer Letsencrypt
Portainer docker container over SSL Certificate using Let's Encrypt automated by our webproxy docker-compose-letsencrypt-nginx-proxy
Stars: ✭ 141 (-62.2%)
Mutual labels:  letsencrypt, docker-compose, portainer
Docker Traefik Prometheus
A Docker Swarm Stack for monitoring Traefik with Promethues and Grafana
Stars: ✭ 215 (-42.36%)
Mutual labels:  metrics, docker-compose, swarm
Ansible Rails
Ruby on Rails deployment using Ansible - with Lets Encrypt, Sidekiq, PostgreSQL, nginx & puma
Stars: ✭ 199 (-46.65%)
Mutual labels:  ansible, deployment, letsencrypt
Awx Ha Instancegroup
Build AWX clustering on Docker Standalone Installation
Stars: ✭ 106 (-71.58%)
Mutual labels:  ansible, docker-compose, cluster
Inertia
✈️ Effortless, self-hosted continuous deployment for small teams and projects
Stars: ✭ 133 (-64.34%)
Mutual labels:  self-hosted, deployment, docker-compose
Youtube Videos
Documentation for Techno Tim YouTube Videos
Stars: ✭ 250 (-32.98%)
Mutual labels:  ansible, portainer
Ansible Node Exporter
Provision basic metrics exporter for prometheus monitoring tool
Stars: ✭ 263 (-29.49%)
Mutual labels:  ansible, metrics
Crate
CrateDB is a distributed SQL database that makes it simple to store and analyze massive amounts of data in real-time.
Stars: ✭ 3,254 (+772.39%)
Mutual labels:  analytics, cluster
traefik-letsencrypt-compose
Basic Traefik configuration which includes automatic Let’s Encrypt certificate management and password protected dashboard
Stars: ✭ 38 (-89.81%)
Mutual labels:  letsencrypt, docker-compose
docker-haproxy-certbot
Dockerized HAProxy with Let's Encrypt certificates automatic renewal
Stars: ✭ 28 (-92.49%)
Mutual labels:  letsencrypt, docker-compose
K8s Tew
Kubernetes - The Easier Way
Stars: ✭ 269 (-27.88%)
Mutual labels:  letsencrypt, cluster
cv4pve-metrics
Metrics for Proxmox VE, Grafana with dasboard, InfluxDb
Stars: ✭ 38 (-89.81%)
Mutual labels:  docker-compose, metrics
Postgresql cluster
PostgreSQL High-Availability Cluster (based on "Patroni" and "DCS(etcd)"). Automating deployment with Ansible.
Stars: ✭ 294 (-21.18%)
Mutual labels:  ansible, cluster
Elasticluster
Create clusters of VMs on the cloud and configure them with Ansible.
Stars: ✭ 298 (-20.11%)
Mutual labels:  ansible, cluster
Atom Wakatime
Atom plugin for automatic time tracking and metrics generated from your programming activity.
Stars: ✭ 303 (-18.77%)
Mutual labels:  analytics, metrics
Matomo Sdk Android
SDK for Android to measure your apps with Matomo. Works on Android phones, tablets, Fire TV sticks, and more!
Stars: ✭ 309 (-17.16%)
Mutual labels:  analytics, metrics
Dockercheatsheet
🐋 Docker Cheat Sheet 🐋
Stars: ✭ 3,301 (+784.99%)
Mutual labels:  docker-compose, swarm
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 [email protected]: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 [email protected]
  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 [email protected]: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

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].