Applications

Git App deployments

Connect a GitHub or GitLab repository and deploy automatically on every push. Build logs stream live in the portal.

How it works

A Git App ties a repository branch to your server. When you push to the watched branch, Simplewala runs your build command via SSH, streams the output to the portal in real time, and updates the app status when the command exits. No external CI runner required.

Creating a Git App

  1. In the server sidebar, navigate to Apps and click New Git App.
  2. Select the provider: GitHub or GitLab.
  3. Enter the repository URL (HTTPS or SSH).
  4. Set the branch to watch (e.g. main).
  5. Enter the build command — the shell command run after each deploy (e.g. npm ci && npm run build).
  6. Optionally set a working directory if the app root is not the repository root.
  7. Click Create.

Simplewala generates a deploy key and adds it to the repository automatically. You will see the public key in the app detail page if you need to add it manually.

Webhook setup

After creating the app, Simplewala shows a webhook URL to add to your repository. Go to your repository settings:

  • GitHub: Settings → Webhooks → Add webhook. Set Content type to application/json and select the Push event.
  • GitLab: Settings → Webhooks. Enable Push events.

Once the webhook is configured, every push to the watched branch triggers a deploy automatically. You can also trigger a deploy manually from the portal with Deploy now.

Environment variables

Environment variables are injected into the build process as shell exports. Add them in the app detail page under Environment. Variables are stored encrypted and never appear in build logs.

# Variables are available inside your build command:
DATABASE_URL=postgres://...
NODE_ENV=production

Build logs

Every deploy creates a command record in the portal. Click any deploy in the history list to view the full output. The portal polls for new output every 2 seconds while the command is running.

Attaching a domain

Go to Front Door and add a route pointing to the port your app listens on. Simplewala provisions a Let’s Encrypt certificate automatically once DNS is pointed to the server.

Troubleshooting

Webhook not triggering

Check that the webhook URL is correct and that the Content type is application/json. Confirm the secret token (shown in the app detail page) matches what is configured in your repository.

Build fails immediately

Expand the build log. Common causes: missing dependency (run npm ci before npm run build), wrong working directory, or the repository is private and the deploy key was not added.

App not serving traffic after build

Confirm your process starts listening on the port configured in your Front Door route. For Node.js apps, check that the app binds to 0.0.0.0 not 127.0.0.1 if you need external routing.