optionnally set datadir with env var
ex: `PHOENIX_DATADIR=/my/phoenix/dir ./phoenixd`
This commit is contained in:
parent
029bd7c162
commit
0432da38e5
@ -5,6 +5,6 @@ import fr.acinq.bitcoin.Chain
|
||||
import fr.acinq.bitcoin.PublicKey
|
||||
import okio.Path
|
||||
|
||||
expect val homeDirectory: Path
|
||||
expect val datadir: Path
|
||||
|
||||
expect fun createAppDbDriver(dir: Path, chain: Chain, nodeId: PublicKey): SqlDriver
|
||||
|
@ -68,8 +68,6 @@ fun main(args: Array<String>) = Phoenixd()
|
||||
.main(args)
|
||||
|
||||
class Phoenixd : CliktCommand() {
|
||||
//private val datadir by option("--datadir", help = "Data directory").convert { it.toPath() }.default(homeDirectory / ".phoenix", defaultForHelp = "~/.phoenix")
|
||||
private val datadir = homeDirectory / ".phoenix"
|
||||
private val confFile = datadir / "phoenix.conf"
|
||||
private val chain by option("--chain", help = "Bitcoin chain to use").choice(
|
||||
"mainnet" to Chain.Mainnet, "testnet" to Chain.Testnet
|
||||
|
@ -0,0 +1,5 @@
|
||||
package fr.acinq.lightning.bin.conf
|
||||
|
||||
object EnvVars {
|
||||
const val PHOENIX_DATADIR = "PHOENIX_DATADIR"
|
||||
}
|
@ -14,7 +14,7 @@ import fr.acinq.bitcoin.Bech32
|
||||
import fr.acinq.bitcoin.ByteVector32
|
||||
import fr.acinq.lightning.BuildVersions
|
||||
import fr.acinq.lightning.bin.conf.readConfFile
|
||||
import fr.acinq.lightning.bin.homeDirectory
|
||||
import fr.acinq.lightning.bin.datadir
|
||||
import fr.acinq.lightning.payment.Bolt11Invoice
|
||||
import fr.acinq.lightning.utils.UUID
|
||||
import io.ktor.client.*
|
||||
@ -40,7 +40,6 @@ fun main(args: Array<String>) =
|
||||
data class HttpConf(val baseUrl: Url, val httpClient: HttpClient)
|
||||
|
||||
class PhoenixCli : CliktCommand() {
|
||||
private val datadir = homeDirectory / ".phoenix"
|
||||
private val confFile = datadir / "phoenix.conf"
|
||||
|
||||
private val httpBindIp by option("--http-bind-ip", help = "Bind ip for the http api").default("127.0.0.1")
|
||||
|
@ -4,11 +4,12 @@ import app.cash.sqldelight.db.SqlDriver
|
||||
import app.cash.sqldelight.driver.jdbc.sqlite.JdbcSqliteDriver
|
||||
import fr.acinq.bitcoin.Chain
|
||||
import fr.acinq.bitcoin.PublicKey
|
||||
import fr.acinq.lightning.bin.conf.EnvVars.PHOENIX_DATADIR
|
||||
import fr.acinq.phoenix.db.PhoenixDatabase
|
||||
import okio.Path
|
||||
import okio.Path.Companion.toPath
|
||||
|
||||
actual val homeDirectory: Path = System.getProperty("user.home").toPath()
|
||||
actual val datadir: Path = (System.getenv()[PHOENIX_DATADIR]?.toPath() ?: System.getProperty("user.home").toPath().div(".phoenix"))
|
||||
|
||||
actual fun createAppDbDriver(dir: Path, chain: Chain, nodeId: PublicKey): SqlDriver {
|
||||
val path = dir / "phoenix.${chain.name.lowercase()}.${nodeId.toHex().take(6)}.db"
|
||||
|
@ -2,6 +2,7 @@ package fr.acinq.lightning.bin
|
||||
|
||||
import app.cash.sqldelight.db.SqlDriver
|
||||
import app.cash.sqldelight.driver.native.NativeSqliteDriver
|
||||
import fr.acinq.lightning.bin.conf.EnvVars.PHOENIX_DATADIR
|
||||
import fr.acinq.phoenix.db.PhoenixDatabase
|
||||
import fr.acinq.bitcoin.Chain
|
||||
import fr.acinq.bitcoin.PublicKey
|
||||
@ -13,7 +14,9 @@ import platform.posix.getenv
|
||||
import platform.posix.setenv
|
||||
|
||||
@OptIn(ExperimentalForeignApi::class)
|
||||
actual val homeDirectory: Path = setenv("KTOR_LOG_LEVEL", "WARN", 1).let { getenv("HOME")?.toKString()!!.toPath() }
|
||||
actual val datadir: Path = setenv("KTOR_LOG_LEVEL", "WARN", 1)
|
||||
.let {
|
||||
getenv(PHOENIX_DATADIR)?.toKString()?.toPath() ?: getenv("HOME")?.toKString()!!.toPath().div(".phoenix") }
|
||||
|
||||
actual fun createAppDbDriver(dir: Path, chain: Chain, nodeId: PublicKey): SqlDriver {
|
||||
return NativeSqliteDriver(PhoenixDatabase.Schema, "phoenix.${chain.name.lowercase()}.${nodeId.toHex().take(6)}.db",
|
||||
|
Loading…
x
Reference in New Issue
Block a user