Skip to content
This repository has been archived by the owner on May 4, 2021. It is now read-only.
/ stackcenter Public archive

A UI for managing docker containers and docker-compose stacks

License

Notifications You must be signed in to change notification settings

phybros/stackcenter

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Project has been archived

Archived 2021-05-04

StackCenter

A UI for managing docker containers and docker-compose stacks.

Overview

The background for this project was a desire for a lighter-weight portainer, without its various shortcomings or support for things like Kubernetes.

Features

  • Look at all your running containers!
  • Create docker-compose stacks through the web ui!
  • Inspect your docker-compose stacks!
  • Inspect/modify/delete networks, volumes and images!
  • Dark Mode 😎

Screenshots

Containers view

Creating a new stack

Technology

The web client is built using Vue (2.x) and the backend is written in Python with the Flask framework.

These both get smushed together into a Docker image by a Github workflow in this repo, and published to the Github Container Registry (ghcr.io).

The app stores some local state (mostly stack metadata) in a sqlite database.

docker-compose will be bundled in the docker image, but for now it's just broken.

Running from Docker

Uh....ok. You are a bold one.

docker run -p 11111:5000 -v /var/run/docker.sock:/var/run/docker.sock ghcr.io/phybros/stackcenter:latest

StackCenter should now be running at http://localhost:11111.

Development

So you want to work on StackCenter...

Prerequisites

  • Docker & Docker Compose
  • Python 3.7+
  • Node 10
  • Yarn
  • A good attitude and positive outlook

Running (for local dev)

  1. Clone the repo
  2. cd frontend
  3. cp .env.local.sample .env.local - this will make sure your local yarn devserver hits the local flask app on port 5000
  4. yarn serve - at this point the app should come up on http://localhost:8080 but won't work properly until we run the backend
  5. In a new terminal window...
  6. cd backend
  7. python -m venv venv
  8. source venv/bin/activate
  9. pip install -r requirements.txt
  10. python -m app

Now you have both the front and backend servers running locally and both with hot reload!

Contributing

Please fork the repo and send Pull Requests!