helium / console

A management console to onboard and manage devices running on the Helium blockchain network.
Apache License 2.0
104 stars 31 forks source link
blockchain elixir graphql lorawan phoenix react

Console

Code that powers the official Helium Console.

Development and Contribution

Any and all contributions from the community are encouraged.

Common setup steps for Docker

cp templates/.env .env
cp templates/.env-router .env-router

Option 1: Running Console+Router with prebuilt Console image

cp templates/docker-compose-quay.yaml docker-compose.yaml
cp templates/nginx-default.conf nginx.conf

Option 2: Running Console+Router and build your own Console image

cp templates/docker-compose-server.yaml docker-compose.yaml
cp templates/nginx-default.conf nginx.conf

Option 3: Running Console+Router with Docker locally

cp templates/docker-compose-local.yaml docker-compose.yaml

Now you can visit localhost:4000 from your browser.

Opt in to use an IP Filter for Stripe Transactions

In the event that Stripe requires you to restrict credit card payments to certain countries or cities, you may opt in to use the IP filter implemented in the ConsoleWeb.IPFilter module.

To do so, please obtain a MaxMind key and download the database onto the host machine: (https://download.maxmind.com/app/geoip_download?edition_id=GeoLite2-City&suffix=tar.gz&license_key=${MAXMIND_KEY})

Please note you'll have to regularly update this database.

In your docker-compose file under console, add the following:

volumes:
  - "/host/path/to/GeoLite2-City.mmdb:/app/GeoLite2-City.mmdb"

Then, you may set the following variables in your .env file.

UNSUPPORTED_COUNTRIES=CU,IR,KP,SY,RU # or a comma-separated list of the ISO Alpha-2 codes of countries to be restricted
UNSUPPORTED_CITIES=Luhansk,Donetsk # or a comma-separated list of the names of cities to be restricted
UNSUPPORTED_UKR_SUBDIVISIONS=43,40 # or a comma-separated list of the ISO codes for Ukranian subdivisions to be restricted

Upgrading your open source Console+Router (Applies to Option 1 only)

Upgrading your open source Console+Router (Applies to Option 2 and 3 only)

Keep your Console invite only

Customizing your Console branding

Running Console Development Environment without Router

To start your Phoenix server:

Now you can visit localhost:4000 from your browser.

Questions

If you run into any issues or you have any questions about how to get started contributing, feel free to reach out on the #console channel in the official Helium Community Discord server!