Skip to content

Commit bc12a3d

Browse files
re-focusing the "Getting Started" doc
My primary goal here is to make this doc as short as possible while still getting the user their first win using defang.
1 parent 4e1651f commit bc12a3d

File tree

2 files changed

+77
-36
lines changed

2 files changed

+77
-36
lines changed

docs/getting-started/getting-started.md

Lines changed: 77 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -3,70 +3,111 @@ sidebar_position: 200
33
title: Getting Started
44
description: Get started with Defang.
55
---
6-
6+
import { OpenInNew } from "@mui/icons-material";
77

88
# Getting Started
99

1010

11-
### Install the CLI
11+
## Install the CLI
1212

1313
First, you'll need to install the Defang CLI. The CLI is the primary way to interact with Defang. It allows you to create, deploy, and manage your services. You can find the [different installation methods here](./installing.md).
1414

15-
### Authenticate with Defang
15+
## Generate a project
1616

17-
To do pretty much anything with Defang, you'll need to authenticate with the platform. You can do this by running the following command:
17+
```
18+
$ defang generate nodejs-http
19+
```
1820

19-
```bash
20-
defang login
21+
You should see the following prompt:
2122
```
23+
? What folder would you like to create the project in?
24+
```
25+
Type in the name of the folder you'd like to use for your new project and press ENTER.
2226

23-
:::info
24-
To learn more about how authentication works in defang, check out the [authenticating page](./authenticating.md).
25-
:::
27+
I'll type `"welcome-to-defang"`. Now, you'll see the following output:
2628

27-
### Agree to the terms of service
29+
```
30+
? What folder would you like to create the project in? welcome-to-defang
31+
* Fetching sample from the Defang repository...
32+
* Writing files to disk...
33+
- .github/
34+
- .github/workflows/
35+
- .github/workflows/deploy.yaml
36+
- README.md
37+
- app/
38+
- app/Dockerfile
39+
- app/main.js
40+
- compose.yaml
41+
* Code generated successfully in folder welcome-to-defang
42+
43+
Check the files in your favorite editor.
44+
To deploy the service, do `cd welcome-to-defang` and
45+
46+
defang compose up
47+
```
2848

29-
Before you can deploy code you should read and agree to our the terms of service. You can do this by running:
49+
Now, navigate to the folder you just created:
3050

31-
```bash
32-
defang terms
51+
```
52+
$ cd welcome-to-defang
3353
```
3454

35-
### Build and Deploy Services
55+
You can open the folder in your favorite editor and see the files that were generated for you:
56+
* The `app` folder contains the code for your service.
57+
* The `Dockerfile` is used to build the container image for your service.
58+
* The `compose.yaml` file is used to define the services you want to deploy.
3659

37-
Defang supports various ways of creating and deploying services to the cloud. The following tutorials dive into each one in more detail:
60+
## Deploy to the playground
3861

39-
1. [Deploy an outline using AI](../tutorials/generate-new-code-using-ai.mdx)
40-
2. [Build and deploy your code](../tutorials/deploy-code-compose.mdx)
41-
3. [Deploy existing containers](../tutorials/deploy-container-using-the-cli.mdx)
42-
4. [Deploy using Pulumi](../tutorials/deploy-using-pulumi.mdx)
62+
Go back to your shell and type the following:
4363

64+
```
65+
$ defang up
66+
```
4467

45-
### Monitor Services
68+
If you have not used defang before, you'll be prompted to log in.
4669

47-
By default, all the output (stdout and stderr) from your app is logged. You can view these logs in real-time. You can view logs for all your services, one service, or even one specific deployment of a service.
70+
```
71+
! Please log in to continue.
72+
Please visit http://127.0.0.1:49154 and log in. (Right click the URL or press ENTER to open browser)
73+
```
4874

49-
- From the CLI:
75+
:::info
76+
To learn more about how authentication works in defang, check out the [authenticating page](/docs/getting-started/authenticating).
77+
:::
5078

51-
```tsx
52-
defang tail --name service1
53-
```
79+
When I do this, I see the following output:
5480

55-
- From the Defang Portal:
81+
```
82+
* Uploading build context for app
83+
* Deploying service app
84+
* Monitor your services' status in the defang portal
85+
- https://portal.defang.dev/service/app
86+
* Tailing logs for deployment ID o59k89vk3qc8 ; press Ctrl+C to detach:
87+
* Press V to toggle verbose mode
88+
2024-09-19T10:50:53.572443-07:00 cd Update started for stack jordanstephens-prod1
89+
2024-09-19T10:51:05.536299-07:00 cd Update succeeded in 11.99769745s ; provisioning...
90+
2024-09-19T10:51:39.419693-07:00 app Server running at http://0.0.0.0:3000/
91+
* Service app is in state DEPLOYMENT_COMPLETED and will be available at:
92+
- https://jordanstephens-app--3000.prod1.defang.dev
93+
* Done.
94+
```
5695

57-
[https://portal.defang.dev/](https://portal.defang.dev/)
96+
Now we can go to [https://portal.defang.dev/service/app](https://portal.defang.dev/service/app) to see our service listed in the defang portal.
5897

98+
![screenshot of the defang portal](/img/getting-started-portal.png)
5999

60-
:::info
61-
* To learn more about observability in Defang, check out the [observability page](../concepts/observability.md).
62-
* Note that the Defang Portal only displays services deployed to Defang Playground.
63-
:::
100+
## Next Steps
64101

102+
Congratulations! You've successfully deployed your first service with Defang. Now, where do you go from here?
65103

66-
### Update Services
104+
Defang supports various ways of creating and deploying services to the cloud. The following tutorials dive into each one in more detail:
67105

68-
To update your app (for example, updating the base image of your container, or making changes to your code) you can run the `defang compose up` command and it will build and deploy a new version with zero downtime. Your current version of the service will keep running and handling traffic while the new version is being built and deployed. Only after the new version passes the health checks and accepts traffic will the older version be stopped.
106+
1. [Update the code and redeploy](/docs/getting-started/build-and-deploy)
107+
2. [Monitor your services](/docs/getting-started/monitor)
108+
3. [Deploy an outline using AI](/docs/tutorials/generate-new-code-using-ai)
109+
4. [Build and deploy your code](/docs/tutorials/deploy-code-compose)
110+
5. [Deploy existing containers](/docs/tutorials/deploy-container-using-the-cli)
111+
6. [Deploy using Pulumi](/docs/tutorials/deploy-using-pulumi)
69112

70-
:::info
71-
If you are using [compose files](../concepts/compose.md) to define your services, you can add/remove services, make changes to code, etc. When you run `defang compose up`, the update will be diffed against the current state and any necessary changes will be applied to make the current state match the desired state.
72-
:::
113+
Choose the direction that seems the most interesting. If you have any questions, join the [Defang Discord](https://discord.gg/defang) and we'll be happy to help you out.
463 KB
Loading

0 commit comments

Comments
 (0)