Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/samvv/servmin
Administer your servers with ease
https://github.com/samvv/servmin
Last synced: about 1 month ago
JSON representation
Administer your servers with ease
- Host: GitHub
- URL: https://github.com/samvv/servmin
- Owner: samvv
- Created: 2023-10-04T12:40:43.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2023-11-06T15:43:37.000Z (about 1 year ago)
- Last Synced: 2024-05-01T13:01:18.202Z (8 months ago)
- Language: TypeScript
- Size: 118 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Servmin
> Administer your servers with ease
## Installation
Currently, there is no straightforward method to install this software.
## Contributing
### First Steps
The following steps have to be done only once on each machine.
#### Configuring a localhost certificate
Due to a rather irritating decision by the Chrome devs, WebSocket connections
on `localhost` will be dropped if they not happen over TLS. In order to
circumvent this limitation and still be able to use the Vite development
server, we must create a local certificate authority (CA) and sign our
connection with that key.1. Go inside the Servmin project directory.
2. Generate a `localhost.key` and `localhost.crt` using the following command:
```sh
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout config/localhost.key -out config/localhost.crt
```
3. Enter your details and make sure to fill in a CN (common name) of `localhost`.
4. Open settings in Brave and search for 'certificate'
5. Click on 'Security' → 'Manage device certificates' → 'Authorities' → 'Import'
6. Select in the file dialog the generated `localhost.crt` and make sure to check 'Trust this certificate for identifying websites'That's it, the secure WebSocket should now work.
### Expanding the ESLint configuration
If you are developing a production application, we recommend updating the configuration to enable type aware lint rules:
- Configure the top-level `parserOptions` property like this:
```js
parserOptions: {
ecmaVersion: 'latest',
sourceType: 'module',
project: ['./tsconfig.json', './tsconfig.node.json'],
tsconfigRootDir: __dirname,
},
```- Replace `plugin:@typescript-eslint/recommended` to `plugin:@typescript-eslint/recommended-type-checked` or `plugin:@typescript-eslint/strict-type-checked`
- Optionally add `plugin:@typescript-eslint/stylistic-type-checked`
- Install [eslint-plugin-react](https://github.com/jsx-eslint/eslint-plugin-react) and add `plugin:react/recommended` & `plugin:react/jsx-runtime` to the `extends` list