Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/retrixe/ecthelion

A frontend for Octyne for remote administration.
https://github.com/retrixe/ecthelion

eslint frontend material-ui nextjs octyne react react-window typescript

Last synced: 7 days ago
JSON representation

A frontend for Octyne for remote administration.

Awesome Lists containing this project

README

        

# ecthelion

A frontend for Octyne.

## Quick Start

1. Prerequisites: Install [Node.js](https://nodejs.dev/en/download/) (on macOS/Linux, follow the "install via a package manager" instructions, preferably using [n](https://nodejs.dev/en/download/package-manager#n) to get the latest Node.js LTS version) and [Git](https://www.atlassian.com/git/tutorials/install-git). After installing Node.js, run `corepack enable` in the terminal to install the Yarn package manager (run as administrator/`sudo` may be needed).
2. Download Ecthelion to a folder by running `git clone https://github.com/retrixe/ecthelion.git` in terminal where you wish to place Ecthelion.
3. Select the current version of Ecthelion after downloading it by running `git checkout ` in the Ecthelion folder. Alternatively, for the development version, run `git checkout main`.
4. Follow the steps [here](https://github.com/retrixe/ecthelion#configuration) to configure Ecthelion correctly. After configuration changes, rebuild Ecthelion with `yarn && yarn build`.
5. Run `yarn start` to start Ecthelion's built-in web server, you can specify a port by passing `-p `. Alternatively, you can run `yarn export` to export Ecthelion to static HTML/CSS/JS files in the `out` folder you can serve via nginx or Apache, however, supporting dynamic routes will require additional work.
6. To update Ecthelion in the future, run `git pull`, then re-run step 3 through 5.

You might want to manage Ecthelion using systemd on Linux systems, which can start and stop Ecthelion, start it on boot, store its logs and restart it on crash. [This article should help you out.](https://medium.com/@benmorel/creating-a-linux-service-with-systemd-611b5c8b91d6) Alternatively, you can run Ecthelion with Octyne, but if you have issues with Ecthelion, this may be a problem.

## Configuration

Create a `config.json` in the top level of the project and then add the following content:

```json
{
"ip": "",
"nodes": {
"": ""
},
"basePath": "",
"enableCookieAuth": false
}
```

**⚠️ Important Notes:**

- The `ip` field is required, while `nodes`, `basePath` and `enableCookieAuth` are optional.
- Cookie authentication is more secure, but it requires Octyne v1.1+, and Ecthelion + all Octyne nodes must be under 1 domain or IP address! For this, you can use a reverse proxy like nginx or Apache, [the Octyne documentation has sample configs for both software](https://github.com/retrixe/octyne#security-practices-and-reverse-proxying) to achieve this.
- Absolute URLs to Octyne should be accessible to users (make sure Octyne is port forwarded), and are in the format of `http[s]://[:][/]`, e.g. `http://43.12.45.32:42069` or `https://console.myserver.com/octyne`. The URL should also not end with `/`!