Quick start
Take a container image you already have to a live application on your own domain. Each step below is one screen in the DevLyft dashboard. The dashboard's Getting started checklist tracks the same path.
Before you start#
- A DevLyft account. Sign up and confirm your email. The first time you open the dashboard it walks you through creating an organisation, a project and an environment. If you completed that, skip to step 2.
- A Docker or OCI image pushed to a registry DevLyft can pull from, for example
ghcr.io/acme/web:1.0.0. See Docker images. - Your application's port, the port it listens on inside the container, for example
8080. - Optionally, a domain whose DNS you can edit, for step 6.
1. Create a project#
A project holds everything for one application.
- Projects→New project.
- Enter a Name, such as
web, and choose Create project.
More: Create a project.
2. Create a build#
A build tells DevLyft which image to run and how much CPU and memory each copy gets.
- Builds→New build.
- Choose your Project and enter a Name (
web). - Enter the Image and Tag separately.
- Enter the Container port. You need it to expose the app in step 5.
- Leave CPU and Memory at
0.5 CPUand512 MB, or adjust them. - Choose Create build.
Name web
Image ghcr.io/acme/web
Tag 1.0.0
Container port 8080
CPU / Memory 0.5 CPU / 512 MB
More: Create a build.
3. Create an environment#
Environments separate stages such as staging and production. Each has its own secrets, deploys and tenancy.
- On Projects, choose Add environment under your project.
- Enter a Name:
production. - Leave Tenancy on Shared to start. You pay only for the CPU and memory you request, per second. See Shared vs isolated compute.
- Choose Create environment.
More: Create an environment.
4. Configure secrets#
Store credentials before you deploy, so the first replicas start with them.
- Secrets, then pick your Project and the
productionEnvironment. - Under Set a secret, enter a Name such as
DATABASE_URLand its Value. - Choose Save secret. Repeat for each secret.
Values are write-only: you'll never see them again in the dashboard or API. More: Secrets and environment variables.
5. Deploy the build#
A deploy runs the build in your environment. DevLyft keeps the number of replicas you choose running.
- Deployments→New deploy.
- Choose the Project, Environment (
production) and Build (web:1.0.0). - Enter a Deploy name:
web. - Leave Tenancy on Inherit, pick a Location near your users, and set Replicas (
1is fine to start). - Tick Publicly expose this deploy (edge ingress).
- Under Environment variables, choose + Secret and pick
DATABASE_URL. Add plain values with + Variable. - Choose Create deploy.
Check it's starting: open Pods and wait for the Phase to reach Running, or choose ⋮ > Watch logs on the deploy to see your application's output. More: Deploy a build.
6. Connect a domain#
- Domains→Claim domain, enter
example.com. - Publish the TXT record shown, then choose Verify now.
- On Deployments, open Routes on your deploy, enter the subdomain
www, pickexample.comand choose Attach route. - Publish the CNAME the dialog shows.
_devlyft-challenge.example.com. TXT "<verification_token>"
www.example.com. CNAME <cname_target from the dashboard>.
More, including apex domains: Custom domains.
7. Confirm the application is live#
Check DNS first, then HTTPS:
$ dig +short www.example.com
d0c43d3885064d9a.edge.devlyft.io.
203.0.113.10
$ curl -I https://www.example.com
HTTP/2 200
- DNS returns your target and an IP address. The CNAME is live.
- HTTPS works. The certificate is issued automatically a few minutes after the CNAME resolves. If
curlreports a certificate error, wait and retry. - You get your application's response. If not, check the deploy's logs and see Troubleshooting.
Next steps#
- Ship a new version: create a new build and switch the deploy to it. See Update and redeploy.
- Right-size CPU and memory with Adjust resources and Metrics.
- Add a
stagingenvironment and invite your team from Team. - Add a payment card on Billing.