Skip to content

Commit

Permalink
[exoframe-website] Update quick start guide, add server install via s…
Browse files Browse the repository at this point in the history
…cript

Addresses #311
  • Loading branch information
yamalight committed Dec 5, 2023
1 parent b5302ea commit 44bebb0
Show file tree
Hide file tree
Showing 4 changed files with 86 additions and 49 deletions.
48 changes: 0 additions & 48 deletions packages/exoframe-website/docs/getting-started/installing.md

This file was deleted.

78 changes: 78 additions & 0 deletions packages/exoframe-website/docs/getting-started/quick-start.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
---
sidebar_position: 1
---

# Quick start

## Requirements

Exoframe is not particularly demanding and consumes a maximum of ~50MB of RAM.
The most intensive task from the CLI side is packaging the project and streaming it to the server, which doesn't significantly affect RAM usage but relies more on CPU and network resources.

Running the Exoframe Server on its own is also resource-friendly:

- Exoframe Server consumes approximately ~50MB of RAM.
- Traefik started along with the server consumes around ~60MB of RAM.

However, be aware that the execution of deployments results in (1) a new Docker image being built and (2) a new Docker container being started.
Depending on your project's complexity, this may require a significant amount of resources during both steps, potentially leading to failed deployments.
Note: If Docker goes out of memory during the build, you will not receive any specific error message; the deployment will simply fail.
Therefore, it is recommended to run Exoframe on a server with at least 1GB of RAM.

## Installation and Basic Usage

To use Exoframe, you'll need two components: the Exoframe CLI and the [Exoframe Server](https://github.com/exoframejs/exoframe-server).

### Installing Exoframe Server

To install Exoframe Server, run our installation shell script on your server using the following command:

```bash
bash -c "$(curl -fsSL https://raw.githubusercontent.com/exoframejs/exoframe/main/packages/exoframe-server/tools/install.sh)"
```

The script will guide you through the basic setup process.

For detailed manual server installation instructions, please consult the [Installing Exoframe Server](./server.md) section.

### Installing Exoframe CLI

To install Exoframe CLI, you have two options:

1. Download one of the pre-packaged binaries from the [releases page](https://github.com/exoframejs/exoframe/releases).

2. Install it using npm (requires at least Node 18.x):

```bash
npm install exoframe -g
```

Alternatively, you can run Exoframe via `npx`:

```bash
npx exoframe --help
```

Once you have Exoframe CLI installed, ensure that [Exoframe Server](https://github.com/exoframejs/exoframe-server) is deployed and running. Confirm its proper functioning by opening `http://your.exoframe.url` in the browser; if you see the Exoframe logo, it is working as expected.

After installation, set the server endpoint in the CLI:

```bash
exoframe endpoint http://your.server.url
```

Then, log in with:

```bash
exoframe login
```

After logging in, deploy your projects by simply running:

```bash
exoframe
```

## Next Steps

Explore more about basic commands available to you in the [Basics](../basics.md) section.
2 changes: 1 addition & 1 deletion packages/exoframe-website/docs/getting-started/server.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
sidebar_position: 2
---

# Exoframe Server
# Installing Exoframe Server

## Installation and Usage

Expand Down
7 changes: 7 additions & 0 deletions packages/exoframe-website/docs/server.md
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,13 @@ publicKeysPath: '/path/to/your/public/keys'
# whether Exoframe server would be running in swarm mode, default "false"
swarm: false

# Additional Traefik ports, default: null
traefikPorts:
- '7788/tcp':
- HostPort: '7788'
- '7788/udp':
- HostPort: '7788'

# plugins config
plugins:
# list of plugins that has to be installed and loaded by exoframe-server on startup
Expand Down

0 comments on commit 44bebb0

Please sign in to comment.