Move Docker instructions to the top level README
This commit is contained in:
		
							parent
							
								
									ce8518ad58
								
							
						
					
					
						commit
						47a6969dc9
					
				
							
								
								
									
										234
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										234
									
								
								README.md
									
									
									
									
									
								
							| @ -14,6 +14,238 @@ Mempool can be self-hosted on a wide variety of your own hardware, ranging from | |||||||
| 4) [Production installation on a powerful FreeBSD server](https://github.com/mempool/mempool/tree/master/production) | 4) [Production installation on a powerful FreeBSD server](https://github.com/mempool/mempool/tree/master/production) | ||||||
| 5) [High Availability cluster using powerful FreeBSD servers](https://github.com/mempool/mempool/tree/master/production#high-availability) | 5) [High Availability cluster using powerful FreeBSD servers](https://github.com/mempool/mempool/tree/master/production#high-availability) | ||||||
| 
 | 
 | ||||||
|  | # Docker Installation | ||||||
|  | 
 | ||||||
|  | The `docker` directory contains the Dockerfiles used to build and release the official images and a `docker-compose.yml` file that is intended for end users to run a Mempool instance with minimal effort. | ||||||
|  | 
 | ||||||
|  | ## bitcoind only configuration | ||||||
|  | 
 | ||||||
|  | To run an instance with the default settings, use the following command: | ||||||
|  | 
 | ||||||
|  | ```bash | ||||||
|  | $ docker-compose up | ||||||
|  | ``` | ||||||
|  | 
 | ||||||
|  | The default configuration will allow you to run Mempool using `bitcoind` as the backend, so address lookups will be disabled. It assumes you have added RPC credentials for the `mempool` user with a `mempool` password in your `bitcoin.conf` file: | ||||||
|  | 
 | ||||||
|  | ``` | ||||||
|  | rpcuser=mempool | ||||||
|  | rpcpassword=mempool | ||||||
|  | ``` | ||||||
|  | 
 | ||||||
|  | If you want to use your current credentials, update them in the `docker-compose.yml` file: | ||||||
|  | 
 | ||||||
|  | ``` | ||||||
|  |   api: | ||||||
|  |     environment: | ||||||
|  |       MEMPOOL_BACKEND: "none" | ||||||
|  |       RPC_HOST: "172.27.0.1" | ||||||
|  |       RPC_PORT: "8332" | ||||||
|  |       RPC_USER: "mempool" | ||||||
|  |       RPC_PASS: "mempool" | ||||||
|  | ``` | ||||||
|  | 
 | ||||||
|  | Note: the IP in the example above refers to Docker's default gateway IP address so the container can hit the `bitcoind` instance running on the host machine. If your setup is different, update it accordingly. | ||||||
|  | 
 | ||||||
|  | You can check if the instance is running by visiting http://localhost - the graphs will be populated as new transactions are detected. | ||||||
|  | 
 | ||||||
|  | ## bitcoind+romanz/electrs configuration | ||||||
|  | 
 | ||||||
|  | In order to run with `romanz/electrs` as the backend, in addition to the settings required for running with `bitcoind` above, you will need to make the following changes to the `docker-compose.yml` file: | ||||||
|  | 
 | ||||||
|  | - Under the `api` service, change the value of the `MEMPOOL_BACKEND` key from `none` to `electrum`: | ||||||
|  | 
 | ||||||
|  | ``` | ||||||
|  |   api: | ||||||
|  |     environment: | ||||||
|  |       MEMPOOL_BACKEND: "none" | ||||||
|  | ``` | ||||||
|  | 
 | ||||||
|  | - Under the `api` service, set the `ELECTRUM_HOST` and `ELECTRUM_PORT` keys to your Docker host IP address and set `ELECTRUM_TLS_ENABLED` to `false`: | ||||||
|  | 
 | ||||||
|  | ``` | ||||||
|  |   api: | ||||||
|  |     environment: | ||||||
|  |       ELECTRUM_HOST: "172.27.0.1" | ||||||
|  |       ELECTRUM_PORT: "50002" | ||||||
|  |       ELECTRUM_TLS: "false" | ||||||
|  | ``` | ||||||
|  | 
 | ||||||
|  | You can update any of the backend settings in the `mempool-config.json` file using the following environment variables to override them. | ||||||
|  | 
 | ||||||
|  | JSON: | ||||||
|  | ``` | ||||||
|  |   "MEMPOOL": { | ||||||
|  |     "NETWORK": "mainnet", | ||||||
|  |     "BACKEND": "electrum", | ||||||
|  |     "HTTP_PORT": 8999, | ||||||
|  |     "SPAWN_CLUSTER_PROCS": 0, | ||||||
|  |     "API_URL_PREFIX": "/api/v1/", | ||||||
|  |     "POLL_RATE_MS": 2000, | ||||||
|  |     "CACHE_DIR": "./cache", | ||||||
|  |     "CLEAR_PROTECTION_MINUTES": 20, | ||||||
|  |     "RECOMMENDED_FEE_PERCENTILE": 50, | ||||||
|  |     "BLOCK_WEIGHT_UNITS": 4000000, | ||||||
|  |     "INITIAL_BLOCKS_AMOUNT": 8, | ||||||
|  |     "MEMPOOL_BLOCKS_AMOUNT": 8, | ||||||
|  |     "PRICE_FEED_UPDATE_INTERVAL": 3600, | ||||||
|  |     "USE_SECOND_NODE_FOR_MINFEE": false, | ||||||
|  |     "EXTERNAL_ASSETS": [] | ||||||
|  |   }, | ||||||
|  | ``` | ||||||
|  | 
 | ||||||
|  | docker-compose overrides:: | ||||||
|  | ``` | ||||||
|  |       MEMPOOL_BACKEND_NETWORK: "" | ||||||
|  |       MEMPOOL_BACKEND: "" | ||||||
|  |       BACKEND_MAINNET_HTTP_PORT: "" | ||||||
|  |       MEMPOOL_SPAWN_CLUSTER_PROCS: "" | ||||||
|  |       MEMPOOL_API_URL_PREFIX: "" | ||||||
|  |       MEMPOOL_POLL_RATE_MS: "" | ||||||
|  |       CACHE_DIR: "" | ||||||
|  |       MEMPOOL_CLEAR_PROTECTION_MINUTES: "" | ||||||
|  |       MEMPOOL_RECOMMENDED_FEE_PERCENTILE: "" | ||||||
|  |       MEMPOOL_BLOCK_WEIGHT_UNITS: "" | ||||||
|  |       MEMPOOL_INITIAL_BLOCKS_AMOUNT: "" | ||||||
|  |       MEMPOOL_BLOCKS_AMOUNT: "" | ||||||
|  |       MEMPOOL_PRICE_FEED_UPDATE_INTERVAL: "" | ||||||
|  |       MEMPOOL_USE_SECOND_NODE_FOR_MINFEE: "" | ||||||
|  |       MEMPOOL_EXTERNAL_ASSETS: "" | ||||||
|  | ``` | ||||||
|  | 
 | ||||||
|  | JSON: | ||||||
|  | ``` | ||||||
|  | "CORE_RPC": { | ||||||
|  |     "HOST": "127.0.0.1", | ||||||
|  |     "PORT": 8332, | ||||||
|  |     "USERNAME": "mempool", | ||||||
|  |     "PASSWORD": "mempool" | ||||||
|  |   }, | ||||||
|  | ``` | ||||||
|  | docker-compose overrides: | ||||||
|  | ``` | ||||||
|  |       RPC_HOST: "" | ||||||
|  |       RPC_PORT: "" | ||||||
|  |       RPC_USER: "" | ||||||
|  |       RPC_PASS: "" | ||||||
|  | ``` | ||||||
|  | 
 | ||||||
|  | JSON: | ||||||
|  | ``` | ||||||
|  |   "ELECTRUM": { | ||||||
|  |     "HOST": "127.0.0.1", | ||||||
|  |     "PORT": 50002, | ||||||
|  |     "TLS_ENABLED": true | ||||||
|  |   }, | ||||||
|  | ``` | ||||||
|  | 
 | ||||||
|  | docker-compose overrides: | ||||||
|  | ``` | ||||||
|  |       ELECTRUM_HOST: "" | ||||||
|  |       ELECTRUM_PORT: "" | ||||||
|  |       ELECTRUM_TLS: "" | ||||||
|  | ``` | ||||||
|  | 
 | ||||||
|  | JSON: | ||||||
|  | ``` | ||||||
|  |   "ESPLORA": { | ||||||
|  |     "REST_API_URL": "http://127.0.0.1:3000" | ||||||
|  |   }, | ||||||
|  | ``` | ||||||
|  | docker-compose overrides: | ||||||
|  | ``` | ||||||
|  |       ESPLORA_REST_API_URL: "" | ||||||
|  | ``` | ||||||
|  | 
 | ||||||
|  | JSON: | ||||||
|  | ``` | ||||||
|  |   "SECOND_CORE_RPC": { | ||||||
|  |     "HOST": "127.0.0.1", | ||||||
|  |     "PORT": 8332, | ||||||
|  |     "USERNAME": "mempool", | ||||||
|  |     "PASSWORD": "mempool" | ||||||
|  |   }, | ||||||
|  | ``` | ||||||
|  | 
 | ||||||
|  | docker-compose overrides: | ||||||
|  | ``` | ||||||
|  |       SECOND_RPC_HOST: "" | ||||||
|  |       SECOND_RPC_PORT: "" | ||||||
|  |       SECOND_RPC_USER: "" | ||||||
|  |       SECOND_RPC_PASS: "" | ||||||
|  | ``` | ||||||
|  | 
 | ||||||
|  | JSON: | ||||||
|  | ``` | ||||||
|  |   "DATABASE": { | ||||||
|  |     "ENABLED": true, | ||||||
|  |     "HOST": "127.0.0.1", | ||||||
|  |     "PORT": 3306, | ||||||
|  |     "DATABASE": "mempool", | ||||||
|  |     "USERNAME": "mempool", | ||||||
|  |     "PASSWORD": "mempool" | ||||||
|  |   }, | ||||||
|  | ``` | ||||||
|  | 
 | ||||||
|  | docker-compose overrides: | ||||||
|  | ``` | ||||||
|  |       MYSQL_ENABLED: "" | ||||||
|  |       MYSQL_HOST: "" | ||||||
|  |       MYSQL_PORT: "" | ||||||
|  |       MYSQL_DATABASE: "" | ||||||
|  |       MYSQL_USER: "" | ||||||
|  |       MYSQL_PASS: "" | ||||||
|  | ``` | ||||||
|  | 
 | ||||||
|  | JSON: | ||||||
|  | ``` | ||||||
|  |   "SYSLOG": { | ||||||
|  |     "ENABLED": true, | ||||||
|  |     "HOST": "127.0.0.1", | ||||||
|  |     "PORT": 514, | ||||||
|  |     "MIN_PRIORITY": "info", | ||||||
|  |     "FACILITY": "local7" | ||||||
|  |   }, | ||||||
|  | ``` | ||||||
|  | 
 | ||||||
|  | docker-compose overrides: | ||||||
|  | ``` | ||||||
|  |       SYSLOG_ENABLED: "" | ||||||
|  |       SYSLOG_HOST: "" | ||||||
|  |       SYSLOG_PORT: "" | ||||||
|  |       SYSLOG_MIN_PRIORITY: "" | ||||||
|  |       SYSLOG_FACILITY: "" | ||||||
|  | ``` | ||||||
|  | 
 | ||||||
|  | JSON: | ||||||
|  | ``` | ||||||
|  |   "STATISTICS": { | ||||||
|  |     "ENABLED": true, | ||||||
|  |     "TX_PER_SECOND_SAMPLE_PERIOD": 150 | ||||||
|  |   }, | ||||||
|  | ``` | ||||||
|  | 
 | ||||||
|  | docker-compose overrides: | ||||||
|  | ``` | ||||||
|  |       STATISTICS_ENABLED: "" | ||||||
|  |       STATISTICS_TX_PER_SECOND_SAMPLE_PERIOD: "" | ||||||
|  | ``` | ||||||
|  | 
 | ||||||
|  | JSON: | ||||||
|  | ``` | ||||||
|  |   "BISQ": { | ||||||
|  |     "ENABLED": false, | ||||||
|  |     "DATA_PATH": "/bisq/statsnode-data/btc_mainnet/db" | ||||||
|  |   } | ||||||
|  | ``` | ||||||
|  | 
 | ||||||
|  | docker-compose overrides: | ||||||
|  | ``` | ||||||
|  |       BISQ_ENABLED: "" | ||||||
|  |       BISQ_DATA_PATH: "" | ||||||
|  | ``` | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
| # Manual Installation | # Manual Installation | ||||||
| 
 | 
 | ||||||
| The following instructions are for a manual installation on Linux or FreeBSD. The file and directory paths may need to be changed to match your OS. | The following instructions are for a manual installation on Linux or FreeBSD. The file and directory paths may need to be changed to match your OS. | ||||||
| @ -158,7 +390,7 @@ Install mempool dependencies from npm and build the frontend static HTML/CSS/JS: | |||||||
| Install the output into nginx webroot folder: | Install the output into nginx webroot folder: | ||||||
| 
 | 
 | ||||||
| ```bash | ```bash | ||||||
|   sudo rsync -av --delete dist/mempool/ /var/www/ |   sudo rsync -av --delete dist/ /var/www/ | ||||||
| ``` | ``` | ||||||
| 
 | 
 | ||||||
| ## nginx + certbot | ## nginx + certbot | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user