Devinity
A VPN-first, self-hosted Git and CI/CD platform

Devinity is not yet publicly available. Join the waiting list to get notified when it launches.

1. What is Devinity

Devinity is a self-hosted Git and CI/CD platform secured by a WireGuard VPN. Push code and it gets built and deployed on your server automatically inside the VPN network, with optional public exposure.

The server auto-detects your project type, runs the appropriate build, and figures out how to start the app. Supported ecosystems include Java (Maven, Gradle), JavaScript/TypeScript (npm, yarn, pnpm, bun, Deno), Go, Rust, Python (Django, generic), Ruby (Rails, Bundler), PHP (Laravel, Composer), .NET, Elixir, Scala, Swift, and Zig.

2. How It Works

   Developer            WireGuard VPN           Devinity Server
   +-----------+      encrypted tunnel      +------------------+
   |           |  ------------------------->|                  |
   | git push  |      UDP 51820             |  receive push    |
   |           |                            |  detect project  |
   +-----------+                            |  build & deploy  |
                                            |                  |
                                            |  myapp.internal  |
                                            +------------------+

3. Quick Start

3.1. Prerequisites

Server: AlmaLinux 10, root SSH access (ed25519), public IP, UDP 51820 open.
Client: wireguard-tools, the devinity binary.

3.2. Set Up the Server

   $ devinity server init root@example.com
   $ devinity server init root@example.com -i ~/.ssh/id_ed25519
   $ devinity server init root@example.com -n myserver --hostname cloud.example.com

Use -i to specify the SSH private key if it is not the default. This copies the binary to the remote server, generates admin VPN keys, and configures the WireGuard tunnel. The administrator is automatically enrolled and can verify the connection:

-i, --identity
Path to SSH private key (if not the default).
-n, --name
Server name for local configuration (defaults to hostname or IP).
--hostname
Server hostname (sets the system hostname on the remote server).
--tcp-ports
Additional TCP ports to open (80 and 443 are always opened).
--udp-ports
Additional UDP ports to open (51820 is always opened for WireGuard).
-l, --language
Languages to install on the server (repeatable, defaults to all supported languages).
   $ devinity server ssh

3.3. Enroll a User

The developer generates credentials locally:

   $ devinity vpn enroll example.com user@example.com jdoe \
       203.0.113.10 <server-wg-pubkey>

This outputs an SSH public key and a WireGuard public key. The developer sends both to the administrator.

3.4. Register the User

   $ devinity server users add user@example.com jdoe \
       <ssh-pubkey> <vpn-pubkey>

3.5. Connect and Deploy

The server auto-detects your project type, runs the appropriate build, and detects how to start the app. In most cases no configuration file is needed at all:

   $ devinity vpn connect
   $ devinity git init myapp
   $ cd myapp
   $ git add . && git commit -m "initial commit"
   $ git push

The push triggers an automatic build and deploy. The app is now running and reachable inside the VPN.

For more control, add a .devinity file in the repository root:

   [start]
   java -jar target/app.jar

Optional sections include [setup] for build commands, [auto-deploy] to control automatic deployment, [devinity-port-name-mapping] for custom port variable names, and [domains] to assign custom domains. See the User Guide for the full reference.

4. Git Web Interface

Every Devinity server includes a web-based Git repository browser powered by cgit, accessible at https://git.internal inside the VPN. Browse commits, diffs, and file trees from any browser without leaving the VPN network.

5. Why "Devinity"

The name Devinity is a blend of four words: divine, development, deployment, and initialize. It captures the vision that setting up your own infrastructure and shipping code should feel seamless, almost divine. Too many developers surrender control of their projects to opaque cloud platforms, trading autonomy for lock-in and unpredictable costs. Devinity was created to give that power back: a single binary that turns any Linux server into a complete Git hosting and CI/CD platform, secured behind a private VPN, with zero external dependencies. No middleman, no vendor dashboard, no surprise invoice. Just initialize your server, push your code, and watch it deploy -- on hardware you own, under rules you set. That is the kind of sovereignty every developer deserves, and bringing it within reach is what Devinity is for.