1
0

Merge pull request #72 from Kukks/feature/mysql

Isolate postgres and enable mysql & sqlite through docker
This commit is contained in:
Nicolas Dorier
2018-12-07 12:54:06 +09:00
committed by GitHub
10 changed files with 53 additions and 8 deletions

View File

@@ -9,7 +9,6 @@ services:
- "49392"
environment:
# BTCPay settings
BTCPAY_POSTGRES: User ID=postgres;Host=postgres;Port=5432;Database=btcpayserver${NBITCOIN_NETWORK:-regtest}
BTCPAY_NETWORK: ${NBITCOIN_NETWORK:-regtest}
BTCPAY_BIND: 0.0.0.0:49392
BTCPAY_EXTERNALURL: ${BTCPAY_PROTOCOL:-https}://${BTCPAY_HOST}/
@@ -19,7 +18,6 @@ services:
BTCPAY_DEBUGLOG: btcpay.log
links:
- nbxplorer
- postgres
volumes:
- "btcpay_datadir:/datadir"
- "nbxplorer_datadir:/root/.nbxplorer"

View File

@@ -0,0 +1,19 @@
version: "3"
services:
mysql:
restart: unless-stopped
image: mysql:8.0
volumes:
- "mysql_datadir:/var/lib/mysql"
environment:
- MYSQL_ALLOW_EMPTY_PASSWORD="true"
btcpayserver:
environment:
BTCPAY_MYSQL: Server=mysql;Database=btcpayserver${NBITCOIN_NETWORK:-regtest};Uid=root;Pwd=;Port=3306;
links:
- mysql
volumes:
mysql_datadir:

View File

@@ -6,6 +6,11 @@ services:
image: postgres:9.6.5
volumes:
- "postgres_datadir:/var/lib/postgresql/data"
btcpayserver:
environment:
BTCPAY_POSTGRES: User ID=postgres;Host=postgres;Port=5432;Database=btcpayserver${NBITCOIN_NETWORK:-regtest}
links:
- postgres
volumes:
postgres_datadir:

View File

@@ -17,6 +17,12 @@ namespace DockerGenerator
get;
set;
}
public string SelectedDatabase
{
get;
set;
}
public string SelectedLN
{
get;
@@ -39,6 +45,7 @@ namespace DockerGenerator
continue;
composition.SelectedCryptos.Add(selectedCrypto.ToLowerInvariant());
}
composition.SelectedDatabase = (Environment.GetEnvironmentVariable("BTCPAYGEN_DATABASE") ?? "postgtres").ToLowerInvariant();
composition.SelectedProxy = (Environment.GetEnvironmentVariable("BTCPAYGEN_REVERSEPROXY") ?? "").ToLowerInvariant();
composition.SelectedLN = (Environment.GetEnvironmentVariable("BTCPAYGEN_LIGHTNING") ?? "").ToLowerInvariant();
composition.AdditionalFragments = (Environment.GetEnvironmentVariable("BTCPAYGEN_ADDITIONAL_FRAGMENTS") ?? "").ToLowerInvariant()

View File

@@ -8,10 +8,10 @@ namespace DockerGenerator
{
class Program
{
static void Main(string[] args)
{
var root = Environment.GetEnvironmentVariable("INSIDE_CONTAINER") == "1" ? FindRoot("app")
var root = Environment.GetEnvironmentVariable("INSIDE_CONTAINER") == "1"
? FindRoot("app")
: Path.GetFullPath(Path.Combine(FindRoot("docker-compose-generator"), ".."));
var composition = DockerComposition.FromEnvironmentVariables();
@@ -27,7 +27,9 @@ namespace DockerGenerator
private void Run(DockerComposition composition, string name, string output)
{
var fragmentLocation = Environment.GetEnvironmentVariable("INSIDE_CONTAINER") == "1" ? "app" : "docker-compose-generator";
var fragmentLocation = Environment.GetEnvironmentVariable("INSIDE_CONTAINER") == "1"
? "app"
: "docker-compose-generator";
fragmentLocation = FindRoot(fragmentLocation);
fragmentLocation = Path.GetFullPath(Path.Combine(fragmentLocation, "docker-fragments"));
@@ -49,9 +51,14 @@ namespace DockerGenerator
fragments.Add("btcpayserver-noreverseproxy");
break;
}
fragments.Add("btcpayserver");
fragments.Add("nbxplorer");
fragments.Add("postgres");
if (composition.SelectedDatabase != "sqlite")
{
fragments.Add(composition.SelectedDatabase);
}
foreach (var crypto in CryptoDefinition.GetDefinitions())
{
if (!composition.SelectedCryptos.Contains(crypto.Crypto))
@@ -62,6 +69,7 @@ namespace DockerGenerator
{
fragments.Add(crypto.CLightningFragment);
}
if (composition.SelectedLN == "lnd" && crypto.LNDFragment != null)
{
fragments.Add(crypto.LNDFragment);
@@ -94,4 +102,4 @@ namespace DockerGenerator
}
}
}
}
}

View File

@@ -9,7 +9,8 @@
"BTCPAYGEN_CRYPTO3": "btg",
"BTCPAYGEN_CRYPTO2": "ltc",
"BTCPAYGEN_CRYPTO1": "btc",
"BTCPAYGEN_REVERSEPROXY": "nginx"
"BTCPAYGEN_REVERSEPROXY": "nginx",
"BTCPAYGEN_DATABASE": "postgres"
}
}
}