Home
Softono

Podi

Open source MIT Shell
15
Stars
3
Forks
0
Issues
1
Watchers
4 years
Last Commit

 About Podi

podi is a lightweight GitOps utility, approximately 7KB in size, that transforms servers into Platform-as-a-Service environments using only Git and SSH. It supports baremetal, podman, docker, kubernetes, and uses bubblewrap for sandboxing. The tool enables a Heroku-like deployment workflow by initializing a server over SSH, then deploying applications through Git pushes. It is multitenant, supporting multiple branches and SSH users simultaneously. Key features include a hackable PaaS and GitOps designer embedded directly in the repository, templates for containerizing applications and auto-suspending services, and a hookable system for extending deployments with custom build steps. Pre-built recipes cover baremetal and containerized runs, web CLI modes, port-activated autosuspend services, and docker-compose stacks. podi requires only SSH and Git to be installed on the target server. It runs efficiently on minimal hardware such as a Raspberry Pi Zero while scaling up to Kubernetes clusters. Custom recipes can

Platforms

Web Self-hosted Docker Kubernetes

Languages

Shell

Links

Need Help Installing Podi?

We provide expert installation service for this software. Our team will install, configure, and secure Podi on your server. plans start at just $30.

remove layers of complexity.

Usage

$ cd myapp 
$ wget "https://raw.githubusercontent.com/coderofsalvation/podi/master/podi"
$ chmod 755 podi

PROFIT! now init your (ssh)server to enable a heroku-ish workflow:

Features

  • fully hackable PaaS & Gitops-designer (embedded in your repo)
  • multitenant: multi-branch and multi-sshuser deployments
  • podi ls: gitops templates for containerizing, autosuspending services on baremetal/podman/docker etc
  • hookable (on build callmyfunction arg1)
  • podi weighs ~7k, just needs ssh+git installed
  • works on raspberry pi zero but also on kubernetes

Install

$ wget "https://raw.githubusercontent.com/coderofsalvation/podi/master/podi"
$ chmod 755 podi
$ ./podi
usage: 
    init git@server:/dir/to/deploy [branch] [port] [name]   initializes a deployment 
    recipe <name_or_url>                                    installs a recipe from podi repo or url

Hooks / extend deployments

Templates

$ ./podi init git@yourserver:/home/git/myapp master

 [✓] init
 [✓] init_localhost
  │  writing .pod/pipeline
 [?] how to run this app?
     1  run/baremetal                <--  perfect to run background services on lowend systems
     2  run/baremetal_autosuspend    <--  perfect for port-activated services on lowend systems
     3  run/baremetal_webcli         <--  perfect for outputting terminal-cmds to web
     4  run/container                <--  nice starting point for Dockerfile + app 
     5  run/container_autosuspend    <--  port-activated container, nice starting point for Dockerfile + app 
     6  run/container_webcli         <--  containerized cli, perfect for outputting terminal-cmds to web
     7  run/container_compose        <--  containerized stack, nice startingpoint using docker-compose.yml 
  > ▉  

IDEA: create your own! (see adding your own recipes )

Docs