mirror of
https://github.com/aljazceru/btcpayserver-docker.git
synced 2026-01-18 21:14:30 +01:00
Merge branch 'Kukks-feature/docker-builder'
This commit is contained in:
20
README.md
20
README.md
@@ -270,19 +270,23 @@ BTCPAY_SSHKEYFILE=/datadir/id_rsa
|
||||
1. Add support for your crypto to [NBitcoin](https://github.com/MetacoSA/NBitcoin/tree/master/NBitcoin.Altcoins), [NBxplorer](https://github.com/dgarage/NBXplorer), and [BTCPayServer](https://github.com/btcpayserver/btcpayserver). (Use examples from other coins)
|
||||
2. Create your own docker image ([Example for BTC](https://hub.docker.com/r/nicolasdorier/docker-bitcoin/))
|
||||
3. Create a docker-compose fragment ([Example for BTC](docker-compose-generator/docker-fragments/bitcoin.yml))
|
||||
4. Add your CryptoDefinition ([Example for BTC](docker-compose-generator/src/CryptoDefinition.cs))
|
||||
4. Add your `CryptoDefinition` ([Example for BTC](docker-compose-generator/src/CryptoDefinition.cs))
|
||||
|
||||
When testing your coin, **DO NOT USE `build.sh`**, since it uses a pre-built docker image.
|
||||
|
||||
Instead, install [.NET Core 2.1 SDK](https://www.microsoft.com/net/download/windows) and run:
|
||||
`build.sh` is using a pre-built image of the `docker-compose generator` on [docker hub](https://hub.docker.com/r/btcpayserver/docker-compose-generator/).
|
||||
If you modify the code source of `docker-compose generator` (for example, the `CryptoDefinition` [Example for BTC](docker-compose-generator/src/CryptoDefinition.cs)), you need to configure `build.sh` to use your own image by setting the environment variable `BTCPAYGEN_DOCKER_IMAGE` to `btcpayserver/docker-compose-generator:local`.
|
||||
|
||||
```bash
|
||||
BTCPAYGEN_CRYPTO1="EXAMPLE-COIN"
|
||||
BTCPAYGEN_SUBNAME="test"
|
||||
cd docker-compose-generator/src
|
||||
dotnet run
|
||||
cd docker-compose-generator
|
||||
BTCPAYGEN_DOCKER_IMAGE="btcpayserver/docker-compose-generator:local"
|
||||
```
|
||||
|
||||
Or on powershell:
|
||||
```powershell
|
||||
cd docker-compose-generator
|
||||
$BTCPAYGEN_DOCKER_IMAGE="btcpayserver/docker-compose-generator:local"
|
||||
```
|
||||
|
||||
Then run `./build.sh` or `. .\build.ps1`.
|
||||
This will generate your docker-compose in the `Generated` folder, which you can then run and test.
|
||||
|
||||
Note that BTCPayServer developers will not spend excessive time testing your image, so make sure it works.
|
||||
|
||||
11
build.ps1
11
build.ps1
@@ -1,6 +1,13 @@
|
||||
# This script will run docker-compose-generator in a container to generate the yml files
|
||||
|
||||
docker pull btcpayserver/docker-compose-generator
|
||||
If (-not ($BTCPAYGEN_DOCKER_IMAGE)) { $BTCPAYGEN_DOCKER_IMAGE = "btcpayserver/docker-compose-generator" }
|
||||
|
||||
If ($BTCPAYGEN_DOCKER_IMAGE -eq "btcpayserver/docker-compose-generator:local"){
|
||||
docker build docker-compose-generator --tag $BTCPAYGEN_DOCKER_IMAGE
|
||||
} Else {
|
||||
docker pull $BTCPAYGEN_DOCKER_IMAGE
|
||||
}
|
||||
|
||||
docker run -v "$(Get-Location)\Generated:/app/Generated" `
|
||||
-v "$(Get-Location)\docker-compose-generator\docker-fragments:/app/docker-fragments" `
|
||||
-e "BTCPAYGEN_CRYPTO1=$BTCPAYGEN_CRYPTO1" `
|
||||
@@ -16,7 +23,7 @@ docker run -v "$(Get-Location)\Generated:/app/Generated" `
|
||||
-e "BTCPAYGEN_ADDITIONAL_FRAGMENTS=$BTCPAYGEN_ADDITIONAL_FRAGMENTS" `
|
||||
-e "BTCPAYGEN_LIGHTNING=$BTCPAYGEN_LIGHTNING" `
|
||||
-e "BTCPAYGEN_SUBNAME=$BTCPAYGEN_SUBNAME" `
|
||||
--rm btcpayserver/docker-compose-generator
|
||||
--rm $BTCPAYGEN_DOCKER_IMAGE
|
||||
|
||||
If ($BTCPAYGEN_REVERSEPROXY -eq "nginx") {
|
||||
Copy-Item ".\Production\nginx.tmpl" -Destination ".\Generated"
|
||||
|
||||
11
build.sh
11
build.sh
@@ -1,7 +1,14 @@
|
||||
#!/bin/bash
|
||||
|
||||
: "${BTCPAYGEN_DOCKER_IMAGE:=btcpayserver/docker-compose-generator}"
|
||||
if [ "$BTCPAYGEN_DOCKER_IMAGE" == "btcpayserver/docker-compose-generator:local" ]
|
||||
then
|
||||
docker build docker-compose-generator --tag $BTCPAYGEN_DOCKER_IMAGE
|
||||
else
|
||||
docker pull $BTCPAYGEN_DOCKER_IMAGE
|
||||
fi
|
||||
|
||||
# This script will run docker-compose-generator in a container to generate the yml files
|
||||
docker pull btcpayserver/docker-compose-generator
|
||||
docker run -v "$(pwd)/Generated:/app/Generated" \
|
||||
-v "$(pwd)/docker-compose-generator/docker-fragments:/app/docker-fragments" \
|
||||
-e "BTCPAYGEN_CRYPTO1=$BTCPAYGEN_CRYPTO1" \
|
||||
@@ -17,7 +24,7 @@ docker run -v "$(pwd)/Generated:/app/Generated" \
|
||||
-e "BTCPAYGEN_ADDITIONAL_FRAGMENTS=$BTCPAYGEN_ADDITIONAL_FRAGMENTS" \
|
||||
-e "BTCPAYGEN_LIGHTNING=$BTCPAYGEN_LIGHTNING" \
|
||||
-e "BTCPAYGEN_SUBNAME=$BTCPAYGEN_SUBNAME" \
|
||||
--rm btcpayserver/docker-compose-generator
|
||||
--rm $BTCPAYGEN_DOCKER_IMAGE
|
||||
|
||||
if [ "$BTCPAYGEN_REVERSEPROXY" == "nginx" ]; then
|
||||
cp Production/nginx.tmpl Generated/nginx.tmpl
|
||||
|
||||
Reference in New Issue
Block a user