Skip to content

About

No description, website, or topics provided.

Resources

Stars

101 stars

Watchers

11 watching

Forks

Repository files navigation

Exchanges dashboard

This repository is meant to provide an easy-to-run (local) web-UI that provides insight into your account(s) activities on exchanges. It uses a custom script to retrieve data from one or more exchanges (via websocket and/or REST), which is then inserted into a database (sqlite by default). A metabase container is then launched with a default configuration to display this information.

Screenshots

Overview of the dashboard: Futures

When a value is entered in the DCA field (top left), the DCA quantity and the DCA price (x% above the current price) will be displayed in the additional fields in the table. DCA

Metabase configuration:

Credentials

  • First name: First
  • Last name: Last
  • Email: exchanges@dashboard.com
  • Password: ExchangesDashboard1!
  • Department: Department of Awesome

Database

  • Database type: SQLite
  • Name: Exchanges
  • Filename: /data/exchanges_db.sqlite

Starting the dashboard

  • Clone this repo:
    • git clone https://github.com/hoeckxer/exchanges_dashboard.git
  • Copy the config.example.json to config.json
    • cp config.example.json config.json
  • Enter the api-key & secret
    • nano config.json
  • Start the dashboard
    • Run docker compose up -d
  • Go to http://localhost:30000

Remote access via SSH tunnel

Metabase is bound to 127.0.0.1 (localhost only) and is not exposed to the public internet. This is intentional — Metabase has had multiple critical CVEs including pre-auth remote code execution vulnerabilities (e.g. CVE-2023-38646, CVE-2023-37470, CVE-2023-32680). Exposing Metabase directly to the internet is a significant security risk.

To access the dashboard from another machine, use an SSH tunnel:

ssh -L 30000:localhost:30000 user@your-server-ip

Then open http://localhost:30000 in your browser. The dashboard is accessible as long as the SSH session is open.

WARNING: If you change the config.json file, make sure you rebuild the container using docker-compose up -d --build
INFO: If you get a message about $PWD being unknown, replace $PWD the docker-compose.yaml file with the full path

Stopping the dashboard

  • Run docker-compose stop

Multiple dashboard

  • If you want to deploy a second dashboard instance on the same machine, please clone the repo and update the config.json and docker-compose.yaml files.
  • In the docker-compose.yaml you'll have to modify container names, exposed port and network interface. An example is provided in docker-compose.yaml.example-second-dashboard

Running on Raspberry Pi

  • The metabase image is built for x86. Therefore, on Raspberry Pi, a new image needs to be created using an ARM based image.
  • I created a Dockerfile that creates this kind of image, which supposed to be identical to the metabase one.
  • To use the new image, replace line 13 of docker-compose.yml from image: metabase/metabase:latest to build: metabase_rpi

About

No description, website, or topics provided.

Resources

Stars

101 stars

Watchers

11 watching

Forks

Releases

Packages

Used by

Contributors

Languages