cleanup traefik readme.

This commit is contained in:
Miroslav Šedivý
2022-07-31 21:14:57 +02:00
parent fe13a63104
commit aa9880e999
6 changed files with 97 additions and 50 deletions
+6 -50
View File
@@ -16,70 +16,25 @@ Simple room management system for [n.eko](https://github.com/m1k1o/neko). Self h
<img src="https://github.com/m1k1o/neko-rooms/raw/master/docs/neko.gif" alt="n.eko">
</div>
## Zero-knowledge installation
## Zero-knowledge installation (with HTTPS and Traefik)
If you don't have any clue about docker and stuff but only want to have fun with friends in a shared browser, we got you covered!
- Rent a VPS with public IP and OS Ubuntu.
- Get a domain name pointing to your IP (you can even get some for free).
- Run install script and follow instructions.
- Secure using HTTPs thanks to Let's Encrypt and Traefik.
```bash
wget -O neko-rooms.sh https://raw.githubusercontent.com/m1k1o/neko-rooms/master/install
wget -O neko-rooms.sh https://raw.githubusercontent.com/m1k1o/neko-rooms/master/traefik/install
sudo bash neko-rooms.sh
```
## How to start
You need to have installed `Docker` and `docker-compose`. You need to have a custom domain pointing to your server's IP.
If you want to use Traefik as reverse proxy, visit [installation guide for traefik as reverse proxy](./traefik/).
You can watch installation video provided by *Dr R1ck*:
https://www.youtube.com/watch?v=cCmnw-pq0gA
### Installation guide
You only need `.env.example`, `docker-compose.yml` and `traefik/`.
#### Do I need to use traefik?
- Traefik needs to be used to forward traffic to the rooms. You can put nginx in front of it, but not replace it.
- See example configuration for [nginx](docs/nginx).
You can use `docker-compose.http.yml` that will expose this service to `8080` or any port. Authentication is optional. Start it quickly with `docker-compose -f docker-compose.http.yml up -d`.
### Step 1
Copy `.env.example` to `.env` and customize.
```bash
cp .env.example .env
```
### Step 2
Create `usersfile` with your users:
```bash
touch traefik/usersfile
```
And add as many users as you like:
```bash
echo $(htpasswd -nb user password) >> traefik/usersfile
```
### Step 3 (HTTPS only)
Create `acme.json`
```bash
touch traefik/acme.json
chmod 600 traefik/acme.json
```
Update your email in `traefik/traefik.yml`.
Otherwise modify variables in `docker-compose.yml` and just run `docker-compose up -d`.
### Download images / update
@@ -116,6 +71,7 @@ For more information visit [docs](./docs).
- [x] add authentication provider for traefik
- [x] allow specifying custom ENV variables
- [x] allow mounting directories for persistent data
- [x] optionally remove Traefik as dependency
- [ ] add upgrade button
- [ ] auto pull images, that do not exist
- [ ] add bearer token to for API
+24
View File
@@ -0,0 +1,24 @@
version: "3.5"
networks:
default:
attachable: true
name: "neko-rooms-net"
services:
neko-rooms:
image: "m1k1o/neko-rooms:latest"
restart: "unless-stopped"
environment:
- "TZ=Europe/Vienna"
- "NEKO_ROOMS_MUX=true"
- "NEKO_ROOMS_EPR=59000-59049"
- "NEKO_ROOMS_NAT1TO1=127.0.0.1" # IP address of your server that is reachable from client
- "NEKO_ROOMS_INSTANCE_URL=http://127.0.0.1:8080/" # external URL
- "NEKO_ROOMS_INSTANCE_NETWORK=neko-rooms-net"
- "NEKO_ROOMS_TRAEFIK_ENABLED=false"
- "NEKO_ROOMS_PATH_PREFIX=/room/"
ports:
- "8080:8080"
volumes:
- "/var/run/docker.sock:/var/run/docker.sock"
+67
View File
@@ -0,0 +1,67 @@
# Installation guide for traefik as reverse proxy
## Zero-knowledge installation
If you don't have any clue about docker and stuff but only want to have fun with friends in a shared browser, we got you covered!
- Rent a VPS with public IP and OS Ubuntu.
- Get a domain name pointing to your IP (you can even get some for free).
- Run install script and follow instructions.
```bash
wget -O neko-rooms.sh https://raw.githubusercontent.com/m1k1o/neko-rooms/master/traefik/install
sudo bash neko-rooms.sh
```
## How to start
You need to have installed `Docker` and `docker-compose`. You need to have a custom domain pointing to your server's IP.
You can watch installation video provided by *Dr R1ck*:
https://www.youtube.com/watch?v=cCmnw-pq0gA
### Installation guide
You only need `.env.example`, `docker-compose.yml` and `traefik/`.
#### Do I need to use traefik?
- This project started with Traefik as a needed dependency. That, however, changed. Traefik must not be used but the original setup can still be used.
- Traefik is used to forward traffic to the rooms. You can put nginx in front of it.
- See example configuration for [nginx](./nginx).
You can use `docker-compose.http.yml` that will expose this service to `8080` or any port. Authentication is optional. Start it quickly with `docker-compose -f docker-compose.http.yml up -d`.
### Step 1
Copy `.env.example` to `.env` and customize.
```bash
cp .env.example .env
```
### Step 2
Create `usersfile` with your users:
```bash
touch usersfile
```
And add as many users as you like:
```bash
echo $(htpasswd -nb user password) >> usersfile
```
### Step 3 (HTTPS only)
Create `acme.json`
```bash
touch acme.json
chmod 600 acme.json
```
Update your email in `traefik.yml`.
View File