Discover Our Blog

Cryptocurrency Exchange Installation (Peatio) In Ubuntu System

Cryptocurrency Exchange Installation (Peatio) In Ubuntu System

Peatio is an open source cryptocurrency exchange web application. Here you will be going to have your own cryptocurrency exchange. For the installation of Peatio, you should have a fresh Ubuntu system along with minimum 4GB RAM and 1 TB SSD.



Now Start with the installation of following technology stack required for the peatio configuration and installation.

  1. Redis server

  2. RabbitMQ

  3. MySQL database

  4. Bitcoind

  5. Nginx with Passenger

  6. JavaScript Runtime


Step 01: Install Redis with a stable version

Redis is basically used in peatio for storing session data as well as trading data, that needs to be transferred from one application to another.

sudo apt-get update

sudo apt-get install redis-server


Now you can configure the redis.conf file as per the requirements

sudo nano /etc/redis/redis.conf


Step 02: Install RabbitMQ Server

RabbitMQ is used for exchange the data between servers, applications, and processes.
It uses the Advanced Message Queuing Protocol (AMQP) to exchange the data between peatio and the coin servers like bitcoind, ethereum, rippled, etc.


Install the rabbitmq-server by using the following commands.


sudo apt-get update

sudo apt-get install rabbitmq-server


To start the rabbitmq-server first enable the rabbitmq management plugin and then restart it.


sudo rabbitmq-plugins enable rabbitmq_management


sudo service rabbitmq-server restart


Same like above command we can use start, stop and status for checking the status of rabbitmq-server.


Step03: Install MySQL Database

Here we are going to install the mysql database.

sudo apt-get update

sudo apt-get install mysql-server mysql-client libmysqlclient-dev


Step 04: Installation and Configuration of Bitcoind Server


Bitcoind is a program or daemon which implements bitcoin protocols for remote procedure call (RPC).
When the Bitcoind get installed in the Ubuntu system, it started syncing blocks of blockchain of Bitcoin. Once the difference between the current block and synced block is getting the same then we can make transaction form our local system.


First, install the dependencies then install bitcoind server.

sudo apt-get update

sudo apt-get install bitcoind



Here we can configure the bitcoind server for testnet as well for real Bitcoin network.

mkdir -p ~/.bitcoin

touch ~/.bitcoin/bitcoin.conf

nano ~/.bitcoin/bitcoin.conf


Now insert the following lines into the bitcoin.conf file and replace with your ’s rpcuser and rpcpassword.






# If run on the test network instead of the real Bitcoin network










# Notify when receiving coins


walletnotify=/usr/local/sbin/rabbitmqadmin publish routing_key=peatio.deposit.coin payload='{"txid":"%s", "currency":"btc"}'


Now we can start bitcoind server using the following command or we can use bitcoin-cli for further operations.




Step 05: Nginx Installation

Nginx is an open-source web server which is used for low memory uses and high concurrency. It handles the high numbers of connections and acts as a load balancer to manage traffic and distribute it.

sudo apt-get update

sudo apt-get install nginx

sudo ufw allow 'Nginx HTTP'

systemctl status nginx


Now configure the default config file to setup Nginx with reverse proxy

open file ‘/etc/nginx/sites-available/default’ in an editor and replace the file content with the following








# Make sure to add the next line to /etc/hosts.






server {


server_name http://localhost:3000;


listen 80 default_server;




location ~ ^/(?:trading|trading-ui-assets)\/ {


proxy_pass http://localhost:5000;






location / {


proxy_pass http://localhost:3000;








Make sure to replace http://localhost:3000 with your actual server.


You can verify the syntax of the config file is valid or not.




sudo nginx -t


and then restart the nginx server


sudo systemctl restart nginx


Step 06: Install JavaScript Runtime

The JavaScript Runtime is used for assets pipeline to work.


curl -sL | sudo bash -


sudo apt-get install nodejs


Installation & Configuration of Peatio

First, take the clone of peatio form GitHub


mkdir cryptocurrency_exchange


cd cryptocurrency_exchange


git clone


cd peatio


use rvm 2.5.1


bundle install


now prepare the configuration files




install and run the yarn


npm install -g yarn


bundle exec rake tmp:create yarn:install


Setup bitcoind rpc endpoints


Edit ‘config/seed/currencies.yml’


Replace ‘username:password’ and ‘port’


remember username:password should only contain letters and numbers not email address as a username.


Setup database for peatio


Edit ‘config/database.yml’ replace your database username and password. And run the commands.


bundle exec rake db:create


bundle exec rake db:migrate


bundle exec rake currencies:seed


bundle exec rake markets:seed


Run daemons

in the peatio directory


god -c lib/daemons/daemons.god


you can use commands like god start, god restart and god status daemon


Setup Authentication


By default peatio uses the google authentication, you can also use barong for the authentication.
Change the sign in provider as per your requirement in “/config/application.yml”


Run Peatio

Here we can start the server and run the Peatio application.

bundle exec rails s -p 3000


Here we can see the Peatio is running now.



Leave a comment: