Why we are building Setup
A team calendar should not begin with an afternoon of server setup. Here is what Setup does today and what still needs work.
You find a project that does what you need. Then you open the README. It asks for Docker, a database and settings you have never heard of. You wanted a calendar for the team. Now you have a second job.
That is the problem we are building Setup around. Paste a repository, a Hugging Face Space or a docs page. Or describe the app you need. Setup writes a recipe, shows it to you and runs it in an isolated sandbox when you confirm.
Today, apps run on your own computer or server at home or in the office. Someone needs to connect that machine first. Setup Cloud is coming for people who want us to host their apps. It is not open yet.
Read it before running it
During analysis, Setup reads project files as data. It does not install dependencies or execute the project's code. A catalog recipe takes precedence when one exists. Otherwise, detectors look for instructions such as a Compose file. A configured model can help draft the missing parts.
The result is setup.json. Here is the catalog recipe for Uptime Kuma, which checks whether websites are available.
{
"version": 1,
"slug": "uptime-kuma",
"name": "Uptime Kuma",
"source": {
"kind": "github",
"url": "https://github.com/louislam/uptime-kuma"
},
"services": {
"app": {
"image": "louislam/uptime-kuma:2.5.6-slim",
"env": { "UPTIME_KUMA_DB_TYPE": "sqlite" },
"ports": [{ "container": 3001 }],
"volumes": [{ "name": "data", "path": "/app/data" }],
"egress": "public",
"resources": { "memoryMb": 512 }
}
},
"expose": { "service": "app", "port": 3001 },
"checks": { "http": { "path": "/" } }
}
You can see the image it runs, where it stores data and how Setup checks that it started. Internet access is explicit because a website monitor needs to reach other websites. The recipe cannot request privileged mode or access to the Docker socket.
A recipe is still a plan. Some projects need changes before they will run. Setup shows its findings so you can review the settings instead of accepting a guess silently.
A calendar for a colleague, a recipe for a developer
In the simple view, you can ask for a calendar or a place for family photos. The assistant suggests an app and asks before making changes. You can start with Immich for photos or a password manager for the office.
The detailed view exposes recipes and logs. Developers can edit a recipe, run it again and check it locally with the CLI.
Teams share workspaces with roles. Team and Business controls add policies, approval requests and an audit log. A private catalog lets colleagues start the internal apps you have chosen. These controls are built and can be enabled on request. Paid plans are not on sale.
After the app starts
A trial ends after an hour and removes its data. Keep it before then if you need it. Setup turns on daily backups and checks whether the app answers. You can review recipe updates before applying them.
Backups stay on the same server as the app. They are not an extra copy elsewhere. That distinction matters when the server itself fails.
You can use your own domain with HTTPS or start several related apps as a stack. If your server already runs apps, Setup can list them and move the ones you select with their data. Old copies remain stopped until you remove them. Folders kept in place are not backed up yet, and a moved app gets a new address.
Accounts stay yours
Setup does not host language models. AI apps use your model API. With OpenRouter, each app gets its own key and monthly spending limit. With another API compatible with OpenAI, you provide a key made for that app.
The same separation applies to connected services for email or storage. Setup records what it creates for an app and removes it when the app goes away. Failed cleanup is retried and listed with instructions. Most provider modules still need testing against real accounts.
What isolation does and does not cover
Apps have resource limits and separate networks. By default, they cannot reach your local network. Declared internet access goes through a proxy that rejects private addresses.
Build steps can still reach the server's network. Containers also share its kernel unless the runner uses gVisor or Kata. We document these limits and the host configuration they need in the security model.
A green verification badge requires a successful run on Setup's own runners. Blue means a project's CI reported a pass with a maintainer token. Running a recipe on your own runner never changes that badge.
What is still coming
The phone companion is built, but it is not in the App Store or Google Play. Setup Cloud is not open. Neither has a release date to announce here.
We intend to publish the recipe format, analyzer, catalog and runner as open source. Nothing has been published and there is no public repository. The web app and Setup Cloud stay private. The runner downloads and GitHub Action are also unpublished; the examples on this site explain the implementation, not a release you can download today.
If you have a server and an app you want to try, tell us what you need.