diff --git a/README.md b/README.md index a877602..7d9260b 100644 --- a/README.md +++ b/README.md @@ -2,4 +2,84 @@ [![Build Status](https://drone.faercol.me/api/badges/PolyculeConnect/polycule-connect/status.svg)](https://drone.faercol.me/PolyculeConnect/polycule-connect) -PolyculeConnect \ No newline at end of file +PolyculeConnect + +## Configuration + +Here is an example config file + +```json +{ + "log": { + "level": "debug" // debug,info,warn,error + }, + "server": { + "port": 5000, // only used in net mode + "host": "0.0.0.0", // only used in net mode + // "sock": "/your/sock.sock" // path to your unix sock if "mode" is set to "unix" + "mode": "net" // net,unix + }, + "openconnect": { + "issuer": "https://polyculeconnect.domain", // hostname of your polyculeconnect server + "clients": [ + { + "name": "", + "id": "", + "secret": "", + "redirectURIs": [ + "" + ] + } + ], + "backends": [ + { + "id": "", + "name": "", + "local": true, + "type": "oidc", // must be "oidc" for now + "config": { + "issuer": "https://polyculeconnect.domain", // must be the same as current issuer + "clientID": "", + "clientSecret": "", + "redirectURI": "" + } + }, + ] + } +} +``` + +You can register multiple backend and multiple clients (applications) + +## Running the server + +### Running from sources + +```bash +# clone the directory +git clone https://git.faercol.me/PolyculeConnect/polycule-connect.git + +cd polycule-connect + +# build the sources +make -C polyculeconnect build + +# edit the configuration file +vim config.json + +# run the application +./polyculeconnect/build/polyculeconnect -config config.json +``` + +### Running from docker image + +```bash +# edit the configuration file +mkdir -p config +vim config/config.json + +# run the docker container +docker run -v ./config/:/config -p 5000:5000 -it git.faercol.me/polyculeconnect/polyculeconnect:latest +``` + +Or using the example docker compose `docker compose up`