-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
7c65400
commit 1d47625
Showing
1 changed file
with
18 additions
and
15 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,18 +1,21 @@ | ||
# Vue 3 + TypeScript + Vite | ||
# Supernode - A simple N2N supernode with web interface | ||
|
||
This template should help get you started developing with Vue 3 and TypeScript in Vite. The template uses Vue 3 `<script setup>` SFCs, check out the [script setup docs](https://v3.vuejs.org/api/sfc-script-setup.html#sfc-script-setup) to learn more. | ||
This is a simple N2N supernode with a web interface. It is based on the [n2n](https://github.com/ntop/n2n) project by ntop. | ||
|
||
## Recommended IDE Setup | ||
## Features | ||
* Manage communities of supernode | ||
* Manage devices in communities | ||
* View online devices | ||
* Support encrypted community | ||
* Support public (unencrypted) community | ||
|
||
- [VS Code](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) (and disable Vetur) + [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin). | ||
|
||
## Type Support For `.vue` Imports in TS | ||
|
||
TypeScript cannot handle type information for `.vue` imports by default, so we replace the `tsc` CLI with `vue-tsc` for type checking. In editors, we need [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin) to make the TypeScript language service aware of `.vue` types. | ||
|
||
If the standalone TypeScript plugin doesn't feel fast enough to you, Volar has also implemented a [Take Over Mode](https://github.com/johnsoncodehk/volar/discussions/471#discussioncomment-1361669) that is more performant. You can enable it by the following steps: | ||
|
||
1. Disable the built-in TypeScript Extension | ||
1. Run `Extensions: Show Built-in Extensions` from VSCode's command palette | ||
2. Find `TypeScript and JavaScript Language Features`, right click and select `Disable (Workspace)` | ||
2. Reload the VSCode window by running `Developer: Reload Window` from the command palette. | ||
## Installation | ||
### Deploy with Docker | ||
1. Copy `deploy/docker-compose.yaml` into a empty directory | ||
2. Change environment variables in `docker-compose.yaml` | ||
* `<your database password>`: The password of the database, generate a random password and copy to here | ||
* `<your admin password>`: The admin password of the web interface, generate a random password and copy to here | ||
* `<your server name>`: The server name of the web interface, e.g. `supernode.example.com`, make sure you updated dns record of your domain. | ||
3. Run `docker-compose up -d` to start the supernode | ||
4. Visit `http://<your server name>:8080` to access the web interface | ||
PS: If you cannot access the web interface, please check the firewall settings of your server. |