explaingit

azukaar/cosmos-server

5,903JavaScriptAudience · ops devopsComplexity · 3/5Setup · moderate

TLDR

A self-hosted home server platform that combines a secure reverse proxy, single sign-on, Docker app manager, and built-in protection against bots and attacks, all in one Docker container.

Mindmap

mindmap
  root((cosmos-server))
    What it does
      Secure home server gateway
      App manager and store
      Single sign-on hub
    Security
      Auto HTTPS
      Anti-bot and anti-DDoS
      Rate limiting
      Geographic blocking
    App Management
      Docker container manager
      Built-in app store
      Storage manager
      Encrypted backups
    Access
      Multi-factor auth
      Family access sharing
      VPN for remote access
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Install Cosmos on a home server or Raspberry Pi to route all your self-hosted apps through a secure reverse proxy with automatic HTTPS and single sign-on.

USE CASE 2

Give family members access to specific self-hosted apps like a photo gallery or media server without sharing passwords, using Cosmos's built-in identity provider.

USE CASE 3

Set up encrypted incremental backups for your home server data via Cosmos's Restic integration and schedule them automatically.

USE CASE 4

Replace manual Nginx config and SSL certificate management by letting Cosmos handle all routing and HTTPS automatically for your Docker containers.

Tech stack

JavaScriptDockerRestic

Getting it running

Difficulty · moderate Time to first run · 30min

Requires Docker on the host machine, DNS and port forwarding setup needed for external HTTPS access.

No license information was mentioned in the explanation.

In plain English

Cosmos is a self-hosted home server platform that acts as both a secure gateway and an application manager for personal servers, NAS devices, and Raspberry Pi setups. The idea is to install Cosmos on your server and route all your existing applications through it, adding consistent security and management across everything you run. At its core, Cosmos handles a reverse proxy with automatic HTTPS, meaning it routes incoming web traffic to the right application and handles encrypted connections without you needing to configure certificates manually. It also provides a single sign-on authentication system with multi-factor authentication and OpenID support, so you log in once and access all your apps with the same account. On the security side, Cosmos includes built-in anti-bot and anti-DDoS protections: rate limiting, variable timeouts, geographic blocking, and automated detection of suspicious behavior. It calls this collection SmartShield technology and applies these protections automatically without requiring manual configuration per application. Beyond security, Cosmos adds an app store for installing and updating applications, a container manager for Docker workloads, a storage manager supporting disk arrays and network storage protocols, encrypted incremental backups via Restic, a VPN for remote access, scheduled task running, monitoring with customizable alerts, and a customizable homepage that shows all your apps in one place. You can also invite family or friends to specific applications without sharing passwords, managing their access through a built-in identity provider. The project is written in JavaScript and distributed as a Docker container. The README includes a feature comparison table against similar self-hosting platforms.

Copy-paste prompts

Prompt 1
I've installed Cosmos on my home server with Docker. Show me how to add my existing Jellyfin container as an app so Cosmos proxies it with HTTPS and single sign-on.
Prompt 2
How do I configure Cosmos to block traffic from specific countries and enable rate limiting to protect my self-hosted apps from being hammered by bots?
Prompt 3
I want to give my family member access only to the Nextcloud app in my Cosmos setup. How do I create a user account and restrict it to just that one application?
Prompt 4
Set up encrypted incremental backups in Cosmos using Restic to back up my server data to an external drive on a daily schedule.
Open on GitHub → Explain another repo

← azukaar on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.