Add comments to config.example.toml, add README and LICENSE
This commit is contained in:
43
README.MD
Normal file
43
README.MD
Normal file
@@ -0,0 +1,43 @@
|
||||
# CollabVM Authentication Server
|
||||
This is the authentication server for CollabVM. It is used alongside CollabVM server to add support for accounts.
|
||||
|
||||
## Prerequisites
|
||||
- .NET Core 8.0 or later
|
||||
- A MariaDB or MySQL server
|
||||
- An SMTP server if you want email verification and password reset
|
||||
- An hCaptcha account if you want to use hCaptcha to prevent bots
|
||||
|
||||
## Running the server
|
||||
1. Clone the source code: `git clone https://git.computernewb.com/collabvm/CollabVMAuthServer --recursive`
|
||||
2. Copy `config.example.toml` to `config.toml` and edit it to your liking
|
||||
3. Install dependencies: `dotnet restore`
|
||||
4. Build the server: `dotnet publish CollabVMAuthServer/CollabVMAuthServer.csproj -c Release --os linux -p:PublishReadyToRun=true`
|
||||
5. Run the server: `./CollabVMAuthServer/bin/Release/net8.0/linux-x64/publish/CollabVMAuthServer`
|
||||
|
||||
## Setting up NGINX
|
||||
You'll want to set up NGINX as a reverse proxy to the authentication server to add HTTPS support. Running the server over plain HTTP is strongly discouraged. Here is an example NGINX configuration:
|
||||
```nginx
|
||||
upstream cvm-auth { server 127.0.0.1:5858; } # Change the port if you changed the server port in config.toml
|
||||
server {
|
||||
listen 80;
|
||||
server_name collabvm-auth.yourdomain.com;
|
||||
location / {
|
||||
# Uncomment if you use Cloudflare proxying
|
||||
#proxy_set_header X-Forwarded-For $http_cf_connecting_ip;
|
||||
# Comment if you use Cloudflare proxying
|
||||
proxy_set_header X-Forwarded-For $remote_addr;
|
||||
proxy_pass http://cvm-auth;
|
||||
}
|
||||
}
|
||||
```
|
||||
At this point, you should now enable SSL. To do this with LetsEncrypt, you can use `sudo certbot -i nginx -d collabvm-auth.yourdomain.com`
|
||||
|
||||
## Integrating with CollabVM
|
||||
At this point, you can now integrate the authentication server with CollabVM. You can do this by editing the [auth] section of config.toml. Here is an example:
|
||||
```toml
|
||||
[auth]
|
||||
enabled = true
|
||||
apiEndpoint = "https://collabvm-auth.yourdomain.com"
|
||||
secretKey = "hunter2" # Change this to the secret key you set in the authentication server's config.toml
|
||||
```
|
||||
You can then configure [auth.guestPermissions] to set the permissions for guests. Restart CollabVM after making these changes, and you should now have account support.
|
||||
Reference in New Issue
Block a user