Real Linux labs for your students, under your brand.

Every workspace is a real Linux machine with a public URL, a database beside it and an app store in front of it. Your people use it. Your AI agents drive it through one MCP connection.

How the trial works: sign in, tell us about your institution, and once we approve it you get a dedicated 4 vCPU / 8 GB server under your own brand, free for 30 days. Afterwards the same server carries on as the Nano plan at €30.00 a month, and you can move to a bigger machine whenever you want. Want us to set it up for your team? Done-for-you setup →

Your AI used to hand you code to copy and paste. Here, it runs it for you.

Chat that can use a computer

What if your AI had a computer?

Chat used to be: ask something, get an answer. Connect Claude, Codex or any MCP client to your platform and the same chat gets a real Linux machine. It installs, runs, fixes and ships, and you watch every step.

Before
It told you the commands. You ran them.
Now
It runs them, on a workspace with its own address, database and credentials.
Always
Every call is logged against your account, and your role decides what it may touch.

Put my notes app online with a Postgres database.

On it. Working on your platform:

  1. deploy_labNode workspace, SSH ready
  2. run_commandnpm install && npm run build
  3. create_databasePostgres, its own credentials
  4. configure_lab_routingPort 3000 on HTTPS, certificate issued

Live at https://notes.your-domain. Want a custom domain next?

Built for What You’re Building

Runs on our own bare metal in Hyderabad, India, and 4 more regions on request · your data stays on your workspace · no per-seat licensing

390+ MCP serversFrom the store: thousands of tools through one secure gateway, on one connection. Role, tier and module decide what a client is shown, and every call is audited.
114+ appsIn the store. Fork one, version it, build it with logs, publish it back.
6 enginesManaged databases and queues beside every workspace, with per-user credentials.
165sFrom the click to a platform serving your people, built from a ready image.

Powered by this platform

Already in production, at scale

  • selfmade.ninja

    16K
    students

    The Selfmade Ninja Academy.

  • labs.selfmade.ninja

    22K+
    lab users
    125+
    labs

    The academy's own labs, on this platform in production.

  • Government of Tamil Nadu

    2000+
    players
    200+
    CTF machines

    A capture-the-flag event we hosted on our labs, run together with the police.

One connection, many environments

Your agent gets a platform, not one throwaway box

An agent with one box writes code. An agent with a platform ships products. Give it a workspace per project, each with its own address, its own database and its own credentials, and let the platform do the plumbing.

Your agent Claude, Codex or any MCP client, holding your permissions
  • deploy_labDeploy

    A real Linux workspace from any template in the store, with SSH and a VPN address, in one call.

    sshwg0root
  • configure_lab_routingRoute

    A public URL and a certificate for any port. Custom domains too. No reverse proxy to write.

    httpstls:3000
  • create_databaseConnect a database

    MySQL, PostgreSQL, MongoDB, Valkey or RabbitMQ, with credentials only that workspace holds.

    postgresuser5 dbs
  • publish_templatePublish

    Turn a working workspace into a template. Version it. Put it in the store for the next agent.

    v3build logstore
claude mcp add --transport http labs https://<your-domain>/mcp

Every call is logged against the account that made it. Quotas stop an agent at exactly what the plan allows. Assessments are off limits to agents by design.

Sized honestly

Run what you want. Nothing else.

Switch on only the modules and services your platform needs, and see how much memory each profile uses before you deploy.

Two service profiles, and how much memory each one uses on the machine.

  • Default Setup 1151 MB essential services running.
  • Full Setup 3,594 MB all services enabled
  • Measured On 3,915 MB total memory of a 4 GB machine.
Modules · what people see 2 always on / 6
  • Labsalways
  • Instancesalways
  • Learnoptional
  • Discussoptional
  • Evaluateoptional
  • CTF Missionsoptional
Service profile · default 6 lit / 17 bays
  • traefik
  • mq
  • labsctl
  • mysql
  • postgresql
  • memcached
  • adminer
  • judge0
  • dvwa
  • wgvpn
  • labs
  • mongo
  • mariadb
  • valkey
  • rabbitmq
  • redisinsight
  • embed

The console

Deploy, snapshot, console, done

Start workspaces, take restore points, open a live serial console and watch the deploy log as it runs, in the console we run our own fleet from.

The cloud console, listing workspaces while one of them deploys

The app store

Browse. Install. Publish back.

114+ templates, from a plain Ubuntu box to Kali with a desktop, n8n, Jupyter, Qdrant, MinIO and the labs your own people build. Every one is a Dockerfile with a config, versioned in Git.

  • Ubuntu, desktop
  • Kali Linux, desktop
  • Docker
  • n8n
  • Jupyter
  • Qdrant
  • MinIO
  • Node-RED
  • Zephyr RTOS
  • Flutter
  • Buildroot
  • ESP-IDF
  • Java desktop, desktop
  • MySQL Workbench, desktop
  • RedisInsight
  • nginx RTMP
  • ZealPHP
  • U-Boot
  • GCC 3
  • Essentials
  • and 94 more

A dot marks a template with a desktop in the browser.

Fork and version

Fork any template, change it, build it, read the build log. Every version is kept and any one can be restored.

Publish to your store

A template your team built becomes an app your organization installs. Publishers can be verified.

GUI when you need it

Templates can carry a full desktop in the browser. Kali, Ubuntu and Java desktops ship in the catalog.

Routing and TLS, handled

Every workspace gets an address the world can reach

A public URL and a certificate per workspace, on your domain or ours. Nobody writes a proxy config, and nobody renews a certificate.

Three example routes, one per kind the platform serves
HostUpstreamCertificateReplicasHealth
notes.arun.selfmade.codesweb :3000wildcard, DNS-013, round robinhealthy
api.example.comcustom domainapi :8080issued, TLS-ALPN1healthy
pg.arun.selfmade.codesport 9443, SNItcp :5432wildcard, DNS-011healthy
Domains and certificates

Platform subdomains and custom domains, both with automatic certificates. Up to 25 custom domains per user.

Ports, not just HTTP

Expose TCP ports with TLS and SNI, up to 10 per workspace. Databases and game servers reach the internet safely.

Replicas and rollback

Run replicas behind one weighted round-robin service, with health checks. Every deploy is recorded and any one can be rolled back.

What you get

A platform, not a plan page

We handle routing, TLS, VPN, credentials and limits. Run it on our bare metal or yours.

Workspace

The platform

Governance

Real Linux, yours

A container with root, SSH, a WireGuard address and VS Code in the browser. Persistent, not a session.

The app store

114+ templates your people fork, build, version and publish. The reason the platform exists.

Organizations and departments

Departments under an organization, each with its own members and its own ceilings.

Public URL and TLS

A certificate per workspace, custom domains, TCP ports with SNI, replicas and rollback.

Managed services

Six engines with per-user credentials: MySQL, MariaDB, PostgreSQL, MongoDB, RabbitMQ, Valkey (Redis-compatible).

Limits you set

Storage, workspaces and lab quotas per department, enforced rather than reported.

Console and serial access

A real serial console in the browser, so a machine you have locked yourself out of is still reachable.

One MCP connection

The agents your people already use, with the permissions those people hold. Thousands of tools through one gateway, from 390+ MCP servers in the store. Each client sees only what its role allows. Every call is audited.

Your identity provider

You choose it and the OAuth application is yours. Nobody signs in through us.

Where your workloads run

One region serving today, four more on request

A dedicated server takes 24 to 48 hours to stand up, so a new region is a conversation and a lead time, not a checkbox. We would rather say so than claim one we do not have.

Hyderabad, India Serving today
UAE On request
USA On request
Kenya On request
Oman On request
The control plane is separate

The control plane runs independently from the compute fleet, so an issue with one node affects only the workspaces running on that node.

Bring your own hardware

Already have a server or datacenter? The same platform can run on your own infrastructure.

Dedicated network addresses

Every workspace can receive a dedicated public IP from our routed subnet, with 1:1 addressing when required.

Partners

Resell it, or run it for someone else

Agencies and consultancies who set up platforms for other organizations: you hold the relationship, we hold the hardware. Talk to us about terms — there is no self-serve partner programme yet, and we would rather say so.