diff --git a/README.md b/README.md index 595b8f3..a83ba70 100644 --- a/README.md +++ b/README.md @@ -47,6 +47,78 @@ If you are a developer, and want to make changes to the code then we recommend u For more detailed instructions on how to install and update the dashboard, refer to [INSTALLATION.md](INSTALLATION.md). + +## Authentication + +Authentication is disabled by default. To enable Dashboard Authentication please follow the steps below: + +**Set Credentials (Optional):** + +The dashboard uses `admin` and `abc` as the default username and password respectively. It's strongly recommended to change these credentials for enhanced security.: + +- For Docker, navigate to the `deploy` folder or `dashboard` folder if using Source and open the `credentials.yml` file. +- Add or modify the current username / password and save the changes afterward + + ``` + credentials: + usernames: + admin: + email: admin@gmail.com + name: John Doe + logged_in: False + password: abc + cookie: + expiry_days: 0 + key: some_signature_key # Must be string + name: some_cookie_name + pre-authorized: + emails: + - admin@admin.com + ``` + +### Docker + +- Ensure the dashboard container is not running. +- Open the `docker-compose.yml` file within the `deploy` folder using a text editor. +- Locate the environment variable `AUTH_SYSTEM_ENABLED` under the dashboard service configuration. + + ``` + services: + dashboard: + container_name: dashboard + image: hummingbot/dashboard:latest + ports: + - "8501:8501" + environment: + - AUTH_SYSTEM_ENABLED=True + - BACKEND_API_HOST=backend-api + - BACKEND_API_PORT=8000 + ``` +- Change the value of `AUTH_SYSTEM_ENABLED` from `False` to `True`. +- Save the changes to the `docker-compose.yml` file. +- Relaunch Dashboard by running `bash setup.sh` + +### Source + +- Open the `CONFIG.py` file located in the dashboard root folder +- Locate the line `AUTH_SYSTEM_ENABLED = os.getenv("AUTH_SYSTEM_ENABLED", "False").lower() in ("true", "1", "t")`. + + ``` + CERTIFIED_EXCHANGES = ["ascendex", "binance", "bybit", "gate.io", "hitbtc", "huobi", "kucoin", "okx", "gateway"] + CERTIFIED_STRATEGIES = ["xemm", "cross exchange market making", "pmm", "pure market making"] + + AUTH_SYSTEM_ENABLED = os.getenv("AUTH_SYSTEM_ENABLED", "False").lower() in ("true", "1", "t") + + BACKEND_API_HOST = os.getenv("BACKEND_API_HOST", "127.0.0.1") + ``` +- Change the value from `False` to `True` to enable dashboard authentication. +- Save the CONFIG.py file. +- Relaunch dashboard by running `make run` + +### Known Issues +- Refreshing the browser window may log you out and display the login screen again. This is a known issue that might be addressed in future updates. + + ## Latest Updates Stay informed about the latest updates and enhancements to Hummingbot Dashboard by subscribing to our [newsletter](https://hummingbot.substack.com/). diff --git a/credentials.yml b/credentials.yml index e4c3569..53f15be 100644 --- a/credentials.yml +++ b/credentials.yml @@ -2,7 +2,7 @@ credentials: usernames: admin: email: admin@gmail.com - name: Admin User + name: John Doe logged_in: False password: abc cookie: