Cypher OpenSource
Deploys ten self-hosted services on a Linux server in one command, with Docker and automatic HTTPS.
What Cypher OpenSource is
A Python command-line tool that puts popular self-hosted services on a Linux server without the fourteen-tab setup. Pick n8n, Supabase, Kong, Mailcow, Mattermost, Jenkins, Gitea, GitLab, Jitsi or OpenProject and answer three questions. It installs Docker if needed, writes the compose file, finds free ports and deploys the containers, and if you gave it a domain, puts the service behind Caddy with automatic HTTPS.
Cypher OpenSource features
What it actually does.
Ten services
n8n, Supabase, Kong, Mailcow, Mattermost, Jenkins, Gitea, GitLab, Jitsi and OpenProject, each deployed the way it needs.
HTTPS through Caddy
Give it a domain and Caddy is installed, the certificate comes from Let’s Encrypt and renews itself, and the configuration reloads live.
Compose files you own
Ports, volumes, environment and secrets go into a readable docker-compose.yml under ~/.cypher/, which you can inspect and edit.
Port intelligence
Scans what is already in use and suggests a free port, instead of failing with “address already in use” at midnight.
Reads the machine
Detects Ubuntu, Debian, CentOS, Fedora or Arch, the RAM, the CPU and root access, and uses the right package manager.
Knows each service
Installs Mattermost’s plugins, warns that GitLab wants 4 GB of RAM, lists Mailcow’s mail ports and DNS records, and opens Jitsi’s media port.
How to use Cypher OpenSource
From a fresh install to the thing working.
1 Before you start
- A Linux server running Ubuntu, Debian, CentOS, Fedora or Arch.
- Python 3.10 or newer, root or sudo, and an internet connection.
2 Deploy a service
- Clone the repository and pip install -r requirements.txt. There is one dependency.
- Run sudo python3 main.py.
- Pick a service, give it a domain or IP address and a port, and choose HTTPS or plain HTTP.
- It prints the address when the service is up.
3 Manage it afterwards
- Every service’s compose file is at ~/.cypher/<service>/docker-compose.yml.
- Use ordinary Docker commands: docker ps, docker compose -p cypher_<service> down, docker logs cypher_<service>.
Built with
Licence
Made by Kencypher. Not open source.
Cypher OpenSource was written by Kencypher. The source is not published and is not licensed for reuse. You have permission to run it — that is the whole of it.
You may
- Run it on as many of your own machines as you like
- Use it for anything, including commercial work
- Pass an unmodified copy to a friend, free
You may not, without asking
- Sell it or charge for access
- Re-upload or mirror it anywhere
- Rebrand it or publish it as your own
- Decompile it or lift its assets
This is enforced. Re-uploading it, repackaging it, stripping the author's name off it or passing it off as your own is copyright infringement — protected without registration under the Berne Convention — and is pursued with DMCA takedowns to the host, CDN, app store and search engine, platform reports for impersonation, and legal proceedings where the infringement is commercial, repeated, or involves falsely claiming authorship.
Asking first is free, and the answer is usually yes — kencypher56@gmail.com. The only official source is this store; a copy from anywhere else is not one Kencypher published.
Good to know
- Not a hosting panel and not a service: a local tool that runs on your own server, phones nothing home and hides nothing it does.
- Caddy was chosen over Nginx for automatic certificates, a configuration a person can read, and reloads without downtime.
- Supabase goes in as the full stack, with database, auth, REST, Studio and Meta orchestrated together. Kong gets its own migration container.
- A new service is added to the Caddyfile and Caddy is reloaded in place, so bringing up the eleventh service does not interrupt the ten already serving traffic.
- Volumes, environment and secrets are written into the compose file rather than held by the tool, so everything it created keeps running whether or not you ever open it again.
- It reads the machine first - distribution, package manager, memory, root access - and refuses gracefully rather than half-installing something the server cannot hold.
- Each service is the work of its own project and keeps its own licence.