Get started
Your first app in 5 minutes
Take your first app live from a Git repository or a zip — no Dockerfile or server setup of your own.
By the end of this guide your app will be running at an HTTPS address, and pushing to your repository can deploy a new version by itself.
What you need
- A Meghly account (you can sign in to the panel).
- Your code — on GitHub, GitLab or any Git address, or as a
.zipfile. - Code that runs on your own computer. Nothing extra to write: Meghly works out how to build and start it.
1. Start a new app
In the panel's left menu: Apps → New app. There are three steps: Source, Name and size and Summary.
2. Where the code comes from (Source)
Choose Git repository, then give the repository's address and branch:
https://github.com/you/shop.git- Public repository: the
https://address is enough. - Private repository: give the SSH address (
git@github.com:you/shop.git). Once the app is made the panel shows a deploy key — add it on GitHub under the repository's Settings → Deploy keys (read access only).
No Git? Choose Zip upload; after the app is made you upload the zip from the app's Deploy button (up to 2 GB).
Want a ready-made app such as WordPress, Laravel or Ghost? Install it from the App Store in one click — no code needed.
3. Name and size
- App name: lower-case letters, digits and dashes (
shop,billing-api). The name becomes part of the app's address. - What is it? Meghly usually works this out itself; you can pick the language, version and framework if you like.
- Size: how much memory the app gets.
| Size | Memory | For |
|---|---|---|
| Small | 256 MB | a small site or a worker |
| Medium | 512 MB | most websites and APIs |
| Large | 1 GB | busy sites, .NET, Laravel |
| Extra large | 2 GB | heavy apps |
You can change the size at any time later.
4. Check and create (Summary)
If everything looks right, create the app. The first deploy starts at once and its page opens, where you watch the steps live:
- Clone — fetches the code.
- Detect — reads the code and says what it found: the framework, its version and its port.
- Build — builds the app's image (cancelled after 15 minutes). The whole build log is there to read.
- Release — runs the database migration once, if there is one.
- Start → Health check → Route — starts the new version, gives it traffic only once its health check passes, then stops the old one.
5. Open your app
When the deploy has finished, the app's Overview shows its address — with HTTPS, the certificate taken care of. Click it and there is your app.
Every deploy stays in the Deployments tab; one click takes you back to any of them.
Deploy on every push
The app's General page has a Webhook URL and a Secret under Auto-deploy on push. On GitHub, under the repository's Settings → Webhooks → Add webhook:
- Payload URL: the panel's Webhook URL
- Content type:
application/json - Secret: the panel's Secret
From then on, every push to that branch deploys a new version by itself.
If something goes wrong
| What you see | What to do |
|---|---|
| Detect could not tell what it is | Check that the project file is at the repository's root (*.csproj, package.json, requirements.txt, composer.json), or pick the language under What is it? |
| The build failed | Read the last lines of the build log — usually the same error you would get on your own computer |
| The health check failed | Is the app listening on the port in the PORT variable? See How apps run |
| The app cannot reach its database | Check the database is attached to the app, and that the connection is read from the variables |
Next
- How apps run — workers, cron, migrations and rollbacks.
- Environment variables — keeping API keys and secrets.
- Domains and HTTPS — your own domain, such as
shop.com.bd.