Skip to content
Merged
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
6 changes: 3 additions & 3 deletions CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ Note: The `postinstall` script runs `fumadocs-mdx` to generate the `.source/` di
- `content/` - All documentation in MDX format
- `content/learn/` - Conceptual documentation (ArNS, gateways, token, etc.)
- `content/build/` - Developer guides (access data, upload, run gateway)
- `content/sdks/` - SDK documentation (ar-io-sdk, turbo-sdk, ardrive-cli, wayfinder)
- `content/sdks/` - SDK and CLI reference (`(clis)/` for CLIs such as ardrive-cli and ario-deploy; SDKs include ar-io-sdk, turbo-sdk, ardrive-core-js, wayfinder)
- `content/apis/` - API reference (ar-io-node, turbo services)
- `content/meta.json` - Root navigation structure
- Each folder uses `meta.json` to define page order and navigation
Expand Down Expand Up @@ -117,5 +117,5 @@ Scripts generate AI-friendly text files from docs:

## Deployment

- **Production**: Deploys to Arweave via GitHub Actions (`.github/workflows/deploy-to-arweave.yaml`) on pushes to main. Uses permaweb-deploy. Supports manual dispatch with custom ArNS undername.
- **PR Previews**: `.github/workflows/pr-preview.yaml` deploys previews for PRs that change `content/` or `src/`. Only runs for PRs from the main repo (not forks).
- **Production**: Deploys to Arweave via GitHub Actions (`.github/workflows/deploy-to-arweave.yaml`) on pushes to main. Uses the [`ar-io/ar-io-deploy`](https://github.com/ar-io/ar-io-deploy) GitHub Action. Supports manual dispatch with custom ArNS undername.
- **PR Previews**: `.github/workflows/pr-preview.yaml` deploys previews for PRs that change `content/` or `src/`. Uses `ar-io/ar-io-deploy`. Only runs for PRs from the main repo (not forks).

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ import { Zap, Github, Globe, Sparkles, FileCode, Rocket, GitBranch } from 'lucid
![Arlink login page showing GitHub, Wander, and MetaMask authentication options](/content/arlink-homepage.png)
## Introduction

In the previous guides in this series, we've used a CLI tool called `permaweb-deploy` to configure and host decentralised apps on ar.io.
In the previous guides in this series, we've used a CLI tool called `ario-deploy` to configure and host decentralised apps on ar.io.

In this guide we'll be using [Arlink](https://arlink.ar.io), a visual, web-based platform for hosting decentralised apps on ar.io without needing command-line tools.

Expand Down Expand Up @@ -44,9 +44,9 @@ Arlink is a web-based deployment platform that simplifies hosting applications o


<Callout type="info" title="CLI vs Web Interface">
All applications that can be deployed with `permaweb-deploy` CLI can also be deployed with Arlink. Choose the tool that fits your workflow:
All applications that can be deployed with `ario-deploy` CLI can also be deployed with Arlink. Choose the tool that fits your workflow:
- **Arlink**: Visual workflows, quick deployments, smaller projects (under 10MB)
- **permaweb-deploy**: CI/CD pipelines, large applications, custom automation
- **ario-deploy**: CI/CD pipelines, large applications, custom automation

See [Limitations & Considerations](#limitations--considerations) below to help decide.
</Callout>
Expand Down Expand Up @@ -137,7 +137,7 @@ Click **Deploy** to start the build process. Arlink will clone your repository,
- Large apps (5-10MB): 5-10 minutes

<Callout type="warn" title="Build Limits">
Arlink enforces a **10MB max build output** and **10-minute build timeout**. For larger applications, use `permaweb-deploy` CLI instead.
Arlink enforces a **10MB max build output** and **10-minute build timeout**. For larger applications, use `ario-deploy` CLI instead.
</Callout>


Expand Down Expand Up @@ -201,10 +201,10 @@ npm run build
du -sh dist/ # or build/, out/, etc.
```

If your build exceeds 10MB, use `permaweb-deploy` CLI instead.
If your build exceeds 10MB, use `ario-deploy` CLI instead.
</Callout>

### Comparison: Arlink vs permaweb-deploy CLI
### Comparison: Arlink vs ario-deploy CLI

Choose the right tool for your use case:

Expand Down Expand Up @@ -241,7 +241,7 @@ Choose the right tool for your use case:
- Limited undername configuration options

<Callout type="info" title="When to Switch to CLI">
If you outgrow Arlink's capabilities, all your existing deployments can be managed with `permaweb-deploy` CLI. See the [other guides in this series](/build/guides/hosting-decentralised-apps) for CLI deployment instructions.
If you outgrow Arlink's capabilities, all your existing deployments can be managed with `ario-deploy` CLI. See the [other guides in this series](/build/guides/hosting-decentralised-apps) for CLI deployment instructions.
</Callout>

## Continuous Deployment
Expand Down Expand Up @@ -284,6 +284,6 @@ You now know how to deploy applications using Arlink's visual interface:
- **Build monitoring** with real-time logs and progress tracking
- **Understanding limitations** to choose between Arlink and CLI tools for your project needs

Arlink provides a quick and accessible way to deploy smaller applications. For larger builds, advanced CI/CD, or custom deployments, consider using the `permaweb-deploy` CLI covered in earlier guides.
Arlink provides a quick and accessible way to deploy smaller applications. For larger builds, advanced CI/CD, or custom deployments, consider using the `ario-deploy` CLI covered in earlier guides.

In our final guide we'll explore deploying using the ArDrive web UI.
8 changes: 4 additions & 4 deletions content/build/guides/hosting-decentralised-apps/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -44,9 +44,9 @@ We'll cover the following:
icon={<Rocket className="w-6 h-6" />}
/>
<Card
title="Deploying with Permaweb-Deploy"
title="Deploying with ARIO Deploy"
description="Master the recommended CLI tool for permanent deployments with Next.js and React, including wallet setup and GitHub Actions automation."
href="/build/guides/hosting-decentralised-apps/deploying-with-permaweb-deploy"
href="/build/guides/hosting-decentralised-apps/deploying-with-ario-deploy"
icon={<Rocket className="w-6 h-6" />}
/>
<Card
Expand Down Expand Up @@ -75,8 +75,8 @@ Each guide will build on the last and by the end of series you'll be equipped to

<Cards>
<Card
href="/build/guides/hosting-decentralised-apps/deploying-with-permaweb-deploy"
title="Start with Permaweb-Deploy"
href="/build/guides/hosting-decentralised-apps/deploying-with-ario-deploy"
title="Start with ARIO Deploy"
description="Begin with our recommended CLI deployment tool"
icon={<Rocket className="w-8 h-8" />}
/>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
"pages": [
"migrating-your-app-to-new-sdks",
"deploy-permanent-dapp",
"deploying-with-permaweb-deploy",
"deploying-with-ario-deploy",
"using-undernames-for-versioning",
"deploying-with-arlink",
"hosting-with-ardrive"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ import { Card, Cards } from 'fumadocs-ui/components/card';
import { Tab, Tabs } from 'fumadocs-ui/components/tabs';
import { GitBranch, Code, Rocket, Network, Settings, RefreshCw, CheckCircle, Zap, Upload } from 'lucide-react';

In the [previous guide](/build/guides/hosting-decentralised-apps/deploying-with-permaweb-deploy), you deployed your application to your base ArNS name. Now you'll learn how to manage multiple versions and environments using **undernames** - subdomains under your ArNS name.
In the [previous guide](/build/guides/hosting-decentralised-apps/deploying-with-ario-deploy), you deployed your application to your base ArNS name. Now you'll learn how to manage multiple versions and environments using **undernames** - subdomains under your ArNS name.

## What You'll Learn

Expand Down Expand Up @@ -67,10 +67,10 @@ In your `my-permaweb-app` project from the previous guide, update `package.json`
"scripts": {
"dev": "next dev",
"build": "next build",
"deploy": "next build && permaweb-deploy deploy --arns-name your-arns-name --deploy-folder out",
"deploy:dev": "next build && permaweb-deploy deploy --arns-name your-arns-name --deploy-folder out --undername dev --ttl-seconds 60",
"deploy:staging": "next build && permaweb-deploy deploy --arns-name your-arns-name --deploy-folder out --undername staging --ttl-seconds 60",
"deploy:prod": "next build && permaweb-deploy deploy --arns-name your-arns-name --deploy-folder out --ttl-seconds 3600"
"deploy": "next build && ario-deploy deploy --arns-name your-arns-name --deploy-folder out",
"deploy:dev": "next build && ario-deploy deploy --arns-name your-arns-name --deploy-folder out --undername dev --ttl-seconds 60",
"deploy:staging": "next build && ario-deploy deploy --arns-name your-arns-name --deploy-folder out --undername staging --ttl-seconds 60",
"deploy:prod": "next build && ario-deploy deploy --arns-name your-arns-name --deploy-folder out --ttl-seconds 3600"
}
}
```
Expand All @@ -84,10 +84,10 @@ In your `my-permaweb-app` project from the previous guide, update `package.json`
"scripts": {
"dev": "vite",
"build": "vite build",
"deploy": "vite build && permaweb-deploy deploy --arns-name your-arns-name",
"deploy:dev": "vite build && permaweb-deploy deploy --arns-name your-arns-name --undername dev --ttl-seconds 60",
"deploy:staging": "vite build && permaweb-deploy deploy --arns-name your-arns-name --undername staging --ttl-seconds 60",
"deploy:prod": "vite build && permaweb-deploy deploy --arns-name your-arns-name --ttl-seconds 60"
"deploy": "vite build && ario-deploy deploy --arns-name your-arns-name",
"deploy:dev": "vite build && ario-deploy deploy --arns-name your-arns-name --undername dev --ttl-seconds 60",
"deploy:staging": "vite build && ario-deploy deploy --arns-name your-arns-name --undername staging --ttl-seconds 60",
"deploy:prod": "vite build && ario-deploy deploy --arns-name your-arns-name --ttl-seconds 60"
}
}
```
Expand Down Expand Up @@ -130,7 +130,7 @@ Create a script that automatically archives based on your `package.json` version

// Deploy to version-specific undername (build already done by npm script)
execSync(
`permaweb-deploy deploy --arns-name your-arns-name --deploy-folder out --undername v${version} --ttl-seconds 3600`,
`ario-deploy deploy --arns-name your-arns-name --deploy-folder out --undername v${version} --ttl-seconds 3600`,
{ stdio: 'inherit' }
);

Expand All @@ -142,9 +142,9 @@ Create a script that automatically archives based on your `package.json` version
```json title="package.json"
{
"scripts": {
"deploy:dev": "next build && permaweb-deploy deploy --arns-name your-arns-name --deploy-folder out --undername dev --ttl-seconds 60",
"deploy:staging": "next build && permaweb-deploy deploy --arns-name your-arns-name --deploy-folder out --undername staging --ttl-seconds 60",
"deploy:prod": "next build && permaweb-deploy deploy --arns-name your-arns-name --deploy-folder out --ttl-seconds 3600",
"deploy:dev": "next build && ario-deploy deploy --arns-name your-arns-name --deploy-folder out --undername dev --ttl-seconds 60",
"deploy:staging": "next build && ario-deploy deploy --arns-name your-arns-name --deploy-folder out --undername staging --ttl-seconds 60",
"deploy:prod": "next build && ario-deploy deploy --arns-name your-arns-name --deploy-folder out --ttl-seconds 3600",
"deploy:archive": "next build && node scripts/deploy-archive.js"
}
}
Expand All @@ -163,7 +163,7 @@ Create a script that automatically archives based on your `package.json` version

// Deploy to version-specific undername (build already done by npm script)
execSync(
`permaweb-deploy deploy --arns-name your-arns-name --undername v${version} --ttl-seconds 3600`,
`ario-deploy deploy --arns-name your-arns-name --undername v${version} --ttl-seconds 3600`,
{ stdio: 'inherit' }
);

Expand All @@ -175,9 +175,9 @@ Create a script that automatically archives based on your `package.json` version
```json title="package.json"
{
"scripts": {
"deploy:dev": "vite build && permaweb-deploy deploy --arns-name your-arns-name --undername dev --ttl-seconds 60",
"deploy:staging": "vite build && permaweb-deploy deploy --arns-name your-arns-name --undername staging --ttl-seconds 60",
"deploy:prod": "vite build && permaweb-deploy deploy --arns-name your-arns-name --ttl-seconds 3600",
"deploy:dev": "vite build && ario-deploy deploy --arns-name your-arns-name --undername dev --ttl-seconds 60",
"deploy:staging": "vite build && ario-deploy deploy --arns-name your-arns-name --undername staging --ttl-seconds 60",
"deploy:prod": "vite build && ario-deploy deploy --arns-name your-arns-name --ttl-seconds 3600",
"deploy:archive": "vite build && node scripts/deploy-archive.js"
}
}
Expand Down Expand Up @@ -209,9 +209,9 @@ admin → Admin panel
```json title="package.json"
{
"scripts": {
"deploy:marketing": "permaweb-deploy deploy --arns-name your-arns-name --deploy-folder ./marketing/dist --ttl-seconds 3600",
"deploy:app": "permaweb-deploy deploy --arns-name your-arns-name --undername app --deploy-folder ./app/dist --ttl-seconds 60",
"deploy:docs": "permaweb-deploy deploy --arns-name your-arns-name --undername docs --deploy-folder ./docs/dist --ttl-seconds 1800",
"deploy:marketing": "ario-deploy deploy --arns-name your-arns-name --deploy-folder ./marketing/dist --ttl-seconds 3600",
"deploy:app": "ario-deploy deploy --arns-name your-arns-name --undername app --deploy-folder ./app/dist --ttl-seconds 60",
"deploy:docs": "ario-deploy deploy --arns-name your-arns-name --undername docs --deploy-folder ./docs/dist --ttl-seconds 1800",
"deploy:all": "npm run deploy:marketing && npm run deploy:app && npm run deploy:docs"
}
}
Expand All @@ -223,7 +223,7 @@ Each component can be deployed independently or all at once with `npm run deploy

## Automating Environment Deployments

Building on the [GitHub Actions workflow](/build/guides/hosting-decentralised-apps/deploying-with-permaweb-deploy#automating-with-github-actions) from the previous guide, let's create environment-specific workflows that deploy based on branch activity.
Building on the [GitHub Actions workflow](/build/guides/hosting-decentralised-apps/deploying-with-ario-deploy#automating-with-github-actions) from the previous guide, let's create environment-specific workflows that deploy based on branch activity.

<Tabs items={['Development', 'Staging', 'Production']}>
<Tab value="Development">
Expand Down Expand Up @@ -401,5 +401,5 @@ You now know how to manage multiple environments using ArNS undernames:
- **GitHub Actions automation** for branch-based deployments
- **Instant rollbacks** through the ArNS app interface

In our next guides we're explore other tools you can use to host websites on ar.io without needing to configure `permaweb-deploy`.
In our next guides we'll explore other tools you can use to host websites on ar.io without needing to configure `ario-deploy`.

Loading
Loading