All Projects → almarklein → Mypaas

almarklein / Mypaas

Licence: bsd-2-clause
Run your own PaaS using Docker, Traefik, and great analytics

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Mypaas

Wordpress Sdk
Stars: ✭ 162 (-11.48%)
Mutual labels:  analytics
Vue Matomo
Vue plugin for Piwik / Matomo Analytics
Stars: ✭ 168 (-8.2%)
Mutual labels:  analytics
Web Database Analytics
Web scrapping and related analytics using Python tools
Stars: ✭ 175 (-4.37%)
Mutual labels:  analytics
Lares
R Library for Analytics and Machine Learning
Stars: ✭ 164 (-10.38%)
Mutual labels:  analytics
Jekyll Analytics
Plugin to easily add webanalytics to your jekyll site. Currently Google Analytics, Piwik and mPulse are supported.
Stars: ✭ 166 (-9.29%)
Mutual labels:  analytics
Choerodon
Open Source Multi-Cloud Integrated Platform
Stars: ✭ 2,149 (+1074.32%)
Mutual labels:  paas
Swiggy Analytics
Analyse your swiggy orders 🍔
Stars: ✭ 163 (-10.93%)
Mutual labels:  analytics
Aws Serverless Data Lake Framework
Enterprise-grade, production-hardened, serverless data lake on AWS
Stars: ✭ 179 (-2.19%)
Mutual labels:  analytics
Angulartics
Analytics for AngularJS applications.
Stars: ✭ 1,966 (+974.32%)
Mutual labels:  analytics
Alertmanager2es
Receives HTTP webhook notifications from AlertManager and inserts them into an Elasticsearch index for searching and analysis
Stars: ✭ 173 (-5.46%)
Mutual labels:  analytics
Swiv
For the open source UI formerly know as Pivot
Stars: ✭ 165 (-9.84%)
Mutual labels:  analytics
Stacks Cli
📊 Analyze website stack from the terminal 💻
Stars: ✭ 1,962 (+972.13%)
Mutual labels:  analytics
Amplify Cli
The AWS Amplify CLI is a toolchain for simplifying serverless web and mobile development.
Stars: ✭ 2,399 (+1210.93%)
Mutual labels:  analytics
Stats
A well tested and comprehensive Golang statistics library package with no dependencies.
Stars: ✭ 2,196 (+1100%)
Mutual labels:  analytics
Ios Consent Sdk
Configurable consent SDK for iOS
Stars: ✭ 178 (-2.73%)
Mutual labels:  analytics
Knctl
Knative CLI
Stars: ✭ 163 (-10.93%)
Mutual labels:  paas
1backend
Run your web apps easily with a complete platform that you can install on any server. Build composable microservices and lambdas.
Stars: ✭ 2,024 (+1006.01%)
Mutual labels:  paas
V8 Analytics
v8 engine's cpu & heap-memory analytics
Stars: ✭ 181 (-1.09%)
Mutual labels:  analytics
Cloudsim Plus
☕️🏗⛅️🎓 A modern, full-featured, easier-to-use, highly extensible, faster and more accurate Java 8+ Framework for Cloud Computing Simulation
Stars: ✭ 178 (-2.73%)
Mutual labels:  paas
Space Cloud
Open source Firebase + Heroku to develop, scale and secure serverless apps on Kubernetes
Stars: ✭ 3,323 (+1715.85%)
Mutual labels:  paas

PyPI Version CI

MyPaas

Run your own PaaS using Docker, Traefik, and great monitoring

MyPaas is a tool that makes it easy to run a platform as a service (PaaS) on your own VM or hardware. It combines Traefik and Docker, offers free automatic https, secure (zero-downtime) deployments via dockerfiles, and analytics.

You can setup your PaaS and make your first deployment in about 5 minutes.

Docker plus Traefik is awesome

Docker makes it possible to run multiple applications on a single server in a contained way.

Traefik is a modern router, reverse proxy, and load balancer that can be automatically configured using labels on Docker containers. It can also act as an https endpoint and automatically refreshes SSL/TLS certificates with Let's Encrypt.

MyPaas is a tool that helps you setup Traefik, and deploy Docker containers that have the right labels so that Traefik handles them in the right way. Plus it adds powerful analytics for all your apps. Website traffic is logged server-side, without cookies, respecting the end user's privacy.

I use MyPaas myself to serve e.g. https://pyzo.org and https://timetagger.app.

How it works

MyPaas is a command line interface (CLI) to setup and manage your PaaS server. You use the same CLI on your work machine to push deploys to the server. You configure your service/app by writing a Dockerfile and adding special mypaas-comments to it, and push that to the server via the CLI, where it is built and deployed. There is a web dashboard, but only for viewing status and analytics.

Setting expectations

Using MyPaas requires you to be familiar with a few basic backend development skills. There are plenty of online guides on each topic.

  • You must be able to SSH into your server.
  • You must know how to edit a file over SSH.
  • You should probably know the basics of Docker.
  • It may be useful to know the basic commands of systemctl (actually, systemctl status mypaasd may be all you need).

Guide

Also see the example services.

License

BSD 2-clause.

What about serverless?

Serverless is nice and often very affordable, but you give up control and you often need additional services for analytics, databases, etc. MyPaas tries to make managing your server as easy as possible. You remain in control, and your only costs are that of the VM that the PaaS runs on.

Alternative projects to run your own PaaS

There are several tools similar to MyPaas. This is how (I think) they differ (let me know via an issue or PR if you can explain the differences better, or know of another alternative project.)

  • Dokku uses Docker and Nginx. Apps are configured at the server (rather than via the dockerfile as MyPaas does). At the time that I tried it, getting Let's Encrypt to work was not trivial, but this may have changed. Docku has no builtin analytics. Deploys go via a git push, as opposed to a a push command of a CLI tool (mypaas push).
  • CapRover uses Docker and Nginx, and has a nice web UI. This is also its weak spot IMO, because a username and password are all that's needed to give full access to your apps. MyPaas uses RSA keys and tokens that time out to provide high security.
  • Swarmpit uses Docker Swarm and comes with monitoring. It's probably a bit more down to the metal. Not sure if it does Let's Encrypt?
  • SwarmLet uses Traefik and Docker compose / Docker swarm. This project is probably closest to MyPaas. It uses raw labels for Traefik added in the compose file to configure an app. MyPaas uses more high-level configuration in the Dockerfile. Swarmlet uses git push to make a deploy as opposed to mypaas push.
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].