-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcli.html
59 lines (57 loc) · 37.5 KB
/
cli.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
<!DOCTYPE html>
<html lang="en-US" dir="ltr">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>CLI | Lagoss</title>
<meta name="description" content="An open-source runtime and platform that allows developers to run TypeScript and JavaScript Serverless Functions.">
<meta name="generator" content="VitePress v1.0.0-rc.44">
<link rel="preload stylesheet" href="/assets/style.Dl058EZ5.css" as="style">
<script type="module" src="/assets/app.yn0IZKkT.js"></script>
<link rel="preload" href="/assets/inter-roman-latin.Bu8hRsVA.woff2" as="font" type="font/woff2" crossorigin="">
<link rel="modulepreload" href="/assets/chunks/framework.CSd21wiM.js">
<link rel="modulepreload" href="/assets/chunks/theme.DanHaxrE.js">
<link rel="modulepreload" href="/assets/cli.md.DQYfCWmm.lean.js">
<script id="check-dark-mode">(()=>{const e=localStorage.getItem("vitepress-theme-appearance")||"auto",a=window.matchMedia("(prefers-color-scheme: dark)").matches;(!e||e==="auto"?a:e==="dark")&&document.documentElement.classList.add("dark")})();</script>
<script id="check-mac-os">document.documentElement.classList.toggle("mac",/Mac|iPhone|iPod|iPad/i.test(navigator.platform));</script>
</head>
<body>
<div id="app"><div class="Layout" data-v-5d98c3a5><!--[--><!--]--><!--[--><span tabindex="-1" data-v-0f60ec36></span><a href="#VPContent" class="VPSkipLink visually-hidden" data-v-0f60ec36> Skip to content </a><!--]--><!----><header class="VPNav" data-v-5d98c3a5 data-v-ae24b3ad><div class="VPNavBar has-sidebar" data-v-ae24b3ad data-v-19c990f1><div class="wrapper" data-v-19c990f1><div class="container" data-v-19c990f1><div class="title" data-v-19c990f1><div class="VPNavBarTitle has-sidebar" data-v-19c990f1 data-v-ab179fa1><a class="title" href="/" data-v-ab179fa1><!--[--><!--]--><!--[--><img class="VPImage logo" src="/icon-white.png" alt data-v-8426fc1a><!--]--><span data-v-ab179fa1>Lagoss</span><!--[--><!--]--></a></div></div><div class="content" data-v-19c990f1><div class="content-body" data-v-19c990f1><!--[--><!--]--><div class="VPNavBarSearch search" data-v-19c990f1><!----></div><nav aria-labelledby="main-nav-aria-label" class="VPNavBarMenu menu" data-v-19c990f1 data-v-7f418b0f><span id="main-nav-aria-label" class="visually-hidden" data-v-7f418b0f>Main Navigation</span><!--[--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/" tabindex="0" data-v-7f418b0f data-v-42ef59de><!--[--><span data-v-42ef59de>Home</span><!--]--></a><!--]--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/introduction.html" tabindex="0" data-v-7f418b0f data-v-42ef59de><!--[--><span data-v-42ef59de>Docs</span><!--]--></a><!--]--><!--]--></nav><!----><div class="VPNavBarAppearance appearance" data-v-19c990f1 data-v-e6aabb21><button class="VPSwitch VPSwitchAppearance" type="button" role="switch" title="Switch to dark theme" aria-checked="false" data-v-e6aabb21 data-v-d1f28634 data-v-1d5665e3><span class="check" data-v-1d5665e3><span class="icon" data-v-1d5665e3><!--[--><span class="vpi-sun sun" data-v-d1f28634></span><span class="vpi-moon moon" data-v-d1f28634></span><!--]--></span></span></button></div><div class="VPSocialLinks VPNavBarSocialLinks social-links" data-v-19c990f1 data-v-0394ad82 data-v-7bc22406><!--[--><a class="VPSocialLink no-icon" href="https://github.com/lagossapp/lagoss" aria-label="github" target="_blank" rel="noopener" data-v-7bc22406 data-v-eee4e7cb><span class="vpi-social-github" /></a><!--]--></div><div class="VPFlyout VPNavBarExtra extra" data-v-19c990f1 data-v-d0bd9dde data-v-b6c34ac9><button type="button" class="button" aria-haspopup="true" aria-expanded="false" aria-label="extra navigation" data-v-b6c34ac9><span class="vpi-more-horizontal icon" data-v-b6c34ac9></span></button><div class="menu" data-v-b6c34ac9><div class="VPMenu" data-v-b6c34ac9 data-v-e7ea1737><!----><!--[--><!--[--><!----><div class="group" data-v-d0bd9dde><div class="item appearance" data-v-d0bd9dde><p class="label" data-v-d0bd9dde>Appearance</p><div class="appearance-action" data-v-d0bd9dde><button class="VPSwitch VPSwitchAppearance" type="button" role="switch" title="Switch to dark theme" aria-checked="false" data-v-d0bd9dde data-v-d1f28634 data-v-1d5665e3><span class="check" data-v-1d5665e3><span class="icon" data-v-1d5665e3><!--[--><span class="vpi-sun sun" data-v-d1f28634></span><span class="vpi-moon moon" data-v-d1f28634></span><!--]--></span></span></button></div></div></div><div class="group" data-v-d0bd9dde><div class="item social-links" data-v-d0bd9dde><div class="VPSocialLinks social-links-list" data-v-d0bd9dde data-v-7bc22406><!--[--><a class="VPSocialLink no-icon" href="https://github.com/lagossapp/lagoss" aria-label="github" target="_blank" rel="noopener" data-v-7bc22406 data-v-eee4e7cb><span class="vpi-social-github" /></a><!--]--></div></div></div><!--]--><!--]--></div></div></div><!--[--><!--]--><button type="button" class="VPNavBarHamburger hamburger" aria-label="mobile navigation" aria-expanded="false" aria-controls="VPNavScreen" data-v-19c990f1 data-v-e5dd9c1c><span class="container" data-v-e5dd9c1c><span class="top" data-v-e5dd9c1c></span><span class="middle" data-v-e5dd9c1c></span><span class="bottom" data-v-e5dd9c1c></span></span></button></div></div></div></div><div class="divider" data-v-19c990f1><div class="divider-line" data-v-19c990f1></div></div></div><!----></header><div class="VPLocalNav has-sidebar empty" data-v-5d98c3a5 data-v-a6f0e41e><div class="container" data-v-a6f0e41e><button class="menu" aria-expanded="false" aria-controls="VPSidebarNav" data-v-a6f0e41e><span class="vpi-align-left menu-icon" data-v-a6f0e41e></span><span class="menu-text" data-v-a6f0e41e>Menu</span></button><div class="VPLocalNavOutlineDropdown" style="--vp-vh:0px;" data-v-a6f0e41e data-v-d2ecc192><button data-v-d2ecc192>Return to top</button><!----></div></div></div><aside class="VPSidebar" data-v-5d98c3a5 data-v-575e6a36><div class="curtain" data-v-575e6a36></div><nav class="nav" id="VPSidebarNav" aria-labelledby="sidebar-aria-label" tabindex="-1" data-v-575e6a36><span class="visually-hidden" id="sidebar-aria-label" data-v-575e6a36> Sidebar Navigation </span><!--[--><!--]--><!--[--><div class="group" data-v-575e6a36><section class="VPSidebarItem level-0 has-active" data-v-575e6a36 data-v-93e7e794><!----><div class="items" data-v-93e7e794><!--[--><div class="VPSidebarItem level-1 is-link" data-v-93e7e794 data-v-93e7e794><div class="item" data-v-93e7e794><div class="indicator" data-v-93e7e794></div><a class="VPLink link link" href="/introduction.html" data-v-93e7e794><!--[--><p class="text" data-v-93e7e794>Introduction</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-93e7e794 data-v-93e7e794><div class="item" data-v-93e7e794><div class="indicator" data-v-93e7e794></div><a class="VPLink link link" href="/getting-started.html" data-v-93e7e794><!--[--><p class="text" data-v-93e7e794>Getting Started</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-93e7e794 data-v-93e7e794><div class="item" data-v-93e7e794><div class="indicator" data-v-93e7e794></div><a class="VPLink link link" href="/runtime-apis.html" data-v-93e7e794><!--[--><p class="text" data-v-93e7e794>Runtime APIs</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-93e7e794 data-v-93e7e794><div class="item" data-v-93e7e794><div class="indicator" data-v-93e7e794></div><a class="VPLink link link" href="/cli.html" data-v-93e7e794><!--[--><p class="text" data-v-93e7e794>CLI</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-93e7e794 data-v-93e7e794><div class="item" data-v-93e7e794><div class="indicator" data-v-93e7e794></div><a class="VPLink link link" href="/examples.html" data-v-93e7e794><!--[--><p class="text" data-v-93e7e794>Examples</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><div class="group" data-v-575e6a36><section class="VPSidebarItem level-0 collapsible" data-v-575e6a36 data-v-93e7e794><div class="item" role="button" tabindex="0" data-v-93e7e794><div class="indicator" data-v-93e7e794></div><h2 class="text" data-v-93e7e794>Usage</h2><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-93e7e794><span class="vpi-chevron-right caret-icon" data-v-93e7e794></span></div></div><div class="items" data-v-93e7e794><!--[--><div class="VPSidebarItem level-1 is-link" data-v-93e7e794 data-v-93e7e794><div class="item" data-v-93e7e794><div class="indicator" data-v-93e7e794></div><a class="VPLink link link" href="/usage/deployments.html" data-v-93e7e794><!--[--><p class="text" data-v-93e7e794>Deployments</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-93e7e794 data-v-93e7e794><div class="item" data-v-93e7e794><div class="indicator" data-v-93e7e794></div><a class="VPLink link link" href="/usage/assets.html" data-v-93e7e794><!--[--><p class="text" data-v-93e7e794>Assets</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-93e7e794 data-v-93e7e794><div class="item" data-v-93e7e794><div class="indicator" data-v-93e7e794></div><a class="VPLink link link" href="/usage/environment-variables.html" data-v-93e7e794><!--[--><p class="text" data-v-93e7e794>Environment variables</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-93e7e794 data-v-93e7e794><div class="item" data-v-93e7e794><div class="indicator" data-v-93e7e794></div><a class="VPLink link link" href="/usage/domains.html" data-v-93e7e794><!--[--><p class="text" data-v-93e7e794>Domains</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-93e7e794 data-v-93e7e794><div class="item" data-v-93e7e794><div class="indicator" data-v-93e7e794></div><a class="VPLink link link" href="/usage/logs.html" data-v-93e7e794><!--[--><p class="text" data-v-93e7e794>Logs</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-93e7e794 data-v-93e7e794><div class="item" data-v-93e7e794><div class="indicator" data-v-93e7e794></div><a class="VPLink link link" href="/usage/cron.html" data-v-93e7e794><!--[--><p class="text" data-v-93e7e794>Cron</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-93e7e794 data-v-93e7e794><div class="item" data-v-93e7e794><div class="indicator" data-v-93e7e794></div><a class="VPLink link link" href="/usage/limits.html" data-v-93e7e794><!--[--><p class="text" data-v-93e7e794>Limits</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-93e7e794 data-v-93e7e794><div class="item" data-v-93e7e794><div class="indicator" data-v-93e7e794></div><a class="VPLink link link" href="/usage/security.html" data-v-93e7e794><!--[--><p class="text" data-v-93e7e794>Security</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><div class="group" data-v-575e6a36><section class="VPSidebarItem level-0 collapsible collapsed" data-v-575e6a36 data-v-93e7e794><div class="item" role="button" tabindex="0" data-v-93e7e794><div class="indicator" data-v-93e7e794></div><h2 class="text" data-v-93e7e794>Self hosting</h2><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-93e7e794><span class="vpi-chevron-right caret-icon" data-v-93e7e794></span></div></div><div class="items" data-v-93e7e794><!--[--><div class="VPSidebarItem level-1 is-link" data-v-93e7e794 data-v-93e7e794><div class="item" data-v-93e7e794><div class="indicator" data-v-93e7e794></div><a class="VPLink link link" href="/self-hosting/installation.html" data-v-93e7e794><!--[--><p class="text" data-v-93e7e794>Installation</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-93e7e794 data-v-93e7e794><div class="item" data-v-93e7e794><div class="indicator" data-v-93e7e794></div><a class="VPLink link link" href="/self-hosting/configuration.html" data-v-93e7e794><!--[--><p class="text" data-v-93e7e794>Configuration</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><!--]--><!--[--><!--]--></nav></aside><div class="VPContent has-sidebar" id="VPContent" data-v-5d98c3a5 data-v-1428d186><div class="VPDoc has-sidebar has-aside" data-v-1428d186 data-v-39a288b8><!--[--><!--]--><div class="container" data-v-39a288b8><div class="aside" data-v-39a288b8><div class="aside-curtain" data-v-39a288b8></div><div class="aside-container" data-v-39a288b8><div class="aside-content" data-v-39a288b8><div class="VPDocAside" data-v-39a288b8 data-v-3f215769><!--[--><!--]--><!--[--><!--]--><div class="VPDocAsideOutline" role="navigation" data-v-3f215769 data-v-935f8a84><div class="content" data-v-935f8a84><div class="outline-marker" data-v-935f8a84></div><div class="outline-title" role="heading" aria-level="2" data-v-935f8a84>On this page</div><nav aria-labelledby="doc-outline-aria-label" data-v-935f8a84><span class="visually-hidden" id="doc-outline-aria-label" data-v-935f8a84> Table of Contents for current page </span><ul class="VPDocOutlineItem root" data-v-935f8a84 data-v-b933a997><!--[--><!--]--></ul></nav></div></div><!--[--><!--]--><div class="spacer" data-v-3f215769></div><!--[--><!--]--><!----><!--[--><!--]--><!--[--><!--]--></div></div></div></div><div class="content" data-v-39a288b8><div class="content-container" data-v-39a288b8><!--[--><!--]--><main class="main" data-v-39a288b8><div style="position:relative;" class="vp-doc _cli" data-v-39a288b8><div><h1 id="cli" tabindex="-1">CLI <a class="header-anchor" href="#cli" aria-label="Permalink to "CLI""></a></h1><p>The easiest way to deploy and manage Functions is through our <a href="https://en.wikipedia.org/wiki/Command-line_interface" target="_blank" rel="noreferrer">Command-line interface</a>.</p><h2 id="installation" tabindex="-1">Installation <a class="header-anchor" href="#installation" aria-label="Permalink to "Installation""></a></h2><p>Lagoss CLI is available for the following operating systems:</p><ul><li>macOS (Intel and M1)</li><li>Linux (x64 and arm64)</li><li>Windows (x64)</li></ul><p>We recommend installing the CLI globally, using the package manager of your choice. You will also need <a href="https://esbuild.github.io/" target="_blank" rel="noreferrer">ESBuild</a> installed globally on your machine, as we use it to bundle your Function's code:</p><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code"><code><span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># NPM</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">npm</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> install</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --global</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> @lagoss/cli</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> esbuild</span></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># Yarn</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">yarn</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> global</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> add</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> @lagoss/cli</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> esbuild</span></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># PNPM</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">pnpm</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> install</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --global</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> @lagoss/cli</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> esbuild</span></span></code></pre></div><h2 id="usage" tabindex="-1">Usage <a class="header-anchor" href="#usage" aria-label="Permalink to "Usage""></a></h2><p>Once installed, execute the <code>lagoss</code> CLI to see all the commands available.</p><h3 id="lagoss-login" tabindex="-1"><code>lagoss login</code> <a class="header-anchor" href="#lagoss-login" aria-label="Permalink to "`lagoss login`""></a></h3><p>Before being able to deploy and manage Functions, you will need to log in. Make sure you have already <a href="./usage/account.html">created an account</a>. If you try to execute a command that requires being logged in, you will be warned and the command will be aborted.</p><p>To proceed, run <code>lagoss login</code> and follow the instructions.</p><h3 id="lagoss-logout" tabindex="-1"><code>lagoss logout</code> <a class="header-anchor" href="#lagoss-logout" aria-label="Permalink to "`lagoss logout`""></a></h3><p>If you want, you can log out at any time. For security, you will be asked to confirm that you want to log out.</p><p>To proceed, run <code>lagoss logout</code> and follow the instructions.</p><h3 id="lagoss-deploy" tabindex="-1"><code>lagoss deploy</code> <a class="header-anchor" href="#lagoss-deploy" aria-label="Permalink to "`lagoss deploy`""></a></h3><p>Create a new Function or a new Deployment in the given directory. Make sure you are <a href="#lagoss-login">logged in</a> before proceeding. If you are executing the command for the first time:</p><ol><li>You will be prompted to select an Organization</li><li>You will be able to link to an existing Function, or create a new one by specifying a name</li></ol><p>If you then want to trigger a new Deployment, re-run the same command. By default, subsequent Deployments are created in preview mode. Specify <code>--prod</code> to deploy in production mode.</p><p>This command accepts the following arguments and options:</p><ul><li><code>[PATH]</code> is an optional path to a file or directory containing the Function. (Default: <code>.</code>)</li><li><code>--client, -c <CLIENT></code> allows you to specify a path to an additional file to bundle as a client-side script.</li><li><code>--public, -p <<PUBLIC_DIR>></code> allows you to specify a path to a directory containing assets to be served statically.</li><li><code>--production, --prod</code> allows you to deploy the Function in production mode. (Default: <code>false</code>)</li></ul><p>Examples:</p><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code"><code><span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># Deploy the current directory to Production</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">lagoss</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> deploy</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --prod</span></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># Deploy the index.ts file</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">lagoss</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> deploy</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> ./index.ts</span></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># Deploy the my-project directory and override the public directory</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">lagoss</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> deploy</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> ./my-project</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --public</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> ./my-project/assets</span></span></code></pre></div><h3 id="lagoss-ls" tabindex="-1"><code>lagoss ls</code> <a class="header-anchor" href="#lagoss-ls" aria-label="Permalink to "`lagoss ls`""></a></h3><p>List all the Deployments of the given directory. Make sure you are <a href="#lagoss-login">logged in</a> before proceeding. This command accepts only one argument:</p><ul><li><code>[DIRECTORY]</code> is an optional path to a directory containing the Function. (Default: <code>.</code>)</li></ul><p>Example:</p><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code"><code><span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># List Deployments in the current directory</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">lagoss</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> ls</span></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># List Deployments of the my-project directory</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">lagoss</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> ls</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> ./my-project</span></span></code></pre></div><h3 id="lagoss-promote" tabindex="-1"><code>lagoss promote</code> <a class="header-anchor" href="#lagoss-promote" aria-label="Permalink to "`lagoss promote`""></a></h3><p>Promote the given Deployment to production. Make sure you are <a href="#lagoss-login">logged in</a> before proceeding. This command accepts the following arguments:</p><ul><li><code><DEPLOYMENT_ID></code> the ID of the Deployment to promote.</li><li><code>[DIRECTORY]</code> is an optional path to a directory containing the Function. (Default: <code>.</code>)</li></ul><p>Example:</p><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code"><code><span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># Promote the cl...km Deployment in the current directory</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">lagoss</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> promote</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> claxnlc230738q5pa7iximskm</span></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># Promote the cl...km Deployment of the my-project directory</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">lagoss</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> promote</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> claxnlc230738q5pa7iximskm</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> ./my-project</span></span></code></pre></div><h3 id="lagoss-undeploy" tabindex="-1"><code>lagoss undeploy</code> <a class="header-anchor" href="#lagoss-undeploy" aria-label="Permalink to "`lagoss undeploy`""></a></h3><p>Un-deploy a Deployment. Make sure you are <a href="#lagoss-login">logged in</a> before proceeding. This command accepts the following arguments:</p><ul><li><code><DEPLOYMENT_ID></code> the ID of the Deployment to undeploy.</li><li><code>[DIRECTORY]</code> is an optional path to a directory containing the Function. (Default: <code>.</code>)</li></ul><p>Example:</p><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code"><code><span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># Undeploy the cl...km Deployment in the current directory</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">lagoss</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> undeploy</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> claxnlc230738q5pa7iximskm</span></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># Undeploy the cl...km Deployment of the my-project directory</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">lagoss</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> undeploy</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> claxnlc230738q5pa7iximskm</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> ./my-project</span></span></code></pre></div><h3 id="lagoss-rm" tabindex="-1"><code>lagoss rm</code> <a class="header-anchor" href="#lagoss-rm" aria-label="Permalink to "`lagoss rm`""></a></h3><div class="danger custom-block"><p class="custom-block-title">DANGER</p><p>Deleting a Function also deletes permanently all of its Deployments, statistics and logs.</p></div><p>Delete completely a Function. You'll be asked to confirm before proceeding. Make sure you are <a href="#lagoss-login">logged in</a> before proceeding. This command accepts only one argument:</p><ul><li><code>[DIRECTORY]</code> is an optional path to a directory containing the Function. (Default: <code>.</code>)</li></ul><p>Example:</p><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code"><code><span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># Delete the current directory's Function</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">lagoss</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> rm</span></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># Delete the my-project directory's Function</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">lagoss</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> rm</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> ./my-project</span></span></code></pre></div><h3 id="lagoss-dev" tabindex="-1"><code>lagoss dev</code> <a class="header-anchor" href="#lagoss-dev" aria-label="Permalink to "`lagoss dev`""></a></h3><p>Launch a local dev server, using the same Runtime as when deployed to the Cloud. You can either:</p><ul><li>Use this command without arguments, to use the current directory configuration</li><li>Specify a path to a directory containing a Function and its configuration</li><li>Specify a path to a file containing a Function</li></ul><p>This command accepts the following arguments and options:</p><ul><li><code>[PATH]</code> is an optional path to a directory or file containing the Function. (Default: <code>.</code>)</li><li><code>--client, -c <CLIENT></code> allows you to specify a path to an additional file to bundle as a client-side script.</li><li><code>--public, -p <<PUBLIC_DIR>></code> allows you to specify a path to a directory containing assets to be served statically.</li><li><code>--hostname <HOSTNAME></code> allows you to specify a custom hostname to start the server on. (Default: <code>127.0.0.1</code>)</li><li><code>--port <PORT></code> allows you to specify a custom port to start the server on. (Default: <code>1234</code>)</li><li><code>--env <FILE></code> allows you to specify a custom path to an environment file to inject <a href="./usage/environment-variables.html">environment variables</a>. (Default: <code>.env</code>)</li><li><code>--allow-code-generation</code> allows you to enable code generation from strings (<code>eval</code> / <code>new Function</code>)</li><li><code>--prod</code> allows you to set <code>process.env.NODE_ENV</code> to <code>"production"</code> instead of <code>"development"</code></li></ul><p>Examples:</p><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code"><code><span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># Run a local dev server in the current directory</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">lagoss</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> dev</span></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># Run a local dev server with a file entrypoint and some assets</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">lagoss</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> dev</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> ./server.tsx</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --public</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> ./assets</span></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># Run a local dev server inside the my-project directory using a custom port</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">lagoss</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> dev</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> ./my-project</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --port</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> 56565</span></span></code></pre></div><div class="warning custom-block"><p class="custom-block-title">WARNING</p><p>Although the <code>dev</code> command uses the same Runtime as when deployed, the local HTTP server itself doesn't have the same optimizations. As such, you shouldn't run any production environment on it, or run any kind of load tests/benchmarks.</p></div><h3 id="lagoss-build" tabindex="-1"><code>lagoss build</code> <a class="header-anchor" href="#lagoss-build" aria-label="Permalink to "`lagoss build`""></a></h3><p>For debugging purposes, you can build a Function and see its output without deploying it. Under the hood, <code>lagoss build</code> does the same steps as <code>lagoss deploy</code>, but skips the deployment part and instead writes the output to a local <code>.lagoss</code> folder.</p><p>This command accepts the following arguments and options:</p><ul><li><code>[PATH]</code> is an optional path to a file or directory containing the Function. (Default: <code>.</code>)</li><li><code>--client, -c <CLIENT></code> allows you to specify a path to an additional file to bundle as a client-side script.</li><li><code>--public, -p <<PUBLIC_DIR>></code> allows you to specify a path to a directory containing assets to be served statically.</li></ul><p>Examples:</p><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">lagoss</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> build</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> ./server.tsx</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --client</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> App.tsx</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --public</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> ./assets</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">tree</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> .lagoss/</span></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># .lagoss/</span></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># index.js</span></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># App.js</span></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># assets/</span></span></code></pre></div><h3 id="lagoss-link" tabindex="-1"><code>lagoss link</code> <a class="header-anchor" href="#lagoss-link" aria-label="Permalink to "`lagoss link`""></a></h3><p>Link a local Function to a deployed one, without triggering a new Deployment. Make sure you are <a href="#lagoss-login">logged in</a> before proceeding. This command accepts only one argument:</p><ul><li><code>[DIRECTORY]</code> is an optional path to a directory containing the Function. (Default: <code>.</code>)</li></ul><p>Example:</p><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">lagoss</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> link</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> ./index.ts</span></span></code></pre></div><h2 id="self-hosting-configuration" tabindex="-1">Self-hosting configuration <a class="header-anchor" href="#self-hosting-configuration" aria-label="Permalink to "Self-hosting configuration""></a></h2><p>If you are <a href="./self-hosting/installation.html">self-hosting</a> Lagoss, you will need to update the default site URL to the one used by your installation. To do so, find the configuration file located in <code>~/.lagoss/config.json</code>:</p><div class="language-json vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">json</span><pre class="shiki shiki-themes github-light github-dark vp-code"><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">{</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> "token"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">"**************"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> "site_url"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">"https://app.lagoss.com"</span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> // Replace this field</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">}</span></span></code></pre></div><p>Replace the <code>site_url</code> field with the one configured during the installation. To verify if it's working correctly, log in to your installation using <code>lagoss login</code>.</p></div></div></main><footer class="VPDocFooter" data-v-39a288b8 data-v-09de1c0f><!--[--><!--]--><!----><nav class="prev-next" data-v-09de1c0f><div class="pager" data-v-09de1c0f><a class="VPLink link pager-link prev" href="/runtime-apis.html" data-v-09de1c0f><!--[--><span class="desc" data-v-09de1c0f>Previous page</span><span class="title" data-v-09de1c0f>Runtime APIs</span><!--]--></a></div><div class="pager" data-v-09de1c0f><a class="VPLink link pager-link next" href="/examples.html" data-v-09de1c0f><!--[--><span class="desc" data-v-09de1c0f>Next page</span><span class="title" data-v-09de1c0f>Examples</span><!--]--></a></div></nav></footer><!--[--><!--]--></div></div></div><!--[--><!--]--></div></div><!----><!--[--><!--]--></div></div>
<script>window.__VP_HASH_MAP__=JSON.parse("{\"usage_account.md\":\"C9_xtxIe\",\"usage_logs.md\":\"CYi1T4oK\",\"self-hosting_installation.md\":\"DbP0ZG9Q\",\"usage_regions.md\":\"-dhRGrOk\",\"usage_assets.md\":\"C6GaJV4X\",\"usage_cron.md\":\"B3vI2t5q\",\"usage_deployments.md\":\"DrmzjEhc\",\"index.md\":\"BcD_NlRD\",\"usage_security.md\":\"li7Tnvjy\",\"usage_domains.md\":\"Dd091cC_\",\"contributing.md\":\"yZsRwz4D\",\"self-hosting_configuration.md\":\"C3WX_j5_\",\"usage_limits.md\":\"C0jqZFQy\",\"usage_pricing.md\":\"lJNWBUap\",\"runtime-apis.md\":\"jbG-txpu\",\"cli.md\":\"DQYfCWmm\",\"getting-started.md\":\"DgBv55-U\",\"usage_environment-variables.md\":\"DU_oi06y\",\"examples.md\":\"7Ptb0G4R\",\"introduction.md\":\"Ce0dD3Ro\"}");window.__VP_SITE_DATA__=JSON.parse("{\"lang\":\"en-US\",\"dir\":\"ltr\",\"title\":\"Lagoss\",\"description\":\"An open-source runtime and platform that allows developers to run TypeScript and JavaScript Serverless Functions.\",\"base\":\"/\",\"head\":[],\"router\":{\"prefetchLinks\":true},\"appearance\":true,\"themeConfig\":{\"logo\":\"/icon-white.png\",\"nav\":[{\"text\":\"Home\",\"link\":\"/\"},{\"text\":\"Docs\",\"link\":\"/introduction\"}],\"sidebar\":[{\"text\":\"Introduction\",\"link\":\"/introduction\"},{\"text\":\"Getting Started\",\"link\":\"/getting-started\"},{\"text\":\"Runtime APIs\",\"link\":\"/runtime-apis\"},{\"text\":\"CLI\",\"link\":\"/cli\"},{\"text\":\"Examples\",\"link\":\"/examples\"},{\"text\":\"Usage\",\"collapsed\":false,\"items\":[{\"text\":\"Deployments\",\"link\":\"/usage/deployments\"},{\"text\":\"Assets\",\"link\":\"/usage/assets\"},{\"text\":\"Environment variables\",\"link\":\"/usage/environment-variables\"},{\"text\":\"Domains\",\"link\":\"/usage/domains\"},{\"text\":\"Logs\",\"link\":\"/usage/logs\"},{\"text\":\"Cron\",\"link\":\"/usage/cron\"},{\"text\":\"Limits\",\"link\":\"/usage/limits\"},{\"text\":\"Security\",\"link\":\"/usage/security\"}]},{\"text\":\"Self hosting\",\"collapsed\":true,\"items\":[{\"text\":\"Installation\",\"link\":\"/self-hosting/installation\"},{\"text\":\"Configuration\",\"link\":\"/self-hosting/configuration\"}]}],\"socialLinks\":[{\"icon\":\"github\",\"link\":\"https://github.com/lagossapp/lagoss\"}]},\"locales\":{},\"scrollOffset\":134,\"cleanUrls\":false}");</script>
</body>
</html>