Sign inSign up

zuhowks/nephelios

By zuhowks

โ€ขUpdated over 1 year ago

Nephelios is an open-source Platform-as-a-Service (PaaS) solution, build with Rust.

Image
Networking
Web servers
Operating systems
0

1.1K

zuhowks/nephelios repository overview

โ ๐Ÿณ Nephelios โ€“ Lightweight PaaS Orchestrator

Nephelios is an open-source Platform-as-a-Service (PaaS) solution designed to make service deployment effortless, intuitive, and fully container-based. It provides a simple interface to deploy, monitor, and manage applications on your own infrastructure using Docker.

โ ๐Ÿš€ Quick Start

Nephelios leverages Docker Swarm to orchestrate services and ensure smooth deployment workflows.

Use the following docker-compose.yml file to get started:

services:
  nephelios:
    build: .
    restart: always
    container_name: nephelios
    labels:
      - "com.nephelios.name=nephelios"
    env_file:
      - .env
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - prometheus_data:/app/prometheus
      - nephelios_data:/app/config/prometheus
      - registry_data:/var/lib/nephelios/registry
      - grafana_data:/var/lib/nephelios/grafana
      - grafana_provisioning:/app/config/grafana
      - grafana_dashboard:/app/config/dashboards
    ports:
      - "3030:3030"

volumes:
  grafana_data:
    name: grafana_data

  grafana_provisioning:
    name: grafana_provisioning

  grafana_dashboard:
    name: grafana_dashboard

  letsencrypt:
    name: letsencrypt

  prometheus_data:
    name: prometheus_data

  registry_data:
    name: registry_data

  nephelios_data:
    name: nephelios_data

โ โš™๏ธ Environment Variables

Create a .env file in your project root and configure the following variables:

# Port on which Nephelios UI is exposed
NEPHELIOS_PORT=3030

# Default port for deployed applications
NEPHELIOS_APPS_PORT=5173

# IP address to advertise this node in Docker Swarm mode
ADVERTISE_ADDR=192.168.1.X

# !WARNING!
# If set to true, Nephelios will leave the Swarm cluster
# and remove all services and nodes upon shutdown.
LEAVE_SWARM=false

๐Ÿ›‘ Warning: Setting LEAVE_SWARM=true will remove all nodes and deployed stack services from the Swarm on container exit. This is intended for testing or ephemeral environments only.


โ ๐Ÿ“ฆ Pulling the Image

(To be updated once the image is published on Docker Hub)

docker pull nephelios/nephelios:latest

Update your docker-compose.yml to use the image directly:

image: nephelios/nephelios:latest

instead of build: ..


โ ๐Ÿงผ Notes

  • Nephelios requires access to the Docker socket (/var/run/docker.sock) to manage and deploy containers.
  • The platform initializes and manages a Docker Swarm cluster.
  • Prometheus and Grafana are bundled for real-time monitoring and metric visualization.
  • Deployment configurations (e.g., app ports, working directories, build commands) can be customized via additional environment variables.

Tag summary

Content type

Image

Digest

sha256:978300638โ€ฆ

Size

84.9 MB

Last updated

over 1 year ago

docker pull zuhowks/nephelios