mirror of
https://github.com/Retropex/btcpayserver-docker.git
synced 2025-05-12 13:00:41 +02:00
Feat/fireflyiii (#344)
* Adding Firefly-iii opt fragment * Adding environment variable to force creation of db * Instructing postgres to create database * Switching exposing default port, running create db command * Remove grep command for postgres container * Removing database creation on postgres container start * Adding required App Key env variable * Updating nginx rewriting * Updating firefly nginx confugration traying to make it work with subdirectory https://github.com/firefly-iii/firefly-iii/issues/2848#issuecomment-557845301 * Trying to rewrite * Reconfiguring nginx to pass headers * Updating docker fragment * Last try * Allowing firefly iii to be hosted on other domain * Fixing docker compose env variables * Exposing ports for external communication * Ports exposing * Updating firefly host reference * Matching service name and VIRTUAL_HOST_NAME * Getting nginx to redirect to port 8080 * update and adapt * Adapt firefly to be with dedicated domain * Adapt Docker file builder to support non github builds * Make firefly init create db only if not exists + run full recommended upgrade procedure Co-authored-by: rockstardev <rockstardev@users.noreply.github.com>
This commit is contained in:
parent
8dfd554f58
commit
d09338b2e5
@ -125,6 +125,7 @@ Additionally, there are specific environment variables for some addons:
|
||||
* `EPS_XPUB`: If Electrum Personal Server (EPS) is activated with [opt-add-electrum-ps](docker-compose-generator/docker-fragments/opt-add-electrum-ps.yml), you must set the Extended Public Key (XPUB, YPUB or ZPUB) of the wallet you want to use, before first run of the EPS server. If you accidently start EPS without this, it will not work properly as the model of EPS is to monitor only specified wallets.
|
||||
* If Bitcoin Wallet Tracker is activated with [opt-add-bwt](docker-compose-generator/docker-fragments/opt-add-bwt.yml), you can use `BWT_XPUB`/`BWT_XPUB_*` (to set your XPUB/YPUB/ZPUB), `BWT_DESCRIPTOR`/`BWT_DESCRIPTOR_*` (for script descriptors), `BWT_RESCAN_SINCE` (set to the wallet creation date in YYYY-MM-DD to speed up the rescan), `BWT_BITCOIND_WALLET` and `BWT_GAP_LIMIT`.
|
||||
* `LND_WTCLIENT_SWEEP_FEE`: If LND watchtower is activated with [opt-lnd-wtclient](docker-compose-generator/docker-fragments/opt-lnd-wtclient.yml), you can use `LND_WTCLIENT_SWEEP_FEE` to change the sweep fee used in constructing the justice transaction (default is 10 sat/byte)
|
||||
* `FIREFLY_HOST`: If fireflyiii is activated with [opt-add-fireflyiii](docker-compose-generator/docker-fragments/opt-add-fireflyiii.yml), the hostname of your fireflyiii website (eg. `firefly.example.com`)
|
||||
# Tooling
|
||||
|
||||
A wide variety of useful scripts are available once BTCPay is installed:
|
||||
@ -181,6 +182,7 @@ Available `BTCPAYGEN_ADDITIONAL_FRAGMENTS` currently are:
|
||||
* [opt-add-teos](docker-compose-generator/docker-fragments/opt-add-teos.yml) for [The Eye Of Satoshi](https://github.com/talaia-labs/python-teos), a BOLT13 Lightning Watchtower. Use port 9814 on your server or Tor to connect.
|
||||
* [opt-add-zammad](docker-compose-generator/docker-fragments/opt-add-zammad.yml) for [Zammad](https://zammad.com/features), a web based open source helpdesk/customer support system with many features to manage customer communication via several channels like telephone, facebook, twitter, chat and e-mails
|
||||
* [opt-monero-expose](docker-compose-generator/docker-fragments/opt-monero-expose.yml) to expose monero node's RPC port at 127.0.0.1:18081 to connect your own wallet. Use f.e. ssh port forwarding to forward to your own computer.
|
||||
* [opt-add-fireflyiii](docker-compose-generator/docker-fragments/opt-add-fireflyiii.yml) ([See the documentation](docs/fireflyiii.md))
|
||||
|
||||
You can also create your own [custom fragments](#how-can-i-customize-the-generated-docker-compose-file).
|
||||
|
||||
@ -372,6 +374,7 @@ We are trying to update our dependencies to run on `arm32v7` and `x64` boards. H
|
||||
| jvandrew/btcqbo | 0.3.36 | [✔️](https://raw.githubusercontent.com/JeffVandrewJr/btcqbo/v0.3.36/Dockerfile) | ️❌ | ️❌ | [Github](https://github.com/JeffVandrewJr/btcqbo) - [DockerHub](https://hub.docker.com/r/jvandrew/btcqbo) |
|
||||
| shesek/bwt | 0.2.2-electrum | [✔️](https://raw.githubusercontent.com/bwt-dev/bwt/v0.2.2/docker/Dockerfile) | [✔️](https://raw.githubusercontent.com/bwt-dev/bwt/v0.2.2/docker/arm32v7.Dockerfile) | [✔️](https://raw.githubusercontent.com/bwt-dev/bwt/v0.2.2/docker/arm64v8.Dockerfile) | [Github](https://github.com/bwt-dev/bwt) - [DockerHub](https://hub.docker.com/r/shesek/bwt) |
|
||||
| lukechilds/electrumx | latest | [✔️](https://raw.githubusercontent.com/lukechilds/docker-electrumx/master/Dockerfile) | ️❌ | ️❌ | [Github](https://github.com/lukechilds/docker-electrumx) - [DockerHub](https://hub.docker.com/r/lukechilds/electrumx) |
|
||||
| fireflyiii/core | latest | [✔️](https://dev.azure.com/Firefly-III/66fb773b-063e-42d7-b6a5-e7729a22e8b3/_apis/git/repositories/e9c3dcf8-4533-4ef1-83cc-75527cab3377/items?path=%2FDockerfile&versionDescriptor%5BversionOptions%5D=0&versionDescriptor%5BversionType%5D=0&versionDescriptor%5Bversion%5D=main&resolveLfs=true&%24format=octetStream&api-version=5.0&download=true) | [✔️](https://dev.azure.com/Firefly-III/66fb773b-063e-42d7-b6a5-e7729a22e8b3/_apis/git/repositories/e9c3dcf8-4533-4ef1-83cc-75527cab3377/items?path=%2FDockerfile&versionDescriptor%5BversionOptions%5D=0&versionDescriptor%5BversionType%5D=0&versionDescriptor%5Bversion%5D=main&resolveLfs=true&%24format=octetStream&api-version=5.0&download=true) | [✔️](https://dev.azure.com/Firefly-III/66fb773b-063e-42d7-b6a5-e7729a22e8b3/_apis/git/repositories/e9c3dcf8-4533-4ef1-83cc-75527cab3377/items?path=%2FDockerfile&versionDescriptor%5BversionOptions%5D=0&versionDescriptor%5BversionType%5D=0&versionDescriptor%5Bversion%5D=main&resolveLfs=true&%24format=octetStream&api-version=5.0&download=true) | [Github](https://dev.azure.com/Firefly-III/_git/MainImage) - [DockerHub](https://hub.docker.com/r/fireflyiii/core) |
|
||||
| jvandrew/librepatron | 0.7.39 | [✔️](https://raw.githubusercontent.com/JeffVandrewJr/patron/v0.7.39/Dockerfile) | ️❌ | ️❌ | [Github](https://github.com/JeffVandrewJr/patron) - [DockerHub](https://hub.docker.com/r/jvandrew/librepatron) |
|
||||
| jvandrew/isso | atron.22 | [✔️](https://raw.githubusercontent.com/JeffVandrewJr/isso/patron.22/Dockerfile) | ️❌ | ️❌ | [Github](https://github.com/JeffVandrewJr/isso) - [DockerHub](https://hub.docker.com/r/jvandrew/isso) |
|
||||
| sphinxlightning/sphinx-relay | v2.2.0 | [✔️](https://raw.githubusercontent.com/stakwork/sphinx-relay/v2.2.0/Dockerfile) | ️❌ | [✔️](https://raw.githubusercontent.com/stakwork/sphinx-relay/v2.2.0/Dockerfile) | [Github](https://github.com/stakwork/sphinx-relay) - [DockerHub](https://hub.docker.com/r/sphinxlightning/sphinx-relay) |
|
||||
|
11
Tools/fireflyiii/init.sh
Executable file
11
Tools/fireflyiii/init.sh
Executable file
@ -0,0 +1,11 @@
|
||||
#!/bin/bash
|
||||
|
||||
|
||||
[[ $(docker exec $(docker ps -a -q -f "name=postgres_1") psql -U postgres -tc "SELECT 1 FROM pg_database WHERE datname = 'fireflyiii'") =~ "1" ]] || docker exec $(docker ps -a -q -f "name=postgres_1") psql -U postgres -c "CREATE DATABASE fireflyiii"
|
||||
docker exec generated_fireflyiii_1 php artisan migrate --seed
|
||||
docker exec generated_fireflyiii_1 php artisan firefly-iii:decrypt-all
|
||||
docker exec generated_fireflyiii_1 php artisan cache:clear
|
||||
docker exec generated_fireflyiii_1 php artisan firefly-iii:upgrade-database
|
||||
docker exec generated_fireflyiii_1 php artisan passport:install
|
||||
docker exec generated_fireflyiii_1 php artisan cache:clear
|
||||
exit 0
|
@ -107,6 +107,7 @@ Add-on specific variables:
|
||||
BTCTRANSMUTER_HOST: If btc transmuter is activated with opt-add-btctransmuter, the hostname of your btc transmuter website (eg. store.example.com)
|
||||
TOR_RELAY_NICKNAME: If tor relay is activated with opt-add-tor-relay, the relay nickname
|
||||
TOR_RELAY_EMAIL: If tor relay is activated with opt-add-tor-relay, the email for Tor to contact you regarding your relay
|
||||
FIREFLY_HOST: If fireflyiii is activated with opt-add-fireflyiii, the hostname of your libre patron website (eg. firefly.example.com)
|
||||
END
|
||||
}
|
||||
START=""
|
||||
@ -309,6 +310,7 @@ ACME_CA_URI:$ACME_CA_URI
|
||||
TOR_RELAY_NICKNAME: $TOR_RELAY_NICKNAME
|
||||
TOR_RELAY_EMAIL: $TOR_RELAY_EMAIL
|
||||
PIHOLE_SERVERIP: $PIHOLE_SERVERIP
|
||||
FIREFLY_HOST: $FIREFLY_HOST
|
||||
----------------------
|
||||
Additional exported variables:
|
||||
BTCPAY_DOCKER_COMPOSE=$BTCPAY_DOCKER_COMPOSE
|
||||
|
@ -14,10 +14,10 @@ namespace DockerFileBuildHelper
|
||||
public string GitRef { get; set; }
|
||||
public bool SupportedByUs { get; set; }
|
||||
public Image Image { get; internal set; }
|
||||
|
||||
public string RawLink { get; set; }
|
||||
public string GetGithubLinkOf(string path)
|
||||
{
|
||||
return $"https://raw.githubusercontent.com/{GitLink.Substring("https://github.com/".Length)}/{GitRef}/{path}";
|
||||
return RawLink ?? $"https://raw.githubusercontent.com/{GitLink.Substring("https://github.com/".Length)}{(GitRef is null ? string.Empty : ("/" + GitRef))}/{path}";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -636,6 +636,15 @@ namespace DockerFileBuildHelper
|
||||
dockerInfo.GitLink = "https://github.com/BlueWallet/LndHub";
|
||||
dockerInfo.GitRef = $"{image.Tag.Split("@")[0]}";
|
||||
break;
|
||||
case "fireflyiii/core":
|
||||
dockerInfo.DockerFilePath = $"Dockerfile";
|
||||
dockerInfo.DockerFilePathARM32v7 = $"Dockerfile";
|
||||
dockerInfo.DockerFilePathARM64v8 = $"Dockerfile";
|
||||
dockerInfo.GitLink = "https://dev.azure.com/Firefly-III/_git/MainImage";
|
||||
dockerInfo.RawLink = "https://dev.azure.com/Firefly-III/66fb773b-063e-42d7-b6a5-e7729a22e8b3/_apis/git/repositories/e9c3dcf8-4533-4ef1-83cc-75527cab3377/items?path=%2FDockerfile&versionDescriptor%5BversionOptions%5D=0&versionDescriptor%5BversionType%5D=0&versionDescriptor%5Bversion%5D=main&resolveLfs=true&%24format=octetStream&api-version=5.0&download=true";
|
||||
|
||||
dockerInfo.GitRef = null;
|
||||
break;
|
||||
default:
|
||||
if (firstTry)
|
||||
{
|
||||
|
@ -673,6 +673,22 @@ docker build -f "$DOCKERFILE" -t "lukechilds/electrumx:latest" .
|
||||
cd - && cd ..
|
||||
|
||||
|
||||
# Build core
|
||||
# https://dev.azure.com/Firefly-III/66fb773b-063e-42d7-b6a5-e7729a22e8b3/_apis/git/repositories/e9c3dcf8-4533-4ef1-83cc-75527cab3377/items?path=%2FDockerfile&versionDescriptor%5BversionOptions%5D=0&versionDescriptor%5BversionType%5D=0&versionDescriptor%5Bversion%5D=main&resolveLfs=true&%24format=octetStream&api-version=5.0&download=true
|
||||
DOCKERFILE="Dockerfile"
|
||||
# https://dev.azure.com/Firefly-III/66fb773b-063e-42d7-b6a5-e7729a22e8b3/_apis/git/repositories/e9c3dcf8-4533-4ef1-83cc-75527cab3377/items?path=%2FDockerfile&versionDescriptor%5BversionOptions%5D=0&versionDescriptor%5BversionType%5D=0&versionDescriptor%5Bversion%5D=main&resolveLfs=true&%24format=octetStream&api-version=5.0&download=true
|
||||
[[ "$(uname -m)" == "armv7l" ]] && DOCKERFILE="Dockerfile"
|
||||
# https://dev.azure.com/Firefly-III/66fb773b-063e-42d7-b6a5-e7729a22e8b3/_apis/git/repositories/e9c3dcf8-4533-4ef1-83cc-75527cab3377/items?path=%2FDockerfile&versionDescriptor%5BversionOptions%5D=0&versionDescriptor%5BversionType%5D=0&versionDescriptor%5Bversion%5D=main&resolveLfs=true&%24format=octetStream&api-version=5.0&download=true
|
||||
[[ "$(uname -m)" == "aarch64" ]] && DOCKERFILE="Dockerfile"
|
||||
echo "Building fireflyiii/core:latest"
|
||||
git clone https://dev.azure.com/Firefly-III/_git/MainImage core
|
||||
cd core
|
||||
git checkout
|
||||
cd "$(dirname $DOCKERFILE)"
|
||||
docker build -f "$DOCKERFILE" -t "fireflyiii/core:latest" .
|
||||
cd - && cd ..
|
||||
|
||||
|
||||
# Build librepatron
|
||||
# https://raw.githubusercontent.com/JeffVandrewJr/patron/v0.7.39/Dockerfile
|
||||
DOCKERFILE="Dockerfile"
|
||||
|
@ -0,0 +1,32 @@
|
||||
version: '3'
|
||||
|
||||
services:
|
||||
fireflyiii:
|
||||
image: fireflyiii/core:latest
|
||||
environment:
|
||||
- APP_ENV=local
|
||||
- APP_KEY=MustBe32DropDbAndChangeItIfUWant
|
||||
- APP_URL=http://${FIREFLY_HOST}
|
||||
- TRUSTED_PROXIES=**
|
||||
- DB_CONNECTION=pgsql
|
||||
- DB_HOST=postgres
|
||||
- DB_PORT=5432
|
||||
- DB_DATABASE=fireflyiii
|
||||
- DB_USERNAME=postgres
|
||||
- DB_PASSWORD=
|
||||
- VIRTUAL_HOST_NAME=fireflyiii
|
||||
- VIRTUAL_HOST=${FIREFLY_HOST}
|
||||
- VIRTUAL_PORT=8080
|
||||
- LETSENCRYPT_HOST=${FIREFLY_HOST}
|
||||
- LETSENCRYPT_EMAIL=${LETSENCRYPT_EMAIL:-<no value>}
|
||||
expose:
|
||||
- 8080
|
||||
volumes:
|
||||
- firefly_iii_export:/var/www/firefly-iii/storage/export
|
||||
- firefly_iii_upload:/var/www/firefly-iii/storage/upload
|
||||
depends_on:
|
||||
- postgres
|
||||
|
||||
volumes:
|
||||
firefly_iii_export:
|
||||
firefly_iii_upload:
|
18
docs/fireflyiii.md
Normal file
18
docs/fireflyiii.md
Normal file
@ -0,0 +1,18 @@
|
||||
# Firefly III support
|
||||
|
||||
[Firefly III](https://pi-hole.net/) is a self-hosted financial manager.
|
||||
It can help you keep track of expenses, income, budgets and everything in between. It supports credit cards, shared household accounts and savings accounts. It’s pretty fancy. You should use it to save and organise money.
|
||||
|
||||
## How to use
|
||||
|
||||
1. Connect as root to your server
|
||||
2. Configure a domain's DNS to point to your server ip. e.g. `firefly.yourserver.org`
|
||||
3. Add fireflyiii as an option to your docker deployment
|
||||
|
||||
```bash
|
||||
BTCPAYGEN_ADDITIONAL_FRAGMENTS="$BTCPAYGEN_ADDITIONAL_FRAGMENTS;opt-add-fireflyiii"
|
||||
FIREFLY_HOST="firefly.yourserver.org"
|
||||
. btcpay-setup.sh -i
|
||||
. ./Tools/fireflyiii/init.sh
|
||||
```
|
||||
4. Access Firefly III at `firefly.yourserver.org` and create your admin account.
|
@ -105,7 +105,8 @@ WOOCOMMERCE_HOST=$WOOCOMMERCE_HOST
|
||||
TOR_RELAY_NICKNAME=$TOR_RELAY_NICKNAME
|
||||
TOR_RELAY_EMAIL=$TOR_RELAY_EMAIL
|
||||
EPS_XPUB=$EPS_XPUB
|
||||
LND_WTCLIENT_SWEEP_FEE=$LND_WTCLIENT_SWEEP_FEE" > $BTCPAY_ENV_FILE
|
||||
LND_WTCLIENT_SWEEP_FEE=$LND_WTCLIENT_SWEEP_FEE
|
||||
FIREFLY_HOST=$FIREFLY_HOST" > $BTCPAY_ENV_FILE
|
||||
|
||||
env | grep ^BWT_ >> $BTCPAY_ENV_FILE || true
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user