All Projects → mgranderath → SPaaS

mgranderath / SPaaS

Licence: MIT license
A Simple-PaaS similar to Heroku

Programming Languages

go
31211 projects - #10 most used programming language
javascript
184084 projects - #8 most used programming language
Vue
7211 projects
CSS
56736 projects
HTML
75241 projects
Makefile
30231 projects

Projects that are alternatives of or similar to SPaaS

Piku
The tiniest PaaS you've ever seen. Piku allows you to do git push deployments to your own servers.
Stars: ✭ 902 (+4911.11%)
Mutual labels:  heroku, paas
buffalo-heroku
Sets up and deploys apps to Heroku
Stars: ✭ 14 (-22.22%)
Mutual labels:  heroku, paas
Dokku
A docker-powered PaaS that helps you build and manage the lifecycle of applications
Stars: ✭ 22,155 (+122983.33%)
Mutual labels:  heroku, paas
Caprover
Scalable PaaS (automated Docker+nginx) - aka Heroku on Steroids
Stars: ✭ 7,964 (+44144.44%)
Mutual labels:  heroku, paas
Nucleus
Platform as a Service API abstraction layer.
Stars: ✭ 28 (+55.56%)
Mutual labels:  heroku, paas
Wordpress Heroku
This project is a template for installing and running WordPress 5.x on Heroku.
Stars: ✭ 198 (+1000%)
Mutual labels:  heroku, paas
Ezpaas Cli
A miniature Heroku clone for easy in-house deployments, powered by Docker. A work in progress.
Stars: ✭ 56 (+211.11%)
Mutual labels:  heroku, paas
Awesome Heroku
A curated list of helpful Heroku resources.
Stars: ✭ 230 (+1177.78%)
Mutual labels:  heroku, paas
python-web-dev-21-2
Material for "Web Development in Python with Django" using Django 2.1, published as a Pearson LiveLesson on Safari Books Online
Stars: ✭ 38 (+111.11%)
Mutual labels:  heroku
capture-website-api
Capture screenshots of websites as a (host it yourself) API
Stars: ✭ 30 (+66.67%)
Mutual labels:  heroku
binance-spot-order-notification-heoku
[binance order trade fill notification] Telegram Notification when Binance order created, cancelled or filled. Ready to Deploy on Heroku
Stars: ✭ 30 (+66.67%)
Mutual labels:  heroku
VKRdownloader
Vkrdownloader: All in one Video Downloader - Download videos from facebook twitter youtube tiktok and 1000+ other sites . YouTube downloader , facebook downloader . made by Vijay Kumar
Stars: ✭ 25 (+38.89%)
Mutual labels:  heroku
CADLab Loyalty
This is a end to end Loyalty business scenario
Stars: ✭ 21 (+16.67%)
Mutual labels:  paas
sakura-card-captor-api
protected-taiga-89091.herokuapp.com/
Stars: ✭ 32 (+77.78%)
Mutual labels:  heroku
heroku-flask-template
A simple, fast and easy-to-deploy Heroku ready flask web app template written in Python.
Stars: ✭ 26 (+44.44%)
Mutual labels:  heroku
generator-vars-jekyll
Generator for raw web app with CircleCI, Jekyll, Webpack, Express + more.
Stars: ✭ 18 (+0%)
Mutual labels:  heroku
buffalo-heroku
Archived use github.com/gobuffalo/buffalo-heroku
Stars: ✭ 16 (-11.11%)
Mutual labels:  heroku
paas-docker-cloudfoundry-tools
No description or website provided.
Stars: ✭ 30 (+66.67%)
Mutual labels:  paas
heroku-buildpack-tex
A Heroku buildpack to run TeX Live inside a dyno.
Stars: ✭ 18 (+0%)
Mutual labels:  heroku
planning-poker
Effective Planning Poker sessions for remote teams
Stars: ✭ 29 (+61.11%)
Mutual labels:  heroku

SPaaS (Small Product as a Service)

A lightweight Heroku like PaaS.

Link to CLI

Info

Currently only nodejs deployments

Install Server

Prerequisites

  • Docker
  • SSH into Server

With Domain

You have to have your domain setup already.

Execute on Server:

docker run -d \ 
    -v /var/run/docker.sock:/var/run/docker.sock \
    -v ~/<spaas-directory>:/root/.spaas \
    -e HOST_CONFIG_FOLDER='~/<spaas-directory>'
    --label traefik.frontend.rule=Host:spaas.<your-domain>.<your-domain-extension> \
    --name spaas mgranderath/spaas

Now you should be able to access the dashboard at http://spaas.<your-domain>.<your-domain-extension>

Without Domain

Execute on Server:

docker run -d \ 
    -v /var/run/docker.sock:/var/run/docker.sock \
    -v ~/<spaas-directory>:/root/.spaas \
    -e HOST_CONFIG_FOLDER='~/<spaas-directory>'
    --label traefik.frontend.rule=PathPrefixStrip:/spaas \
    --name spaas mgranderath/spaas

Now you should be able to access the dashboard at http://<your-ip>/spaas

Next Step (Modifying config)

Next you should modify the config to your liking. There should be one created in ~/<spaas-directory>. It's nane is .spaas.json.

You can modify the following settings:

Setting Default Explained
username spaas this is the username you use to login
letsencrypt false use automatic letsencrypt ssl certs (only with domains)
letsEncryptEmail "[email protected]" this is the email that will be used to request certs
domain example.com the domain to be used for deployments
useDomain false use the domain for deployments

If you change the letsencrypt or letsEncryptEmail settings you should remove the traefik container (docker rm -f spaas-traefik) and then restart SPaaS (docker restart spaas).

Important Info

  • The default login credentials are spaas:smallpaas
  • Without a domain the deployed apps can be accessed under <your-ip>/spaas/<app-name>
  • With a domain the deployed apps can be accessed under <app-name>.<your-domain>.<your-domain-extension>
  • !!! You should change the password as soon as possible. Either using the dashboard or the cli application !!!

Deploying a App

!!! Only nodejs is supported for now !!!

Create a new app

When you create a new app using either the cli or the dashboard you should get back a path called RepoPath. This is the location of the git repo on the server.

You should add the following as a git remote for the project you want to deploy:

git remote add spaas <ssh-server-username>@<server>:<repo-path>

Before Deploying

You have to specify the start command for the server to know which command to run to start the web server.

Add a file spaas.json in the project directory.

{
  "start": <app-start-command>
}

Deploying

To deploy the app you just have to follow the usual procedure to push to a git repository.

  1. git add .
  2. git commit -m "message"
  3. git push spaas master

If the push succeeds and you do not see any error you should be able to see your app on the address that is specified above depending on your configuration.

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].