Documentation

Everything you need to deploy your apps on Exparon.

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.

RuntimeDetection fileInstall commandStart command
Node.jspackage.jsonnpm installnpm start
Next.jspackage.json + next in depsnpm install && npm run buildnpx next start
Pythonrequirements.txtpip install -r requirements.txtpython app.py
Gogo.modgo build -o bin/app ../bin/app
RustCargo.tomlcargo build --release./target/release/app
RubyGemfilebundle installbundle 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"