Sign inSign up

gruelbox/orko

By gruelbox

•Updated over 5 years ago

Orko

Image
1

10K+

gruelbox/orko repository overview

⁠Orko⁠

Fed up of logging into multiple separate cryptocurrency exchanges? Frustrated by missing features? Want to use advanced order types such as trailing stops on exchanges that don't support them? Orko is a self hosted web application which provides a unified dashboard to control numerous cryptocurrency exchanges, allowing you to trade and manage your portfolio, even if it is spread across multiple exchanges, all from one screen. It works seamlessly on desktop and mobile, so you can have the same trading experience wherever you go. All this without sharing your API keys with anyone.

Read more about Orko and the project on GitHub⁠.

⁠Tags

  • stable - The latest official release. While this will only have fully-tested new features, it may sometimes lack fixes to serious issues which have only just been reported.
  • latest - The bleeding-edge development snapshot. May not be stable, but may have a fix to the issue you're seeing.
  • Version numbers - Official releases. Generally it is not advised to use these - stick to stable or latest.

⁠How to use this image

⁠Simple "demo mode"

Start the server:

docker run gruelbox/orko:stable

It is then accessible on port 8080.

⁠With a persistent database

Move the database file out of the container using a volume:

docker run gruelbox/orko:stable -v "./local-directory:/app/db"
⁠With a standalone MySQL database

If you prefer to use a "proper" DB instead of the file-based one (H2), you can use an external MySQL DB. Set the JDBC_URL environment variable:

docker run gruelbox/orko:stable \
  -e JDBC_URL=mysql://user:password@your-host:3306/databasename?rewriteBatchedStatements=true&useJDBCCompliantTimezoneShift=true
⁠With full credentials

Exchange and Telegram credentials can be passed in using one of:

  • Environment variables
  • Docker secrets
  • A full configuration file supplied using a volume.

When using environment variables or Docker secrets, these are substituted into the default configuration file which is included in the image⁠. Here's an example using environment variables:

docker run gruelbox/orko:stable \
  -e TELEGRAM_BOT_TOKEN=YOURTOKEN \
  -e TELEGRAM_CHAT_ID=YOURCHATID \
  -e BINANCE_API_KEY=123412341234123412341324 \
  -e BINANCE_SECRET=897987987987987987987987
 ... etc

Docker secrets are generally named in the form secret-object-scalar and are simply expected to exist as files in /run/secrets inside the container. You can therefore also use volumes to achieve this if you simply wish to avoid setting secrets in the container's environment where it might accidentally get exposed in code.

Alternatively, you can replace docker-config.yml inside the container using a volume:

docker run gruelbox/orko:stable -v "./my-config.yml:/app/docker-config.yml"
⁠As a secure production instance

Creating a secure production server is a complex task not to be undertaken lightly. However, you will find a useful start point at https://github.com/gruelbox/orko-docker-example⁠. This also demonstrates using Orko as part of a stack or swarm using a docker-compose.yml file.

⁠Other uses

Generate a new TOTP code for Google Authenticator:

docker run gruelbox/orko:stable otp --nocheck

Generate a new password hashing salt:

docker run gruelbox/orko:stable salt

Hash a password:

docker run gruelbox/orko:stable hash --salt "SALT" "PASSWORD"

⁠More information

See the Github page: https://github.com/gruelbox/orko⁠

Tag summary

Content type

Image

Digest

Size

141.9 MB

Last updated

over 5 years ago

docker pull gruelbox/orko