Documentation
Everything you need to deploy your apps on Exparon.
On this page
Getting started
1. Create an account
Sign up at exparon.dev. A free account lets you deploy one project with 3 deploys per month.
2. Connect GitHub
From Settings → Integrations, click "Connect GitHub" and authorise the exparon app.
3. Create a project
Click "New project" on the dashboard. Select your repository and choose the branch you want to auto-deploy (e.g. main).
4. Deploy
Push any commit to your branch. The build starts automatically. You will see real-time logs in the dashboard.
Your app is live at {project-name}.exparon.dev once the build succeeds.
Supported runtimes
We auto-detect the runtime from your repository root. No configuration file required.
| Runtime | Detection file | Install command | Start command |
|---|---|---|---|
| Node.js | package.json | npm install | npm start |
| Next.js | package.json + next in deps | npm install && npm run build | npx next start |
| Python | requirements.txt | pip install -r requirements.txt | python app.py |
| Go | go.mod | go build -o bin/app . | ./bin/app |
| Rust | Cargo.toml | cargo build --release | ./target/release/app |
| Ruby | Gemfile | bundle install | bundle exec ruby app.rb |
| Static HTML | (fallback) | — | npx serve -s . |
The detected framework is shown on the project page and can be overridden when creating the project.
Environment variables
Go to your project → Environment Variables tab to add secrets.
Variables are encrypted at rest with AES-256-GCM before storage.
Values are masked in the dashboard after saving (you cannot read them back, only overwrite or delete).
Variables are injected into both the build container and the running serve container.
Changes require a redeploy to take effect.
Important: Do not put secrets in your repository. Use env vars instead.
Custom domains
Pro and Team plans support custom domains with automatic HTTPS.
Step 1 — Point your DNS
Add an A record from your domain to the Exparon server IP. You can find the server IP on the Domains dashboard page.
yourdomain.com. A <server-ip>
Step 2 — Attach the domain
On the project page, scroll to the Custom Domains panel and enter your domain. Click Add.
HTTPS is provisioned automatically via Let's Encrypt within a few minutes of attaching the domain.
Step 3 — Verify
Visit your domain over HTTPS. If you see a certificate error, wait 2-3 minutes for Let's Encrypt to issue the cert.
Preview deployments
Preview deployments give each pull request its own live URL.
How it works:
1.Open a pull request to any branch in a connected repository.
2.Exparon detects the webhook event and builds the PR branch.
3.A temporary URL is assigned: pr-{number}-{project}.exparon.dev
4.When the PR is merged or closed, the preview container is stopped automatically.
Preview deployments are available on Pro and Team plans.
Container controls
From the project page you can manage the running container without triggering a new build.
Deploy — Trigger a full build and deploy from the current branch HEAD.
Restart — Restart the existing container (useful after config changes).
Stop — Stop the container. The project status changes to "idle". Your subdomain goes offline.
Start — Restart a stopped container from its last deployed state.
Retry deploy — Available when the project status is "error". Triggers a fresh build.
GitHub webhook
When you create a project and connect a repository, exparon automatically installs a webhook on your GitHub repo.
The webhook triggers on:
push events to your configured branch → full deploy
pull_request opened / synchronize events → preview deploy
pull_request closed → preview teardown
If you need to manually add the webhook:
1.Go to your GitHub repo → Settings → Webhooks → Add webhook
2.Payload URL: https://api.exparon.dev/webhooks/github
3.Content type: application/json
4.Secret: your GITHUB_WEBHOOK_SECRET from project settings
5.Events: "Just the push event" + "Pull requests"
AI agents (MCP)
Let an AI coding agent such as Claude Code or Codex work with your projects: check status, read build and runtime logs, find out why a deploy failed, deploy, roll back, and change settings. It connects through the Model Context Protocol and acts as you, with only the permissions you give it.
1. Connect
Sign in with OAuth (when your operator enabled it): claude mcp add --transport http exparon https://mcp.{your-domain}/mcp, then sign in from Claude Code with /mcp; in Codex run codex mcp login exparon. You choose the permissions and projects on a consent page.
Or use an access token: create one under Settings → Access tokens and pass it as a Bearer token.
2. Choose what it may do
Read — view projects, deployments, logs and metrics. Environment values are never shown.
Deploy — deploy, roll back, cancel, restart and stop.
Write — create projects and services, change settings, environment variables, domains and cron jobs.
Destructive — delete things. The agent still has to repeat the exact name of what it deletes.
Limit a token or connected app to specific projects, and set an expiry. Tokens never reach admin pages or billing.
3. Stay in control
Settings → Connected apps and Access tokens list everything that can act for you; disconnect or revoke at any time and it stops at once.
Settings → Activity log records every change an agent makes, including refused attempts. Secret values are never recorded.
Text from your projects (build logs, commits, database rows) is handed to the agent as data, not instructions.
Ask your agent to run diagnose_service first when something is broken: it checks status, the last deploys, recent errors and alerts in one call.