diff --git a/app/server/src/main/scala/org/bitcoins/server/Main.scala b/app/server/src/main/scala/org/bitcoins/server/Main.scala index 90bcbd1ec0..533d3e534f 100644 --- a/app/server/src/main/scala/org/bitcoins/server/Main.scala +++ b/app/server/src/main/scala/org/bitcoins/server/Main.scala @@ -1,12 +1,13 @@ package org.bitcoins.server import java.net.InetSocketAddress -import java.nio.file.Files +import java.nio.file.{Files, Paths} import akka.actor.ActorSystem import org.bitcoins.chain.config.ChainAppConfig import org.bitcoins.core.Core import org.bitcoins.core.api.ChainQueryApi +import org.bitcoins.db.AppConfig import org.bitcoins.keymanager.KeyManagerInitializeError import org.bitcoins.keymanager.bip39.BIP39KeyManager import org.bitcoins.node.config.NodeAppConfig @@ -22,7 +23,18 @@ import scala.concurrent.duration._ import scala.concurrent.{Await, Future} object Main extends App { - implicit val conf = BitcoinSAppConfig.fromDefaultDatadir() + implicit val conf = { + val dataDirIndexOpt = args.zipWithIndex + .find(_._1.toLowerCase == "--datadir") + + val datadirPath = dataDirIndexOpt match { + case None => AppConfig.DEFAULT_BITCOIN_S_DATADIR + case Some((_, dataDirIndex)) => + val str = args(dataDirIndex + 1) + Paths.get(str) + } + BitcoinSAppConfig(datadirPath) + } private val logger = HttpLoggerImpl(conf.nodeConf).getLogger diff --git a/docs/applications/server.md b/docs/applications/server.md index 18e873d323..c4e155d50d 100644 --- a/docs/applications/server.md +++ b/docs/applications/server.md @@ -31,6 +31,11 @@ This will produce a script to execute bitcoin-s which you can start with $ ./app/server/target/universal/stage/bin/bitcoin-s-server ``` +If you would like to pass in a custom datadir for your server, you can do + +```bash +./app/server/target/universal/stage/bin/bitcoin-s-server --datadir /path/to/datadir/ +``` For more information on configuring the server please see our [configuration](configuration.md) document For more information on how to use our built in `cli` to interact with the server please see [cli.md](cli.md) \ No newline at end of file