|
1 | 1 | --- |
2 | | -title: Quickstart |
3 | | -description: Deploy a live app with a managed database and a public URL. Takes about 5 minutes. |
4 | | -sidebar_label: Quickstart |
5 | | -sidebar_position: 1 |
| 2 | +title: Make it yours |
| 3 | +description: Swap the recipe for your own code, deploy the feedback app, and connect GitHub for auto-deploy. |
| 4 | +sidebar_label: Make it yours |
| 5 | +sidebar_class_name: hidden |
| 6 | +slug: /quickstart/quickstart-going-further |
| 7 | +unlisted: true |
| 8 | +custom_edit_url: null |
6 | 9 | --- |
7 | 10 |
|
8 | 11 | import Tabs from '@theme/Tabs'; |
9 | 12 | import TabItem from '@theme/TabItem'; |
10 | | -import Video from '@site/src/components/Video'; |
11 | | -import Image from '/src/components/Image'; |
12 | 13 |
|
13 | | -In the next 5 minutes, we'll go from zero to a live app: a managed database, a public URL, and auto-deploy on every git push, all set up for you. |
14 | | - |
15 | | -Here's what we're building together: a page with a button that says **"I followed the Zerops quickstart"**. Every developer who finishes this guide and clicks it gets added to the wall. It's a real app, Express backend, PostgreSQL database, static frontend, running entirely on **Zerops**. |
16 | | - |
17 | | -Curious what you'll end up with? Here it is, live: [app-25be-3000.prg1.zerops.app](https://app-25be-3000.prg1.zerops.app/) |
18 | | - |
19 | | -<Video |
20 | | - src="/vids/quickstart-app.webm" |
21 | | - type="video/webm" |
22 | | -/> |
23 | | - |
24 | | -:::tip Before we start |
25 | | -Sign up at [app.zerops.io](https://app.zerops.io). You get $15 in promo credits on signup, no credit card needed. Verify your account with a $10 payment and get an additional $50, bringing your total to $65 in credits. A simple app with a database costs roughly $3-5/month, so credits go a long way. |
26 | | -::: |
27 | | - |
28 | | ---- |
29 | | - |
30 | | -## 1. Deploy the recipe |
31 | | - |
32 | | -Go to [app.zerops.io/recipes](https://app.zerops.io/recipes). No account needed, the recipes page works even when you're not logged in. |
33 | | - |
34 | | -For this guide, find and click **Node.js**. You'll see **Node.js Hello World**, a Node.js app with Express connected to a PostgreSQL database. |
35 | | - |
36 | | -Hit **Deploy nodejs-hello-world-small-prod**. If you're not signed in yet, Zerops creates your account and kicks off the deploy in the same step. |
37 | | - |
38 | | -<figure style={{ textAlign: 'center', margin: '1rem 0' }}> |
39 | | - <Image |
40 | | - lightImage="/img/screenshots/recipe-predeploy-breakdown.png" |
41 | | - alt="Recipe pre-deploy breakdown showing services, resource sizes and exact price" |
42 | | - style={{ width: '50%', maxWidth: '480px', height: 'auto' }} |
43 | | - /> |
44 | | -</figure> |
45 | | - |
46 | | -:::info What's a recipe? |
47 | | -A recipe is a working app with infrastructure already configured: managed database, environment variables, `zerops.yaml`, everything connected. It's a correct starting point, not a finished product. |
48 | | -::: |
49 | | - |
50 | | ---- |
51 | | - |
52 | | -## 2. Watch it build |
53 | | - |
54 | | -After hitting Deploy, you'll land on the dashboard. On the right side you'll see a pipeline already running. |
55 | | - |
56 | | -It goes through these steps in real time: |
57 | | - |
58 | | -1. Initializing build container |
59 | | -2. Running build commands from `zerops.yaml` |
60 | | -3. Creating app version and upgrading service |
61 | | -4. Done |
62 | | - |
63 | | - |
64 | | - |
65 | | -:::tip Good to know |
66 | | -The build container is **temporary and free**. Zerops spins it up, runs your build, saves the output, and deletes it. You're only billed for the running app. |
67 | | -::: |
68 | | - |
69 | | -Once the pipeline finishes, your app is live. |
70 | | - |
71 | | ---- |
72 | | - |
73 | | -## 3. See what got created |
74 | | - |
75 | | -Click into your new project. You'll see: |
76 | | - |
77 | | -- **app**: your Node.js service, already running |
78 | | -- **db**: a managed PostgreSQL database, already running |
79 | | -- **Project core**: load balancer, firewall, logger, all managed by Zerops |
80 | | - |
81 | | -All of these are already talking to each other on a private network. Nothing to configure. |
82 | | - |
83 | | - |
84 | | ---- |
85 | | - |
86 | | -## 4. Open your live app |
87 | | - |
88 | | -The Zerops subdomain is already enabled when you deploy from a recipe. Click into your **app** service and open the URL. |
89 | | - |
90 | | -The default recipe app will be there. |
91 | | - |
92 | | -When you're ready for production, point a custom domain at your app. Zerops handles the SSL certificate automatically. |
93 | | - |
94 | | ---- |
95 | | - |
96 | | -## You're live 🎉 |
97 | | - |
98 | | -Here's what's running: |
99 | | - |
100 | | -- A real app on production infrastructure |
101 | | -- A managed PostgreSQL database with no setup, no connection strings, no SDK |
102 | | -- All services on a private network, secure by default |
103 | | -- Full Linux containers you can SSH into and install anything on |
104 | | - |
105 | | -None of the infrastructure needed manual configuration. |
106 | | - |
107 | | -:::note Stuck? |
108 | | -Jump into the [Zerops Discord](https://docs.zerops.io/discord). The community is active and the team is there. |
109 | | -::: |
110 | | - |
111 | | ---- |
112 | | - |
113 | | -## Going further: make it yours |
114 | | - |
115 | | -The guided part ends here. Everything below is for when you're ready to swap this recipe for your own code, the feedback app we showed you at the top, or whatever you're building. |
| 14 | +The guided part ends here. Everything below is for when you're ready to swap this recipe for your own code, the feedback app we showed you in the quickstart, or whatever you're building. |
116 | 15 |
|
117 | 16 | ### Deploy the feedback app |
118 | 17 |
|
@@ -403,8 +302,6 @@ export default app; |
403 | 302 | avatarsEl.appendChild(av); |
404 | 303 |
|
405 | 304 | if (animate) { |
406 | | - // Force a reflow so the browser registers the initial (hidden) state |
407 | | - // before we add the class that triggers the transition. |
408 | 305 | void av.offsetWidth; |
409 | 306 | requestAnimationFrame(() => { |
410 | 307 | av.classList.add('visible'); |
@@ -508,9 +405,7 @@ You can also trigger deploys manually with the Zerops CLI: `zcli push`. |
508 | 405 |
|
509 | 406 | ### Add yourself to the list |
510 | 407 |
|
511 | | -Followed this tutorial and deployed your app? |
512 | | - |
513 | | -Open our live app URL and click **"I followed the Zerops quickstart"**. You'll show up alongside everyone else who's made it through. |
| 408 | +Deployed the feedback app? Open your live app URL and click **"I followed the Zerops quickstart"**. You'll show up alongside everyone else who's made it through. |
514 | 409 |
|
515 | 410 | Check out everyone who's already made it: [app-25be-3000.prg1.zerops.app](https://app-25be-3000.prg1.zerops.app/) |
516 | 411 |
|
@@ -558,3 +453,7 @@ Install zcli first (see [CLI reference](/references/cli)), then run `zcli vpn up |
558 | 453 | - **[Autoscaling](/features/scaling)**: set min and max CPU and RAM, Zerops scales within that range automatically |
559 | 454 | - **[Add more services](/features/infrastructure)**: queues, search engines, object storage, just add them to your project |
560 | 455 | - **[Try ZCP](/zcp/quickstart)**: Zerops' AI agent that can deploy, debug, and operate your project |
| 456 | + |
| 457 | +:::note Stuck? |
| 458 | +Jump into the [Zerops Discord](https://docs.zerops.io/discord). The community is active and the team is there. |
| 459 | +::: |
0 commit comments