Run API Maker on your computer¶
A local API Maker is the place to build and test APIs before they reach a server : your own admin panel, your own databases, and your code in your editor. API Maker Launchpad is the desktop app which sets it up. Pick a folder and a version, click Start, and it downloads API Maker v4 from npm (one native program, no Node.js), starts the MongoDB and Redis API Maker needs in Docker, runs the admin panel and shows you the URLs and the sign-in details. It is free on your computer.
What it does¶
- Installs and starts everything : API Maker v4 from npm, only the package of your computer, checked against the integrity npm publishes ; MongoDB as a replica set and Redis in Docker ; the admin panel, served by API Maker itself.
- Adds databases in a few clicks : MongoDB, PostgreSQL, MySQL, MariaDB, SQL Server, Oracle, TiDB and Percona Server, several of each if you want, every one with its connection string shown. Create instance puts the credentials in the default secret and creates the instance in API Maker.
- Runs several projects at once, each in its own folder and on its own ports.
- Keeps a folder in sync with your editor through the local client (see below).
- Stops everything it started when you close it, and cleans up after a crash.
- Deletes a project with everything it created, after you confirm by typing its name.
Requirements¶
| Docker | Docker Desktop, OrbStack, Rancher Desktop, Colima or Docker Engine, with Docker Compose v2 |
| macOS | 13 Ventura or later, Intel or Apple silicon |
| Windows | 10 or 11, x64 or ARM64 |
| Linux | x64 or ARM64 with GTK 3 and WebKitGTK 4.1 (Ubuntu 22.04+, Debian 12+, Fedora 39+…) |
| Memory | about 4 GB free for API Maker, MongoDB and Redis ; each extra database needs more |
First run¶
- Pick a folder An empty folder becomes a new workspace ; a folder which already has one is loaded from its
.api_maker_launchpad_statefile. Recent folders are listed on the welcome screen. - Set it up Choose the project name, the API Maker version (the list comes from npm), the license key and the ports. Ports already in use are flagged before anything starts.
- Start The progress shows step by step, with the logs of every service next to it. When it is done, the admin panel opens in your browser.
- Add a database On the Databases page, pick the engine and version, set the port, password, user and database name, and click Create instance. The instance is ready in API Maker with its connection string in the default secret.
- Call your first API Follow Your first API with the URL the app shows.
Ports and folder¶
The app keeps everything in the folder you picked : the API Maker install, its configuration (config/.env, config/docker-compose.yml), the logs and the data files of every database (docker-data/…). Docker only runs the containers ; no data lives inside them.
| Service | Default port |
|---|---|
| API Maker : its APIs and its WebSockets | 38246 |
| Admin panel | 4626 |
| Internal MongoDB | 38248 |
| Internal Redis | 7479 |
| Extra databases | MongoDB 27018 · PostgreSQL 5433 · MySQL 3307 · MariaDB 3308 · Percona 3309 · TiDB 4001 · SQL Server 14330 · Oracle 1522 |
New projects get free ports. Services bind to 127.0.0.1 on macOS and Windows and to 0.0.0.0 on Linux ; the bind address is a project setting.
The license key¶
Launchpad sets the key ____your_license_key____ for you : it is for development on your computer, it is free, and it is never sent to the licence server (the licence page of the admin panel shows LOCAL). A server which serves other people needs a licence key of its own : set it in Project Settings or in the admin panel. For a key, write to [email protected]. What the licence check sends.
Your code in your editor : the Local Client¶
The Local Client page of a project keeps a folder of your computer in sync with API Maker, both ways : edit custom APIs, utility classes, schemas, schedulers, hooks and test cases in VS Code, WebStorm, Zed or any editor, and what you save in the admin panel lands on the disk. It runs the local client which ships with API Maker (npm run start in the folder), started and watched by the app.
- Where the code is kept : a Git repository on this computer (recommended, made by the app and served to API Maker on
127.0.0.1), GitHub, GitLab or another host with a personal access token, or just a folder without Git. - Every folder has a card with the state of the sync, the Git branch, and Open in buttons for the editors found on your computer.
- The folder is an ordinary local client folder :
npm run testruns the test cases of the account from the terminal and writes their coverage for your IDE, and an AI agent working in the folder finds the security report, every item of the account as files and theAGENTS.mdguide every commit writes.
See Developer tools for the local client on a server.
Languages for native APIs¶
Custom APIs, hooks, schedulers and event listeners marked Run on native process run on the machine of API Maker instead of a sandbox, with the program of their language API Maker finds first on its PATH (Native process). The app sets those languages up for you : the Languages page of a project shows one card per language. The setup of a new project asks none, so its code runs in the sandboxes until you choose some.
- What your computer has is found first : the PATH, Homebrew, nvm, Volta, fnm, asdf, mise, pyenv, uv, rustup, SDKMAN, the installers of Go, .NET and the JDKs. Each one says its version and whether API Maker runs code on it ; Use them picks every one that works, and nothing is installed for them.
- Or a version the app installs, listed live from its publisher : nodejs.org, the releases of Bun, python-build-standalone, static-php-cli and windows.php.net, go.dev, static.rust-lang.org, the releases of .NET, Eclipse Temurin and the releases of Kotlin. Only the versions API Maker runs are offered, the recommended one first. Each card says what a version downloads and takes on the disk.
- Checked and kept apart : a download must match the checksum its publisher gives, and each program says its version before it is used. Every version goes into one folder shared by your projects (
~/.api-maker-launchpad/languages, which App Settings moves) : nothing is installed in the system and no shell profile changes. - Only API Maker sees them : their folders go first on the PATH of API Maker and its runners, with
JAVA_HOME,DOTNET_ROOTand the like. The next start installs what is missing, or Install now does. - Full Docker projects get the Linux builds, mounted into the container of API Maker ; PHP and the C compiler Go and Rust need come with its image.
| Language | Program | Note |
|---|---|---|
| Node.js, Bun | node, bun |
|
| Python | python3 |
3.12 or later |
| PHP | php |
with FFI, the g.sys calls are answered in its runner |
| Go, Rust | go, cargo |
need a C compiler (Xcode Command Line Tools, gcc) ; Go does not run native code on Windows |
| C# | dotnet (the SDK) |
|
| Java, Kotlin | java (a JDK), kotlinc |
Kotlin runs on the JDK |
Cloud mode¶
The Cloud tab installs API Maker on servers you rent anywhere, and everything it needs : its MongoDB and Redis, a reverse proxy (Caddy, Ferron or Pingap) with Let's Encrypt certificates, your databases with their replication, and the firewall. Everything happens over SSH from your computer : no agent, no third party service.
- Servers : Ubuntu 24.04 LTS, x86-64 or ARM64, 1 core, 900 MB of memory and 10 GB of disk at least (4 GB and 20 GB recommended). Sign in as root or a sudo user with a password, a key or your SSH agent. Credentials are stored encrypted on your computer, the key in the keychain of the operating system.
- Environments and architectures : a project groups environments (production, staging…), each one an API Maker with its own servers, version and license key. Start from a layout (all in one, app + data, dedicated databases, load balanced) and drag components between servers on the diagram.
- Databases : MongoDB replica sets, PostgreSQL with streaming replicas, MySQL and Percona with replicas, MariaDB replicas or Galera, SQL Server, Oracle and TiDB, with password rotation and moves between servers with their data.
- Languages for native APIs : choose them once in the Languages tab of an environment ; every API Maker server gets them, those added later too, from their publishers into
/root/languages, or uses the ones Ubuntu has. A new environment starts with the languages chosen last. The page of a server lists what it has and installs a language on it at once. - Day two : deploy new versions, rolling updates behind the load balancer, live logs and health of every server, and a full uninstall.
- A server with PM2 : when PM2 already runs API Maker on a server, the review of the deployment asks Switch to systemd (recommended) or Keep PM2 ; whatever else PM2 runs stays.
- Security : the SSH host key of a server is pinned on the first connection, and every credential is stored encrypted on your computer.
Install on a server maps the reference architectures of the website to the layouts of Cloud mode. The install script on the same page sets up one server from its own terminal instead.