Docker Deployment
Bitcart uses docker for deployment. This allows us to simplify the installation and make Bitcart installable in almost any environment.
Currently Bitcart runs on 2 architectures: amd64 (most PC and servers), arm64 (raspberry pi). Arm32 is not supported officially anymore.
Almost every docker deployment starts like that:
sudo su -
git clone https://github.com/bitcart/bitcart-docker
cd bitcart-docker
# export needed settings, for example
export BITCART_HOST=yourdomain.tld
./setup.shNote the minus sign after su. It is required. If you are deploying on mac os, you don't need to enter the first command. This is to load all settings
There are different environment variables available in order to customize the deployment
Environment variables are set like so:
export VARIABLE_NAME=valueHere are the main ones:
BITCART_HOSTconfigures on which domain Bitcart should run. It is required unless you use any of the methods from local deployment. It works in one domain mode. Your Bitcart Store will be accessible atBITCART_HOST, admin panel at /admin and Merchants API at /api. For other ways of configuration (for example different servers), check the one domain guideBITCART_CRYPTOSconfigures which coins to enable. It is a list of coin symbols separated by commas. By default only btc is enabled. For example, to enable btc and eth, you would runexport BITCART_CRYPTOS=btc,ethBITCART_REVERSEPROXY- configures the reverse proxy used. By defaultnginx-httpsis used (with automatic ssl certificates generation). It might be useful to disable it to access your services directly or you can set it tonginxto disable sslBITCART_ADDITIONAL_COMPONENTS- you can add additional components to your deployment. For example, usingexport BITCART_ADDITIONAL_COMPONENTS=torenables tor.
There are also quite a few settings related to configuring coins in Bitcart. Each coin has the same set of settings you can configure:
COIN_NETWORKchanges on which network the coin runs. For example:export BTC_NETWORK=testnetwould enable testnet in BTC coin with no other changes required!COIN_LIGHTNINGenables lightning network for coins which support it (BTC-based). For BTC you would do:export BTC_LIGHTNING=trueCOIN_DEBUGenables debug mode for daemons to log more information. For exampleexport BCH_DEBUG=trueCOIN_SERVERconfigures the daemon to use exact server you specify instead of connecting to many servers at once. For exampleexport BNB_SERVER=https://bsc-dataseed.binance.orgFor btc-based coins, you can set up your own ElectrumX or Fulcrum server with your own full node. For eth-based coins, server is your full node's RPC url.
For the complete list of configuration settings you can use (to e.g. open some ports, change networks used or anything else), check out full configuration description at bitcart-docker github.
Last updated
Was this helpful?