Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
32 changes: 32 additions & 0 deletions src/components/DocsCard.astro
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
---
/**
* Docs CTA card. Place inside a grid wrapper:
* <div class="grid gap-3 my-6 grid-cols-[repeat(auto-fill,minmax(280px,1fr))]">
*/
interface Props {
link: string;
title: string;
icon?: string;
description?: string;
titleTag?: 'h2' | 'h3' | 'h4' | 'h5' | 'h6';
}
import CardBaseClickableSFC from 'azion-webkit/cardbaseclickable';
import CardTitleSFC from 'azion-webkit/cardtitle';
import CardDescriptionSFC from 'azion-webkit/carddescription';

// azion-webkit's .d.ts files omit pass-through props (grid, hover, class, titleTag),
// so the components are cast to keep `astro check` clean.
const CardBaseClickable = CardBaseClickableSFC as any;
const CardTitle = CardTitleSFC as any;
const CardDescription = CardDescriptionSFC as any;

const { link, title, icon, description, titleTag = 'h3' } = Astro.props;
---

<CardBaseClickable grid={true} hover="outlined" class="w-full" spacing="compact" link={link} title={title}>
<Fragment slot="content">
{icon && <i class={`${icon} text-xl`}></i>}
<CardTitle titleTag={titleTag} class="m-0 !text-lg">{title}</CardTitle>
{description && <CardDescription class="!text-sm line-clamp-3">{description}</CardDescription>}
</Fragment>
</CardBaseClickable>
145 changes: 145 additions & 0 deletions src/content/docs/en/pages/get-started/first-deploy/index.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,145 @@
---
title: 'First deploy in a few minutes'
description: >-
Put an application live on the Azion Web Platform in a few minutes,
using a template, a GitHub repository, or the Azion CLI, and verify it
answers HTTP 200 on its own Azion domain.
meta_tags: >-
Azion, first deploy, tutorial, quickstart, template, GitHub import, Azion
CLI, azion link, edge application, verification
namespace: documentation_get_started_first_deploy
permalink: /documentation/get-started/first-deploy/
---

import DocsCard from '~/components/DocsCard.astro';


By the end of this tutorial, an application will be live on the Azion Web Platform, answering HTTP 200 on its own Azion domain. It takes a few minutes.

Three complete paths get you there. Pick one. They all end in the same place:

<div class="grid gap-3 my-6 grid-cols-[repeat(auto-fill,minmax(280px,1fr))]">
<DocsCard link="#deploy-a-template-via-console" title="Deploy a template via Console" icon="pi pi-th-large" description="You're starting from scratch and want a ready-made project." />
<DocsCard link="#import-a-project-from-github" title="Import a project from GitHub" icon="pi pi-github" description="Your project already lives in a GitHub repository." />
<DocsCard link="#deploy-with-azion-cli" title="Deploy with Azion CLI" icon="pi pi-wrench" description="Your project is on your machine and you prefer the terminal." />
</div>

Not sure which one? Take the template path: it needs no local tooling.

## Before you start

All you need is an Azion account. You can [create one for free](https://console.azion.com/signup/), and it doesn't ask for a credit card. Anything path-specific is listed in the path itself.

---

## Deploy a template via Console

Templates are ready-made projects (e-commerce, blogs, APIs, full-stack SSR) that go live in a few clicks. You don't need any local tooling.

:::note
Some templates are integrated with third-party services, so you may need to create accounts, generate tokens, or activate Azion products before deploying. Templates integrated with GitHub ask you to connect your account: click **Connect with GitHub** when prompted and confirm the connection in the pop-up. Each [template's guide](/en/documentation/products/guides/#azion-templates) lists its specific prerequisites.
:::

1. [Access Azion Console](https://console.azion.com).
2. Click **+ Create** on the homepage.
3. In the modal, select **Templates**.
4. Browse and pick the one you want to start with.
5. Fill in the configuration page.
6. Click **Deploy**, in the bottom-right corner.

Follow the deploy through the logs window. When it finishes, the page shows your application's name, its deploy logs, and its **Azion domain**. Some templates also create a function and apply pre-defined configurations to optimize your application's performance. The template's guide lists what's included.

### Test it

Copy the Azion domain from the confirmation page:

```bash
curl -I https://<your-azion-domain>
# HTTP/2 200
```

Open the same URL in the browser to see your application running.

:::note
New URLs can take a few minutes to propagate to Azion's edge locations. If you get an error right after deploying, wait a moment and try again.
:::

---

## Import a project from GitHub

**Before you start:** you need a GitHub account and a repository using one of the [supported frameworks](/en/documentation/products/devtools/azion-edge-runtime/frameworks-compatibility/).

1. In [Azion Console](https://console.azion.com), click **+ Create**.
2. Select **Import from GitHub**.
3. Connect your GitHub account.
4. Select your repository.
5. Choose a name for the application and a **Framework Preset**.
6. Enter the install command (usually `npm install`).
7. Confirm and follow the logs until the **Azion domain** shows up.

### Test it

```bash
curl -I https://<your-azion-domain>
# HTTP/2 200
```

Open the Azion domain in the browser to see your application running. If you get an error right away, wait a few minutes: new URLs take a moment to propagate to Azion's edge locations.

---

## Deploy with Azion CLI

**Before you start:** you need the Azion CLI (installed below) and a local project using one of the [supported frameworks](/en/documentation/products/devtools/azion-edge-runtime/frameworks-compatibility/), with its dependencies installed.

:::tip
Starting from scratch instead? Run `azion init` to create a new project from a framework template, then deploy it the same way. See the [CLI overview](/en/documentation/products/azion-cli/overview/) and the [link command reference](/en/documentation/products/cli/link-command/) for details.
:::

### Install the Azion CLI

```bash
curl -fsSL https://cli.azion.app/install.sh | bash
```

### Link and deploy

Authenticate:

```bash
azion login
```

In the project's root folder, link it to Azion:

```bash
azion link
```

The CLI guides you from there: confirm the linking, accept or change the suggested application name, and pick a **preset** matching your framework. When it asks `Do you want to deploy your project?`, answer **yes**. (If you answer no, run `azion deploy` when you're ready.)

At the end of the deploy, the CLI prints your application's **Azion domain**.

### Test it

```bash
curl -I https://<your-azion-domain>
# HTTP/2 200
```

If you get an error right away, wait a few minutes: new URLs take a moment to propagate to Azion's edge locations.

---

## What you built

You deployed an application to Azion's global network and confirmed it answers on its own domain. The workflow is the same one you'll use for production projects.

## Next steps

<div class="grid gap-3 my-6 grid-cols-[repeat(auto-fill,minmax(280px,1fr))]">
<DocsCard link="/en/documentation/products/go-live-with-azion/" title="Go live with Azion" icon="ai ai-azion" description="Add a custom domain and point your traffic to the application you just deployed." />
<DocsCard link="/en/documentation/products/secure/overview/" title="Secure your application" icon="ai ai-secure-pillar" description="Enable Firewall and WAF protection." />
<DocsCard link="/en/documentation/products/observe/overview/" title="Observe your application" icon="ai ai-observe-pillar" description="Follow metrics and events in real time." />
</div>
71 changes: 71 additions & 0 deletions src/content/docs/en/pages/get-started/index.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
---
title: Get started with Azion
description: >-
Start here: deploy your first application on Azion in minutes using a
template, a GitHub repository, or the Azion CLI, and find the right path
for your goal.
meta_tags: >-
Azion, get started, first deploy, quickstart, template, GitHub, CLI,
onboarding, edge computing
namespace: documentation_get_started
permalink: /documentation/get-started/
---

import LinkButton from 'azion-webkit/linkbutton';
import DocsCard from '~/components/DocsCard.astro';

**Azion Web Platform** lets you build, secure, and observe applications running on a global network. The fastest way to understand what that means is to put something live: the first deploy takes a few minutes and doesn't require a credit card.

## Deploy your first application

Three doors, same destination: an application answering on its own Azion domain. Pick the one that matches how you work.

<div class="grid gap-3 my-6 grid-cols-[repeat(auto-fill,minmax(280px,1fr))]">
<DocsCard link="/en/documentation/get-started/first-deploy/#deploy-a-template-via-console" title="Deploy a template via Console" icon="pi pi-th-large" description="One-click start from ready-made projects: e-commerce, blogs, APIs, full-stack SSR." />
<DocsCard link="/en/documentation/get-started/first-deploy/#import-a-project-from-github" title="Import a project from GitHub" icon="pi pi-github" description="Connect your repository and deploy an existing project." />
<DocsCard link="/en/documentation/get-started/first-deploy/#deploy-with-azion-cli" title="Deploy with Azion CLI" icon="pi pi-wrench" description="Link a local project from your terminal with azion link." />
</div>

<LinkButton link="/en/documentation/get-started/first-deploy/" label="First deploy in a few minutes" />

## Find your path

<div class="grid gap-3 my-6 grid-cols-[repeat(auto-fill,minmax(280px,1fr))]">
<DocsCard link="/en/documentation/get-started/first-deploy/" title="I'm evaluating Azion" icon="pi pi-bolt" description="See what you can build and how much effort the first success takes." />
<DocsCard link="/en/documentation/products/guides/" title="I need to implement something specific" icon="pi pi-code" description="Browse how-to guides by product and by capability." />
<DocsCard link="/en/documentation/products/pricing/" title="I need to know what is included" icon="pi pi-chart-line" description="Check what's included in each plan and how real-world architectures look on Azion." />
</div>

Also useful: [Accounts and billing](/en/documentation/products/accounts/) · [Architectures](/en/documentation/architectures/)

## Build with your framework

Ready-made build paths for the stack you already use.

<div class="grid gap-3 my-6 grid-cols-[repeat(auto-fill,minmax(280px,1fr))]">
<DocsCard link="/en/documentation/products/build/develop-with-azion/frameworks-specific/overview/" title="Frameworks overview" icon="pi pi-th-large" description="See every framework and build path supported on Azion." />
<DocsCard link="/en/documentation/products/cli/frameworks/angular/" title="Angular" icon="ai ai-angular" description="Enterprise-grade web apps with TypeScript and robust tooling." />
<DocsCard link="/en/documentation/products/cli/frameworks/astro/" title="Astro" icon="ai ai-astro" description="Content-focused sites with minimal client-side JavaScript." />
<DocsCard link="/en/documentation/products/cli/frameworks/docusaurus/" title="Docusaurus" icon="ai ai-docusaurus" description="Documentation sites with React and built-in versioning." />
<DocsCard link="/en/documentation/products/cli/frameworks/eleventy/" title="Eleventy" icon="ai ai-eleventy" description="Simple, fast static sites from plain templates." />
<DocsCard link="/en/documentation/products/cli/frameworks/gatsby/" title="Gatsby" icon="ai ai-gatsby" description="SEO-friendly React sites that pull content from any source." />
<DocsCard link="/en/documentation/products/cli/frameworks/hexo/" title="Hexo" icon="ai ai-hexo" description="Fast blogs generated from Markdown." />
<DocsCard link="/en/documentation/products/cli/frameworks/hono/" title="Hono" icon="ai ai-hono" description="Ultrafast web framework built for edge runtimes." />
<DocsCard link="/en/documentation/products/cli/frameworks/hugo/" title="Hugo" icon="ai ai-hugo" description="Static sites built in milliseconds with Go templates." />
<DocsCard link="/en/documentation/products/cli/frameworks/jekyll/" title="Jekyll" icon="ai ai-jekyll" description="Blog-aware static sites from Markdown, Ruby-based." />
<DocsCard link="/en/documentation/products/cli/frameworks/next/" title="Next.js" icon="ai ai-next" description="React with SSR, static generation, and powerful routing." />
<DocsCard link="/en/documentation/products/cli/frameworks/nextal/" title="Nextal" icon="pi pi-code" description="Lightweight starter for fast static pages." />
<DocsCard link="/en/documentation/products/cli/frameworks/react/" title="React" icon="ai ai-react" description="Interactive UIs with reusable components." />
<DocsCard link="/en/documentation/products/cli/frameworks/svelte/" title="Svelte" icon="pi pi-code" description="Compiled components, no virtual DOM, tiny bundles." />
<DocsCard link="/en/documentation/products/cli/frameworks/vite/" title="VitePress" icon="ai ai-vitepress" description="Vite-powered docs and static sites from Markdown." />
<DocsCard link="/en/documentation/products/cli/frameworks/vue/" title="Vue" icon="ai ai-vue" description="Progressive framework for approachable, flexible UIs." />
<DocsCard link="/en/documentation/products/build/develop-with-azion/language-specific/wasm/" title="WebAssembly" icon="pi pi-code" description="Run near-native code at the edge from any language." />
</div>

## After the first deploy

<div class="grid gap-3 my-6 grid-cols-[repeat(auto-fill,minmax(280px,1fr))]">
<DocsCard link="/en/documentation/products/go-live-with-azion/" title="Go live with Azion" icon="ai ai-azion" description="Point a custom domain to your application." />
<DocsCard link="/en/documentation/products/secure/overview/" title="Secure your application" icon="ai ai-secure-pillar" description="Protect it with Firewall and WAF." />
<DocsCard link="/en/documentation/products/observe/overview/" title="Observe your application" icon="ai ai-observe-pillar" description="Monitor metrics and events in real time." />
</div>
Loading
Loading