Git Product home page Git Product logo

supercompose's Introduction

SuperCompose

SuperCompose manages docker-compose on your servers. It will automate Continuous Delivery with WebHooks and ensure redeploys on image changes in Docker registries. Currently in ALPHA.

Audience

  • Homelab owners
    • SuperCompose helps you manage your self-hosted applications with ease of web-ui yet with all the power of Docker.
  • One man projects
    • SuperCompose lets you worry about development instead of deployment. It helps you save costs on expensive cloud configurations.
  • Small and medium enterprises
    • SuperCompose will manage your small cluster of servers with ease and flexibility of docker-compose, but won't require you to invest into learning difficult solutions like Kubernetes.

Features

  • Configure servers through SSH
  • Configure docker-compose files
  • Deploy compose files to servers (one compose file can be deployed to multiple servers and vice versa)
  • Track running containers
  • See deployment status on a glance (running, failed, warning)
  • Action log so you can diagnose and resolve issues quickly (for example missing dependencies or insufficient user privileges)

Why not Kubernetes or Nomad?

Complex systems fail in complex ways. Kubernetes is made by Google to solve their scaling problems. Most organizations (which likely means you as well) do not have Google scale problems and so don't require Google scale solutions. Kubernetes is huge and complex and when you grok it you will discover fractal of other tools that you also need (sometimes to solver problems that Kubernetes itself has created). Service meshes, sidecar containers and autoscaling groups are nice engineering concepts, but answer truthfully - do you actually need them? And if you do, do you have enough operations engineers to support these behemoths?

SuperCompose does something that does not make sense at a first glance - it takes a step back. A step back from complexity. However this allows it to take two steps forward in user experience. It won't scale to thousands of servers, but that's OK. But it will do what it can to help you configure and run your applications quickly, with minimal hassle and minimal maintenance.

Project structure

  • Backend is ASP.NET Core app with different modules that handle everything from the API for configuration interface to communication with your servers
  • Frontend is Next.js React/Typescript GUI that consumes GraphQL API exposed by the Backend

Planned features

  • Streaming logs
  • CPU/RAM/IO metrics integration
  • Service scaling and docker service level redeploys
  • Compose environment variable management (on compose/deployment level)
  • Webhooks/API for inbound/outbound CI/CD integration
  • Docker registry integration
  • Team management and shared resources
  • Generic deployment steps which should allow calling external APIs or running scripts before and after deployment

supercompose's People

Contributors

jkelin avatar kwzrd avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.