forked from michael.heier/umbrel-apps
Compare commits
258 Commits
release-no
...
master
Author | SHA1 | Date | |
---|---|---|---|
16793cbd9f | |||
|
7683a3d964 | ||
|
ea5469a1d3 | ||
|
aa7e4e2a68 | ||
|
7ad76ea5e6 | ||
|
154efd99f1 | ||
|
7b0c1e1097 | ||
|
2d3b0ef182 | ||
|
ea18dd2874 | ||
|
b232823190 | ||
|
ba3d9f51c8 | ||
|
ec596511cf | ||
|
014a31fd0a | ||
|
1f7bfb8a99 | ||
|
8b2650b90c | ||
|
c873c99e55 | ||
|
f6b05918c0 | ||
|
3eef0f022c | ||
|
8400f3f4ea | ||
|
0bc7feff6f | ||
e9aeab27d8 | |||
3a09f7f7ca | |||
|
32c5714ce4 | ||
|
6a74d1ca15 | ||
|
1f7182d660 | ||
|
9648663d23 | ||
|
6367fa1662 | ||
|
dac430dc6b | ||
|
1c931f2dba | ||
|
1d3da45a76 | ||
|
62788acaf8 | ||
|
2ab211a304 | ||
|
0dd000e4c0 | ||
|
b5ef09749e | ||
|
2a65289932 | ||
|
5b5403a5ea | ||
|
ef32be604b | ||
|
8ed3ab34a0 | ||
|
c055b65495 | ||
|
b9889925aa | ||
|
da5739f66b | ||
|
5ac908a936 | ||
|
dae77d2ee2 | ||
|
c009e1505c | ||
|
8301d66984 | ||
|
f356c4259a | ||
|
2178511f78 | ||
|
ab78ec7496 | ||
|
a7c062fd64 | ||
|
048b937ebd | ||
|
ff5dce7a48 | ||
|
e7d6ff64cd | ||
|
d89f9a663e | ||
|
eeeab6deaf | ||
|
4b783ed491 | ||
|
8146a2751b | ||
|
9e2756aee9 | ||
|
2f0b7ec2b3 | ||
|
cfa5cebdd7 | ||
|
abd8a75fad | ||
|
3c7ce129ac | ||
|
082e975b13 | ||
|
d7db211420 | ||
|
8fc911704b | ||
|
c3d9d65903 | ||
|
be287465ec | ||
|
556f5b64f7 | ||
|
8131a65ec1 | ||
|
4b47293c7a | ||
|
124d8127d5 | ||
|
fdf8d7e367 | ||
|
9dc1e20db6 | ||
|
9b00f1ee9c | ||
|
d42e9c34aa | ||
|
72e6e36992 | ||
|
af3333a81d | ||
|
0e7e33b3cd | ||
|
0131edbdd0 | ||
|
c4b45655bd | ||
|
29dfdbb332 | ||
|
5be23f16a7 | ||
|
1982982301 | ||
|
942985479a | ||
|
e5a254ab2c | ||
b6cf9c9451 | |||
94fe5a3e4c | |||
|
11f36560e8 | ||
c3bec42acc | |||
7fce42c0d2 | |||
|
8a46aed473 | ||
|
d4aaf3fb79 | ||
|
27ead52078 | ||
|
9b083b7b72 | ||
|
4c5296c966 | ||
|
4dfbc09ca7 | ||
|
27f439a78d | ||
|
49c3793a14 | ||
|
715b46b0ac | ||
270aab1531 | |||
|
f14ceda4cc | ||
|
96f6baf499 | ||
|
16213391e3 | ||
|
bde20edd72 | ||
f637e9d61d | |||
399125a1d2 | |||
e87ce17dc6 | |||
|
ebc6087687 | ||
|
2f564a7f3c | ||
|
b4c7c34dfa | ||
|
ef997c1584 | ||
|
feaf56a3a4 | ||
|
f641b29675 | ||
|
e75d1fe980 | ||
|
e2796a083c | ||
|
305ec84645 | ||
|
75b0c69e1f | ||
|
48330437cc | ||
|
ae6467f2bd | ||
|
e00c13ba22 | ||
|
5a389ac58f | ||
|
4a5341c75e | ||
|
39bdd2e73f | ||
|
31d6e3f68d | ||
|
d769a428b9 | ||
|
62ca19eeff | ||
|
787c4a9340 | ||
|
901ab0645d | ||
|
7de657dae1 | ||
|
f01cf3d5c6 | ||
|
26b5dcd2cf | ||
|
5f393474f3 | ||
|
56c4e228cc | ||
|
7cc64c3499 | ||
|
908e115839 | ||
|
aea406d0bf | ||
|
bb3b0dd907 | ||
|
e359672b49 | ||
|
695b79bfb1 | ||
|
f3b01dd77f | ||
|
6f21a1af1f | ||
|
1378d7daef | ||
|
ca9361b39e | ||
|
dc98effae1 | ||
|
e2c1909915 | ||
|
8b4986ba4d | ||
|
fc82a6112f | ||
af8c296fbb | |||
9cb53a7e91 | |||
3b2bd11508 | |||
|
f8d371ff8a | ||
|
816496fed7 | ||
|
e17842882d | ||
|
a7510bd3ed | ||
|
6c8e6cc2e9 | ||
|
29cc48092f | ||
|
d5750a1053 | ||
|
940a176b72 | ||
|
8b7c1ce80b | ||
|
fab72efe0f | ||
|
19d19097d2 | ||
e72a58e3e1 | |||
d210250197 | |||
b8c49ea5e2 | |||
cf94d5fa65 | |||
|
ad980846c7 | ||
|
300156902c | ||
|
27fc28d200 | ||
|
4de9470924 | ||
|
1fb6937004 | ||
|
709a664d75 | ||
|
ae730fc54e | ||
|
88429e17d2 | ||
|
d54b97f457 | ||
|
7822a3c6ac | ||
|
0a7f9295ef | ||
|
0a0452abd5 | ||
|
5d21431fbb | ||
|
3c9fd2fe9e | ||
|
3f328ac2aa | ||
|
05889a5394 | ||
|
fb3e468beb | ||
|
b8d303bf43 | ||
|
c58726fece | ||
|
f6d132c786 | ||
|
610602f6e2 | ||
|
6b915bae68 | ||
|
5862cf017a | ||
|
3751b36584 | ||
|
7201e01a0a | ||
|
858efece98 | ||
|
f6f04a3868 | ||
|
7d131b4909 | ||
|
7664c15485 | ||
|
22050fcf95 | ||
|
e12b677c50 | ||
|
133b382c76 | ||
|
a360c39cd7 | ||
|
93ef9b74a0 | ||
|
d9a5a6cae8 | ||
|
eb0f119df8 | ||
|
957b78f4f1 | ||
|
83702d06ba | ||
|
570c4f3820 | ||
|
01211369bf | ||
|
60878f278d | ||
|
93728eb171 | ||
|
451ac150b7 | ||
|
4b62eff009 | ||
|
e7c76ca11f | ||
|
ed486d5729 | ||
|
d5cb997583 | ||
|
7eacab2787 | ||
|
c8add86a23 | ||
|
39b42dc4ec | ||
|
5f81f84e6f | ||
|
e2b44bfef1 | ||
|
3e31d8e615 | ||
|
bdf673b184 | ||
|
797bda428e | ||
|
e0de79be34 | ||
|
0cbb1f2a9d | ||
|
51de62ddf6 | ||
|
7d7b37f02e | ||
|
14967aa31b | ||
|
002df2fdf3 | ||
|
8c519d6802 | ||
|
df38830bc9 | ||
|
a8f6604c2e | ||
|
0103cee84d | ||
|
8779ba51ae | ||
|
be4d269334 | ||
|
41a94f400e | ||
|
8156738ed2 | ||
|
3890dc323f | ||
|
e9f935af86 | ||
|
4cd50fa3d6 | ||
|
de7e472ead | ||
|
ac96696faf | ||
|
61a29c0180 | ||
|
642a4bd52a | ||
|
f3caf6200f | ||
|
13bd413758 | ||
|
ba5ae88fb4 | ||
|
08ce1c4820 | ||
|
62f9ee6cac | ||
|
4255d67d7e | ||
|
2a5718ab99 | ||
|
48ff511c6b | ||
|
ffe3c9ae07 | ||
|
e8fa312200 | ||
|
a550f5b319 | ||
|
1b04df192f | ||
|
5dfc8d14aa | ||
|
feaa81adb1 | ||
|
7b145a6a1d | ||
|
80987874fa | ||
|
21ea6c3196 | ||
|
680ed28850 |
45
README.md
45
README.md
|
@ -104,7 +104,10 @@ version: "3.7"
|
|||
services:
|
||||
app_proxy:
|
||||
environment:
|
||||
APP_HOST: <web-container-ip-address>
|
||||
# <app-id>_<web-container-name>_1
|
||||
# e.g. 'btc-rpc-explorer_web_1'
|
||||
# Note that the '_1' at the end is needed
|
||||
APP_HOST: <web-container-dns-name>
|
||||
APP_PORT: <web-container-port-number>
|
||||
|
||||
web:
|
||||
|
@ -174,7 +177,7 @@ description: >-
|
|||
|
||||
It's time to appreciate the "fullness" of your node.
|
||||
releaseNotes: >-
|
||||
Dark mode is finally here! Easily switch between you preferred mode
|
||||
Dark mode is finally here! Easily switch between your preferred mode
|
||||
in one click.
|
||||
|
||||
This version also includes lots of minor styling improvements, better
|
||||
|
@ -198,11 +201,11 @@ defaultPassword: ""
|
|||
|
||||
The `dependencies` section within the app manifest gives Umbrel a list of app IDs that must be already installed in order for the user to install BTC RPC Explorer and also function.
|
||||
|
||||
The `exports.sh` shell script is a simple script to export environmental variables that your `docker-compose.yml` can read. These env. vars. are also accessible when other apps start through their `docker-compose.yml` files.
|
||||
The `exports.sh` shell script is a simple script to export environmental variables that your `docker-compose.yml` can read. These env. vars. are also accessible when other apps start through their `docker-compose.yml` files. Most applications will not require this feature.
|
||||
|
||||
If we (for example) wanted to share BTC RPC Explorer's Address API with other apps; that would look like this:
|
||||
```sh
|
||||
export APP_BTC_RPC_EXPLORER_IP="10.21.21.12"
|
||||
export APP_BTC_RPC_EXPLORER_PORT="3002"
|
||||
export APP_BTC_RPC_EXPLORER_ADDRESS_API="electrumx"
|
||||
```
|
||||
|
||||
4\. For our app, we'll update `<docker-image>` with `getumbrel/btc-rpc-explorer`, `<tag>` with `v2.0.2`, and `<port>` with `3002`. Since BTC RPC Explorer doesn't need to store any persistent data and doesn't require access to Bitcoin Core's or LND's data directories, we can remove the entire `volumes` block.
|
||||
|
@ -219,17 +222,15 @@ version: "3.7"
|
|||
services:
|
||||
app_proxy:
|
||||
environment:
|
||||
APP_HOST: $APP_BTC_RPC_EXPLORER_IP
|
||||
APP_PORT: $APP_BTC_RPC_EXPLORER_PORT
|
||||
APP_HOST: btc-rpc-explorer_web_1
|
||||
APP_PORT: 8080
|
||||
|
||||
web:
|
||||
image: getumbrel/btc-rpc-explorer:v2.0.2
|
||||
restart: on-failure
|
||||
stop_grace_period: 1m
|
||||
environment: ...
|
||||
networks:
|
||||
default:
|
||||
ipv4_address: $APP_BTC_RPC_EXPLORER_IP
|
||||
environment:
|
||||
BTCEXP_PORT: 8080
|
||||
|
||||
```
|
||||
|
||||
|
@ -243,14 +244,16 @@ version: "3.7"
|
|||
services:
|
||||
app_proxy:
|
||||
environment:
|
||||
APP_HOST: $APP_BTC_RPC_EXPLORER_IP
|
||||
APP_PORT: $APP_BTC_RPC_EXPLORER_PORT
|
||||
APP_HOST: btc-rpc-explorer_web_1
|
||||
APP_PORT: 8080
|
||||
|
||||
web:
|
||||
image: getumbrel/btc-rpc-explorer:v2.0.2
|
||||
restart: on-failure
|
||||
stop_grace_period: 1m
|
||||
environment:
|
||||
PORT: 8080
|
||||
|
||||
# Bitcoin Core connection details
|
||||
BTCEXP_BITCOIND_HOST: $APP_BITCOIN_NODE_IP
|
||||
BTCEXP_BITCOIND_PORT: $APP_BITCOIN_RPC_PORT
|
||||
|
@ -270,9 +273,6 @@ services:
|
|||
BTCEXP_NO_RATES: "true"
|
||||
BTCEXP_RPC_ALLOWALL: "false"
|
||||
BTCEXP_BASIC_AUTH_PASSWORD: ""
|
||||
networks:
|
||||
default:
|
||||
ipv4_address: $APP_BTC_RPC_EXPLORER_IP
|
||||
|
||||
```
|
||||
|
||||
|
@ -300,8 +300,7 @@ Once Umbrel has started, the Web UI will be accessible at the IP address of the
|
|||
|
||||
```sh
|
||||
cd umbrel
|
||||
sudo ./scripts/repo set https://github.com/<username>/umbrel-apps.git
|
||||
sudo ./scripts/repo update
|
||||
sudo ./scripts/repo checkout https://github.com/<username>/umbrel-apps.git
|
||||
```
|
||||
|
||||
3\. And finally, it's time to install our app:
|
||||
|
@ -317,7 +316,7 @@ That's it! Our BTC RPC Explorer app should now be accessible at http://umbrel-de
|
|||
Let's commit and push our changes to our forked Umbrel app repo then run:
|
||||
|
||||
```sh
|
||||
sudo ./scripts/repo update
|
||||
sudo ./scripts/repo checkout https://github.com/<username>/umbrel-apps.git
|
||||
sudo ./scripts/app update btc-rpc-explorer
|
||||
```
|
||||
|
||||
|
@ -349,8 +348,7 @@ After the VM has booted, we can verify if the Umbrel dashboard is accessible at
|
|||
|
||||
```sh
|
||||
cd getumbrel/umbrel
|
||||
sudo ./scripts/repo set https://github.com/<username>/umbrel-apps.git
|
||||
sudo ./scripts/repo update
|
||||
sudo ./scripts/repo checkout https://github.com/<username>/umbrel-apps.git
|
||||
```
|
||||
|
||||
4\. And finally, it's time to install our app:
|
||||
|
@ -366,7 +364,7 @@ That's it! Our BTC RPC Explorer app should now be accessible at http://umbrel-de
|
|||
Let's commit and push our changes to our forked Umbrel app repo then run:
|
||||
|
||||
```sh
|
||||
sudo ./scripts/repo update
|
||||
sudo ./scripts/repo checkout https://github.com/<username>/umbrel-apps.git
|
||||
sudo ./scripts/app update btc-rpc-explorer
|
||||
```
|
||||
|
||||
|
@ -385,8 +383,7 @@ ssh umbrel@umbrel.local
|
|||
2\. Next, we'll switch to the forked remote app repo:
|
||||
|
||||
```sh
|
||||
sudo ./scripts/repo set https://github.com/<username>/umbrel-apps.git
|
||||
sudo ./scripts/repo update
|
||||
sudo ./scripts/repo checkout https://github.com/<username>/umbrel-apps.git
|
||||
```
|
||||
|
||||
3\. Once the repo has updated, it's time to test our app:
|
||||
|
|
|
@ -24,4 +24,6 @@ gallery:
|
|||
path: /admin/
|
||||
deterministicPassword: true
|
||||
defaultUsername: umbrel
|
||||
torOnly: false
|
||||
torOnly: false
|
||||
submitter: Jonathan Zernik
|
||||
submission: https://github.com/getumbrel/umbrel/pull/1282
|
0
audiobookshelf/data/metadata/.gitkeep
Normal file
0
audiobookshelf/data/metadata/.gitkeep
Normal file
29
audiobookshelf/docker-compose.yml
Normal file
29
audiobookshelf/docker-compose.yml
Normal file
|
@ -0,0 +1,29 @@
|
|||
version: "3.7"
|
||||
|
||||
services:
|
||||
app_proxy:
|
||||
environment:
|
||||
APP_HOST: audiobookshelf_web_1
|
||||
APP_PORT: 80
|
||||
PROXY_AUTH_ADD: "false"
|
||||
|
||||
|
||||
web:
|
||||
image: ghcr.io/advplyr/audiobookshelf:2.2.11@sha256:6a3a3dceeb669b477851ce54d96c2140868e19606b0193ccbb3e98151e5b8e5e
|
||||
user: 1000:1000
|
||||
init: true
|
||||
restart: on-failure
|
||||
stop_grace_period: 1m
|
||||
healthcheck:
|
||||
disable: true
|
||||
environment:
|
||||
- CONFIG_PATH=/home/node/config
|
||||
- METADATA_PATH=/home/node/metadata
|
||||
- AUDIOBOOKSHELF_UID=1000
|
||||
- AUDIOBOOKSHELF_GID=1000
|
||||
volumes:
|
||||
- ${APP_DATA_DIR}/data/config:/home/node/config
|
||||
- ${APP_DATA_DIR}/data/metadata:/home/node/metadata
|
||||
- ${UMBREL_ROOT}/data/storage/downloads/audiobooks:/audiobooks
|
||||
- ${UMBREL_ROOT}/data/storage/downloads/podcasts:/podcasts
|
||||
|
16
audiobookshelf/exports.sh
Normal file
16
audiobookshelf/exports.sh
Normal file
|
@ -0,0 +1,16 @@
|
|||
UMBREL_DATA_DIR="${UMBREL_ROOT}/data"
|
||||
UMBREL_DATA_STORAGE_AUDIOBOOKS_DIR="${UMBREL_DATA_DIR}/storage/downloads/audiobooks"
|
||||
UMBREL_DATA_STORAGE_PODCASTS_DIR="${UMBREL_DATA_DIR}/storage/downloads/podcasts"
|
||||
DESIRED_OWNER="1000:1000"
|
||||
|
||||
if [[ ! -d "${UMBREL_DATA_STORAGE_AUDIOBOOKS_DIR}" ]]; then
|
||||
mkdir -p "${UMBREL_DATA_STORAGE_AUDIOBOOKS_DIR}"
|
||||
|
||||
chown "${DESIRED_OWNER}" "${UMBREL_DATA_STORAGE_AUDIOBOOKS_DIR}"
|
||||
fi
|
||||
|
||||
if [[ ! -d "${UMBREL_DATA_STORAGE_PODCASTS_DIR}" ]]; then
|
||||
mkdir -p "${UMBREL_DATA_STORAGE_PODCASTS_DIR}"
|
||||
|
||||
chown "${DESIRED_OWNER}" "${UMBREL_DATA_STORAGE_PODCASTS_DIR}"
|
||||
fi
|
79
audiobookshelf/umbrel-app.yml
Normal file
79
audiobookshelf/umbrel-app.yml
Normal file
|
@ -0,0 +1,79 @@
|
|||
manifestVersion: 1
|
||||
id: audiobookshelf
|
||||
name: Audiobookshelf
|
||||
tagline: Audiobook and podcast server
|
||||
category: Media
|
||||
version: "2.2.11"
|
||||
port: 13378
|
||||
description: >-
|
||||
Features:
|
||||
|
||||
|
||||
- Fully open-source, including the android & iOS app (in beta)
|
||||
|
||||
- Stream all audio formats on the fly
|
||||
|
||||
- Search and add podcasts to download episodes w/ auto-download
|
||||
|
||||
- Multi-user support w/ custom permissions
|
||||
|
||||
- Keeps progress per user and syncs across devices
|
||||
|
||||
- Auto-detects library updates, no need to re-scan
|
||||
|
||||
- Upload books and podcasts w/ bulk upload drag and drop folders
|
||||
|
||||
- Backup your metadata + automated daily backups
|
||||
|
||||
- Progressive Web App (PWA)
|
||||
|
||||
- Chromecast support on the web app and android app
|
||||
|
||||
- Fetch metadata and cover art from several sources
|
||||
|
||||
- Chapter editor and chapter lookup (using Audnexus API)
|
||||
|
||||
- Merge your audio files into a single m4b
|
||||
|
||||
- Embed metadata and cover image into your audio files (using Tone)
|
||||
|
||||
- Basic ebook support and e-reader (experimental)
|
||||
|
||||
|
||||
Android App (beta)
|
||||
|
||||
- Try it out on the Google Play Store
|
||||
|
||||
|
||||
iOS App (early beta)
|
||||
|
||||
- Available using Test Flight: https://testflight.apple.com/join/wiic7QIW
|
||||
developer: advplyr
|
||||
website: https://audiobookshelf.org
|
||||
repo: https://github.com/advplyr/audiobookshelf
|
||||
support: https://discord.gg/pJsjuNCKRq
|
||||
gallery:
|
||||
- 1.jpg
|
||||
- 2.jpg
|
||||
- 3.jpg
|
||||
dependencies: []
|
||||
path: ""
|
||||
defaultUsername: ""
|
||||
defaultPassword: ""
|
||||
releaseNotes: >-
|
||||
- Audiobookshelf now works with mobile apps (Android & iOS)
|
||||
|
||||
|
||||
Added:
|
||||
- M4B merge tool advanced options for ffmpeg encoder
|
||||
|
||||
Fixed:
|
||||
- Crash on adding podcast
|
||||
- Dropdowns hidden in edit modals
|
||||
- Get libraries API endpoint (bad response payload)
|
||||
|
||||
Changed:
|
||||
- API endpoint for author image allows raw=1 query to get raw image
|
||||
- More strings translated: french, simplified Chinese, & German
|
||||
submitter: Jasper
|
||||
submission: https://github.com/getumbrel/umbrel-apps/pull/302
|
0
bitcoin/data/app/.gitkeep
Normal file
0
bitcoin/data/app/.gitkeep
Normal file
0
bitcoin/data/i2pd/.gitkeep
Normal file
0
bitcoin/data/i2pd/.gitkeep
Normal file
|
@ -7,9 +7,12 @@ services:
|
|||
APP_PORT: 3005
|
||||
|
||||
server:
|
||||
image: getumbrel/umbrel-bitcoin:v0.3.0@sha256:115af951d7a4e696603c7468bcb4e119e02fe9c9deb28edb51d2e2d8207cab59
|
||||
image: getumbrel/umbrel-bitcoin:v0.4.1@sha256:edc0567efeadf30128313308e2dadbfaa1f339ce666579646c3b9353834bb888
|
||||
depends_on: [bitcoind]
|
||||
restart: on-failure
|
||||
volumes:
|
||||
- ${APP_DATA_DIR}/data/app:/data # volume to persist advanced settings json
|
||||
- ${APP_BITCOIN_DATA_DIR}:/bitcoin/.bitcoin # volume to persist umbrel-bitcoin.conf and bitcoin.conf
|
||||
environment:
|
||||
PORT: "3005"
|
||||
BITCOIN_HOST: "${APP_BITCOIN_NODE_IP}"
|
||||
|
@ -23,14 +26,23 @@ services:
|
|||
BITCOIN_P2P_HIDDEN_SERVICE: "${APP_BITCOIN_P2P_HIDDEN_SERVICE}"
|
||||
BITCOIN_P2P_PORT: "${APP_BITCOIN_P2P_PORT}"
|
||||
DEVICE_DOMAIN_NAME: "${DEVICE_DOMAIN_NAME}"
|
||||
BITCOIN_DEFAULT_NETWORK: "${BITCOIN_DEFAULT_NETWORK:-mainnet}"
|
||||
BITCOIN_INITIALIZE_WITH_CLEARNET_OVER_TOR: "${BITCOIN_INITIALIZE_WITH_CLEARNET_OVER_TOR:-unset}"
|
||||
BITCOIND_IP: "${APP_BITCOIN_NODE_IP}"
|
||||
TOR_PROXY_IP: "${APP_BITCOIN_TOR_PROXY_IP}"
|
||||
TOR_PROXY_PORT: "9050"
|
||||
TOR_PROXY_CONTROL_PORT: "9051"
|
||||
TOR_PROXY_CONTROL_PASSWORD: "moneyprintergobrrr"
|
||||
I2P_DAEMON_IP: "${APP_BITCOIN_I2P_DAEMON_IP}"
|
||||
I2P_DAEMON_PORT: "7656"
|
||||
networks:
|
||||
default:
|
||||
ipv4_address: $APP_BITCOIN_IP
|
||||
|
||||
bitcoind:
|
||||
image: lncm/bitcoind:v22.0@sha256:37a1adb29b3abc9f972f0d981f45e41e5fca2e22816a023faa9fdc0084aa4507
|
||||
image: getumbrel/bitcoind:v24.0.1@sha256:33ff257bd8a24b41bef5b5c3aea1e32ea6dcc08917e24122728687eb393814fa
|
||||
command: "${APP_BITCOIN_COMMAND}"
|
||||
restart: on-failure
|
||||
restart: unless-stopped
|
||||
stop_grace_period: 15m30s
|
||||
volumes:
|
||||
- "${APP_BITCOIN_DATA_DIR}:/data/.bitcoin"
|
||||
|
@ -39,4 +51,28 @@ services:
|
|||
- "${APP_BITCOIN_RPC_PORT}:${APP_BITCOIN_RPC_PORT}"
|
||||
networks:
|
||||
default:
|
||||
ipv4_address: $APP_BITCOIN_NODE_IP
|
||||
ipv4_address: $APP_BITCOIN_NODE_IP
|
||||
|
||||
tor:
|
||||
image: getumbrel/tor:0.4.7.8@sha256:2ace83f22501f58857fa9b403009f595137fa2e7986c4fda79d82a8119072b6a
|
||||
user: "1000:1000"
|
||||
restart: on-failure
|
||||
volumes:
|
||||
- ${APP_DATA_DIR}/torrc:/etc/tor/torrc:ro
|
||||
- ${TOR_DATA_DIR}:/data
|
||||
environment:
|
||||
HOME: "/tmp"
|
||||
networks:
|
||||
default:
|
||||
ipv4_address: "${APP_BITCOIN_TOR_PROXY_IP}"
|
||||
|
||||
i2pd_daemon:
|
||||
image: purplei2p/i2pd:release-2.44.0@sha256:d154a599793c393cf9c91f8549ba7ece0bb40e5728e1813aa6dd4c210aa606f6
|
||||
user: "root"
|
||||
command: --sam.enabled=true --sam.address=0.0.0.0 --sam.port=7656 --loglevel=error
|
||||
restart: on-failure
|
||||
volumes:
|
||||
- ${APP_DATA_DIR}/data/i2pd:/home/i2pd/data
|
||||
networks:
|
||||
default:
|
||||
ipv4_address: "${APP_BITCOIN_I2P_DAEMON_IP}"
|
||||
|
|
|
@ -1,9 +1,12 @@
|
|||
export APP_BITCOIN_IP="10.21.22.2"
|
||||
export APP_BITCOIN_NODE_IP="10.21.21.8"
|
||||
export APP_BITCOIN_TOR_PROXY_IP="10.21.22.10"
|
||||
export APP_BITCOIN_I2P_DAEMON_IP="10.21.22.11"
|
||||
|
||||
export APP_BITCOIN_DATA_DIR="${EXPORTS_APP_DIR}/data/bitcoin"
|
||||
export APP_BITCOIN_RPC_PORT="8332"
|
||||
export APP_BITCOIN_P2P_PORT="8333"
|
||||
export APP_BITCOIN_TOR_PORT="8334"
|
||||
export APP_BITCOIN_ZMQ_RAWBLOCK_PORT="28332"
|
||||
export APP_BITCOIN_ZMQ_RAWTX_PORT="28333"
|
||||
export APP_BITCOIN_ZMQ_HASHBLOCK_PORT="28334"
|
||||
|
@ -12,6 +15,24 @@ export APP_BITCOIN_ZMQ_SEQUENCE_PORT="28335"
|
|||
BITCOIN_CHAIN="main"
|
||||
BITCOIN_ENV_FILE="${EXPORTS_APP_DIR}/.env"
|
||||
|
||||
{
|
||||
BITCOIN_APP_CONFIG_FILE="${EXPORTS_APP_DIR}/data/app/bitcoin-config.json"
|
||||
if [[ -f "${BITCOIN_APP_CONFIG_FILE}" ]]
|
||||
then
|
||||
bitcoin_app_network=$(jq -r '.network' "${BITCOIN_APP_CONFIG_FILE}")
|
||||
case $bitcoin_app_network in
|
||||
"main")
|
||||
BITCOIN_NETWORK="mainnet";;
|
||||
"test")
|
||||
BITCOIN_NETWORK="testnet";;
|
||||
"signet")
|
||||
BITCOIN_NETWORK="signet";;
|
||||
"regtest")
|
||||
BITCOIN_NETWORK="regtest";;
|
||||
esac
|
||||
fi
|
||||
} > /dev/null || true
|
||||
|
||||
if [[ ! -f "${BITCOIN_ENV_FILE}" ]]; then
|
||||
if [[ -z "${BITCOIN_NETWORK}" ]]; then
|
||||
BITCOIN_NETWORK="mainnet"
|
||||
|
@ -24,39 +45,57 @@ if [[ ! -f "${BITCOIN_ENV_FILE}" ]]; then
|
|||
BITCOIN_RPC_AUTH=$(echo "$BITCOIN_RPC_DETAILS" | head -2 | tail -1 | sed -e "s/^rpcauth=//")
|
||||
fi
|
||||
|
||||
echo "export APP_BITCOIN_NETWORK='${BITCOIN_NETWORK}'" > "${BITCOIN_ENV_FILE}"
|
||||
echo "export APP_BITCOIN_NETWORK='${BITCOIN_NETWORK}'" > "${BITCOIN_ENV_FILE}"
|
||||
echo "export APP_BITCOIN_RPC_USER='${BITCOIN_RPC_USER}'" >> "${BITCOIN_ENV_FILE}"
|
||||
echo "export APP_BITCOIN_RPC_PASS='${BITCOIN_RPC_PASS}'" >> "${BITCOIN_ENV_FILE}"
|
||||
echo "export APP_BITCOIN_RPC_AUTH='${BITCOIN_RPC_AUTH}'" >> "${BITCOIN_ENV_FILE}"
|
||||
echo "export APP_BITCOIN_RPC_AUTH='${BITCOIN_RPC_AUTH}'" >> "${BITCOIN_ENV_FILE}"
|
||||
fi
|
||||
|
||||
. "${BITCOIN_ENV_FILE}"
|
||||
|
||||
# Make sure we don't persist the original value in .env if we have a more recent
|
||||
# value from the app config
|
||||
{
|
||||
if [[ ! -z ${BITCOIN_NETWORK+x} ]] && [[ "${BITCOIN_NETWORK}" ]] && [[ "${APP_BITCOIN_NETWORK}" ]]
|
||||
then
|
||||
APP_BITCOIN_NETWORK="${BITCOIN_NETWORK}"
|
||||
fi
|
||||
} > /dev/null || true
|
||||
|
||||
if [[ "${APP_BITCOIN_NETWORK}" == "mainnet" ]]; then
|
||||
BITCOIN_CHAIN="main"
|
||||
elif [[ "${APP_BITCOIN_NETWORK}" == "testnet" ]]; then
|
||||
BITCOIN_CHAIN="test"
|
||||
export APP_BITCOIN_RPC_PORT="18332"
|
||||
export APP_BITCOIN_P2P_PORT="18333"
|
||||
# export APP_BITCOIN_RPC_PORT="18332"
|
||||
# export APP_BITCOIN_P2P_PORT="18333"
|
||||
# export APP_BITCOIN_TOR_PORT="18334"
|
||||
elif [[ "${APP_BITCOIN_NETWORK}" == "signet" ]]; then
|
||||
BITCOIN_CHAIN="signet"
|
||||
export APP_BITCOIN_RPC_PORT="38332"
|
||||
export APP_BITCOIN_P2P_PORT="38333"
|
||||
# export APP_BITCOIN_RPC_PORT="38332"
|
||||
# export APP_BITCOIN_P2P_PORT="38333"
|
||||
# export APP_BITCOIN_TOR_PORT="38334"
|
||||
elif [[ "${APP_BITCOIN_NETWORK}" == "regtest" ]]; then
|
||||
BITCOIN_CHAIN="regtest"
|
||||
export APP_BITCOIN_RPC_PORT="18443"
|
||||
export APP_BITCOIN_P2P_PORT="18444"
|
||||
# export APP_BITCOIN_RPC_PORT="18443"
|
||||
# export APP_BITCOIN_P2P_PORT="18444"
|
||||
# export APP_BITCOIN_TOR_PORT="18445"
|
||||
else
|
||||
echo "Warning (${EXPORTS_APP_ID}): Bitcoin Network '${APP_BITCOIN_NETWORK}' is not supported"
|
||||
fi
|
||||
|
||||
export BITCOIN_DEFAULT_NETWORK="${BITCOIN_CHAIN}"
|
||||
|
||||
BIN_ARGS=()
|
||||
BIN_ARGS+=( "-chain=${BITCOIN_CHAIN}" )
|
||||
BIN_ARGS+=( "-proxy=${TOR_PROXY_IP}:${TOR_PROXY_PORT}" )
|
||||
BIN_ARGS+=( "-listen" )
|
||||
BIN_ARGS+=( "-bind=${APP_BITCOIN_NODE_IP}" )
|
||||
BIN_ARGS+=( "-port=${APP_BITCOIN_P2P_PORT}" )
|
||||
BIN_ARGS+=( "-rpcport=${APP_BITCOIN_RPC_PORT}" )
|
||||
# Commenting out options that are replaced by generated config file. We should migrate all these over in a future update.
|
||||
# BIN_ARGS+=( "-chain=${BITCOIN_CHAIN}" )
|
||||
# BIN_ARGS+=( "-proxy=${TOR_PROXY_IP}:${TOR_PROXY_PORT}" )
|
||||
# BIN_ARGS+=( "-listen" )
|
||||
# BIN_ARGS+=( "-bind=0.0.0.0:${APP_BITCOIN_TOR_PORT}=onion" )
|
||||
# BIN_ARGS+=( "-bind=${APP_BITCOIN_NODE_IP}" )
|
||||
# BIN_ARGS+=( "-port=${APP_BITCOIN_P2P_PORT}" )
|
||||
# BIN_ARGS+=( "-rpcport=${APP_BITCOIN_RPC_PORT}" )
|
||||
BIN_ARGS+=( "-port=8333" )
|
||||
BIN_ARGS+=( "-rpcport=8332" )
|
||||
BIN_ARGS+=( "-rpcbind=${APP_BITCOIN_NODE_IP}" )
|
||||
BIN_ARGS+=( "-rpcbind=127.0.0.1" )
|
||||
BIN_ARGS+=( "-rpcallowip=${NETWORK_IP}/16" )
|
||||
|
@ -66,11 +105,10 @@ BIN_ARGS+=( "-zmqpubrawblock=tcp://0.0.0.0:${APP_BITCOIN_ZMQ_RAWBLOCK_PORT}" )
|
|||
BIN_ARGS+=( "-zmqpubrawtx=tcp://0.0.0.0:${APP_BITCOIN_ZMQ_RAWTX_PORT}" )
|
||||
BIN_ARGS+=( "-zmqpubhashblock=tcp://0.0.0.0:${APP_BITCOIN_ZMQ_HASHBLOCK_PORT}" )
|
||||
BIN_ARGS+=( "-zmqpubsequence=tcp://0.0.0.0:${APP_BITCOIN_ZMQ_SEQUENCE_PORT}" )
|
||||
BIN_ARGS+=( "-txindex=1" )
|
||||
# BIN_ARGS+=( "-txindex=1" )
|
||||
BIN_ARGS+=( "-blockfilterindex=1" )
|
||||
BIN_ARGS+=( "-peerbloomfilters=1" )
|
||||
BIN_ARGS+=( "-peerblockfilters=1" )
|
||||
BIN_ARGS+=( "-deprecatedrpc=addresses" )
|
||||
BIN_ARGS+=( "-rpcworkqueue=128" )
|
||||
|
||||
export APP_BITCOIN_COMMAND=$(IFS=" "; echo "${BIN_ARGS[@]}")
|
||||
|
@ -86,4 +124,26 @@ export APP_BITCOIN_P2P_HIDDEN_SERVICE="$(cat "${p2p_hidden_service_file}" 2>/dev
|
|||
export APP_BITCOIN_NETWORK_ELECTRS=$APP_BITCOIN_NETWORK
|
||||
if [[ "${APP_BITCOIN_NETWORK_ELECTRS}" = "mainnet" ]]; then
|
||||
APP_BITCOIN_NETWORK_ELECTRS="bitcoin"
|
||||
fi
|
||||
fi
|
||||
|
||||
{
|
||||
# Migrate settings for app updates differently to fresh installs
|
||||
BITCOIN_INSTALL_EXISTS="false"
|
||||
BITCOIN_DATA_DIR="${EXPORTS_APP_DIR}/data/bitcoin"
|
||||
if [[ -d "${BITCOIN_DATA_DIR}/blocks" ]] || [[ -d "${BITCOIN_DATA_DIR}/testnet3/blocks" ]] || [[ -d "${BITCOIN_DATA_DIR}/regtest/blocks" ]]
|
||||
then
|
||||
BITCOIN_INSTALL_EXISTS="true"
|
||||
fi
|
||||
|
||||
APP_CONFIG_EXISTS="false"
|
||||
if [[ -f "${EXPORTS_APP_DIR}/data/app/bitcoin-config.json" ]]
|
||||
then
|
||||
APP_CONFIG_EXISTS="true"
|
||||
fi
|
||||
|
||||
if [[ "${BITCOIN_INSTALL_EXISTS}" = "true" ]] && [[ "${APP_CONFIG_EXISTS}" = "false" ]]
|
||||
then
|
||||
# This app is not a fresh install, it's being updated, so preserve existing clearnet over Tor setting
|
||||
export BITCOIN_INITIALIZE_WITH_CLEARNET_OVER_TOR="true"
|
||||
fi
|
||||
} || true
|
26
bitcoin/hooks/pre-start
Executable file
26
bitcoin/hooks/pre-start
Executable file
|
@ -0,0 +1,26 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
# Delay booting Bitcoin until the RPC and P2P Tor Hidden Services are ready
|
||||
|
||||
HIDDEN_SERVICE_FILE="${TOR_DATA_DIR}/app-${APP_ID}-rpc/hostname"
|
||||
|
||||
if [[ -f "${HIDDEN_SERVICE_FILE}" ]]; then
|
||||
exit
|
||||
fi
|
||||
|
||||
"${UMBREL_ROOT}/scripts/app" compose "${APP_ID}" up --detach bitcoind
|
||||
"${UMBREL_ROOT}/scripts/app" compose "${APP_ID}" up --detach tor
|
||||
|
||||
echo "App: ${APP_ID} - Generating Tor Hidden Service..."
|
||||
|
||||
for attempt in $(seq 1 100); do
|
||||
if [[ -f "${HIDDEN_SERVICE_FILE}" ]]; then
|
||||
echo "App: ${APP_ID} - Hidden service file created successfully!"
|
||||
break
|
||||
fi
|
||||
sleep 0.1
|
||||
done
|
||||
|
||||
if [[ ! -f "${HIDDEN_SERVICE_FILE}" ]]; then
|
||||
echo "App: ${APP_ID} - Hidden service file wasn't created"
|
||||
fi
|
|
@ -1,11 +1,13 @@
|
|||
SocksPort 0.0.0.0:9050
|
||||
ControlPort 0.0.0.0:9051
|
||||
CookieAuthentication 1
|
||||
CookieAuthFileGroupReadable 1
|
||||
HashedControlPassword 16:39AF5EEFA4FC1D986022FDFB13663669FE50FB6DE9A3B4FE4FC7D82010 # moneyprintergobrrr
|
||||
|
||||
# Bitcoin Core P2P Hidden Service
|
||||
HiddenServiceDir /data/app-$APP_ID-p2p
|
||||
HiddenServicePort $APP_BITCOIN_P2P_PORT $APP_BITCOIN_NODE_IP:$APP_BITCOIN_P2P_PORT
|
||||
HiddenServicePort $APP_BITCOIN_P2P_PORT $APP_BITCOIN_NODE_IP:$APP_BITCOIN_TOR_PORT
|
||||
|
||||
# Bitcoin Core RPC Hidden Service
|
||||
HiddenServiceDir /data/app-$APP_ID-rpc
|
||||
HiddenServicePort $APP_BITCOIN_RPC_PORT $APP_BITCOIN_NODE_IP:$APP_BITCOIN_RPC_PORT
|
||||
|
||||
# Bitcoin Core Frontend Hidden Service
|
||||
HiddenServiceDir /data/app-$APP_ID
|
||||
HiddenServicePort 80 $APP_PROXY_HOSTNAME:$APP_PROXY_PORT
|
||||
HiddenServicePort $APP_BITCOIN_RPC_PORT $APP_BITCOIN_NODE_IP:$APP_BITCOIN_RPC_PORT
|
|
@ -1,8 +1,8 @@
|
|||
manifestVersion: 1
|
||||
manifestVersion: 1.1
|
||||
id: bitcoin
|
||||
category: Finance
|
||||
name: Bitcoin Node
|
||||
version: "22.0-build-2"
|
||||
version: "24.0.1-2"
|
||||
tagline: Run your personal node powered by Bitcoin Core
|
||||
description: >-
|
||||
Run your Bitcoin node and independently store and validate
|
||||
|
@ -31,5 +31,28 @@ gallery:
|
|||
- 2.jpg
|
||||
- 3.jpg
|
||||
- 4.jpg
|
||||
- 5.jpg
|
||||
path: ""
|
||||
defaultPassword: ""
|
||||
defaultPassword: ""
|
||||
releaseNotes: >-
|
||||
Advanced settings are here!
|
||||
|
||||
|
||||
- Toggle Tor, Clearnet, and I2P for outgoing connections, and enable Mempool Full RBF.
|
||||
|
||||
|
||||
- Enable incoming connections to run a listening node and help others sync their node.
|
||||
|
||||
|
||||
- Switch networks between mainnet, testnet, regtest, and signet.
|
||||
|
||||
|
||||
- Setting up a new node? Speed up your initial sync by increasing the cache size.
|
||||
|
||||
|
||||
- Finally, you can run a pruned node, which allows you to delete old blocks that are not relevant to you to save on storage space.
|
||||
|
||||
|
||||
Note: This update fixes a bug with pruning in the previous 24.0.1 update.
|
||||
submitter: Umbrel
|
||||
submission: https://github.com/getumbrel/umbrel/commit/b0ba869953d024595bac84b8987de34aee561392
|
||||
|
|
|
@ -3,7 +3,7 @@ version: "3.7"
|
|||
services:
|
||||
app_proxy:
|
||||
environment:
|
||||
APP_HOST: $APP_BITFEED_IP
|
||||
APP_HOST: bitfeed_web_1
|
||||
APP_PORT: 80
|
||||
|
||||
web:
|
||||
|
@ -14,11 +14,8 @@ services:
|
|||
- "api"
|
||||
environment:
|
||||
TARGET: "umbrel"
|
||||
BACKEND_HOST: "$APP_BITFEED_API_IP"
|
||||
BACKEND_PORT: "$APP_BITFEED_API_PORT"
|
||||
networks:
|
||||
default:
|
||||
ipv4_address: $APP_BITFEED_IP
|
||||
BACKEND_HOST: bitfeed_api_1
|
||||
BACKEND_PORT: 8315
|
||||
|
||||
api:
|
||||
image: ghcr.io/bitfeed-project/bitfeed-server:v2.3.4@sha256:e38a2e07389cf6d0c519e856291e535fdd10a1e50143d528c82bfe0baf06894f
|
||||
|
@ -26,7 +23,7 @@ services:
|
|||
restart: on-failure
|
||||
stop_grace_period: 1m
|
||||
environment:
|
||||
PORT: "$APP_BITFEED_API_PORT"
|
||||
PORT: 8315
|
||||
BITCOIN_HOST: "$APP_BITCOIN_NODE_IP"
|
||||
BITCOIN_ZMQ_RAWTX_PORT: "$APP_BITCOIN_ZMQ_RAWTX_PORT"
|
||||
BITCOIN_ZMQ_RAWBLOCK_PORT: "$APP_BITCOIN_ZMQ_RAWBLOCK_PORT"
|
||||
|
@ -40,6 +37,3 @@ services:
|
|||
LOG_LEVEL: "info"
|
||||
volumes:
|
||||
- ${APP_DATA_DIR}/data:/app/data
|
||||
networks:
|
||||
default:
|
||||
ipv4_address: $APP_BITFEED_API_IP
|
||||
|
|
|
@ -1,4 +0,0 @@
|
|||
export APP_BITFEED_IP="10.21.21.68"
|
||||
export APP_BITFEED_PORT="8314"
|
||||
export APP_BITFEED_API_IP="10.21.21.69"
|
||||
export APP_BITFEED_API_PORT="8315"
|
|
@ -26,4 +26,6 @@ gallery:
|
|||
- 3.jpg
|
||||
path: ""
|
||||
defaultUsername: ""
|
||||
defaultPassword: ""
|
||||
defaultPassword: ""
|
||||
submitter: Mononaut
|
||||
submission: https://github.com/getumbrel/umbrel/pull/1202
|
|
@ -3,8 +3,8 @@ version: "3.7"
|
|||
services:
|
||||
app_proxy:
|
||||
environment:
|
||||
APP_HOST: $APP_BLESKOMAT_SERVER_IP
|
||||
APP_PORT: $APP_BLESKOMAT_SERVER_PORT
|
||||
APP_HOST: bleskomat-server_web_1
|
||||
APP_PORT: 3333
|
||||
PROXY_AUTH_ADD: "false"
|
||||
|
||||
db:
|
||||
|
@ -14,9 +14,6 @@ services:
|
|||
stop_grace_period: 1m
|
||||
volumes:
|
||||
- $APP_DATA_DIR/data/db:/var/lib/postgresql/data
|
||||
networks:
|
||||
default:
|
||||
ipv4_address: $APP_BLESKOMAT_SERVER_DB_IP
|
||||
environment:
|
||||
- POSTGRES_USER=bleskomat_server
|
||||
- POSTGRES_DB=bleskomat_server
|
||||
|
@ -35,17 +32,13 @@ services:
|
|||
environment:
|
||||
DEBUG: "bleskomat-server*,lnurl*"
|
||||
BLESKOMAT_SERVER_HOST: "0.0.0.0"
|
||||
BLESKOMAT_SERVER_PORT: "$APP_BLESKOMAT_SERVER_PORT"
|
||||
BLESKOMAT_SERVER_PORT: 3333
|
||||
BLESKOMAT_SERVER_URL: "$APP_HIDDEN_SERVICE"
|
||||
BLESKOMAT_SERVER_ENDPOINT: "/u"
|
||||
BLESKOMAT_SERVER_AUTH_API_KEYS: '[]'
|
||||
BLESKOMAT_SERVER_LIGHTNING: '{"backend":"lnd","config":{"cert":"/lnd/tls.cert","protocol":"https","hostname":"$APP_LIGHTNING_NODE_IP:$APP_LIGHTNING_NODE_REST_PORT","macaroon":"/lnd/data/chain/bitcoin/$APP_BITCOIN_NETWORK/admin.macaroon"}}'
|
||||
BLESKOMAT_SERVER_STORE: '{"backend":"knex","config":{"client":"postgres","connection":{"host":"$APP_BLESKOMAT_SERVER_DB_IP","port":5432,"user":"bleskomat_server","password":"moneyprintergobrrr","database":"bleskomat_server"}}}'
|
||||
BLESKOMAT_SERVER_STORE: '{"backend":"knex","config":{"client":"postgres","connection":{"host":"bleskomat-server_db_1","port":5432,"user":"bleskomat_server","password":"moneyprintergobrrr","database":"bleskomat_server"}}}'
|
||||
BLESKOMAT_SERVER_COINRATES_DEFAULTS_PROVIDER: "coinbase"
|
||||
BLESKOMAT_SERVER_ADMIN_WEB: "true"
|
||||
BLESKOMAT_SERVER_ADMIN_PASSWORD_PLAINTEXT: "$APP_PASSWORD"
|
||||
BLESKOMAT_SERVER_ENV_FILEPATH: "./data/.env"
|
||||
|
||||
networks:
|
||||
default:
|
||||
ipv4_address: $APP_BLESKOMAT_SERVER_IP
|
||||
|
|
|
@ -1,3 +0,0 @@
|
|||
export APP_BLESKOMAT_SERVER_PORT="3333"
|
||||
export APP_BLESKOMAT_SERVER_IP="10.21.21.85"
|
||||
export APP_BLESKOMAT_SERVER_DB_IP="10.21.21.86"
|
|
@ -22,4 +22,6 @@ gallery:
|
|||
- 3.jpg
|
||||
path: ""
|
||||
deterministicPassword: true
|
||||
torOnly: false
|
||||
torOnly: false
|
||||
submitter: Charles Hill
|
||||
submission: https://github.com/getumbrel/umbrel/pull/1175
|
|
@ -3,8 +3,8 @@ version: "3.7"
|
|||
services:
|
||||
app_proxy:
|
||||
environment:
|
||||
APP_HOST: $APP_BLUEWALLET_LNDHUB_IP
|
||||
APP_PORT: $APP_BLUEWALLET_LNDHUB_PORT
|
||||
APP_HOST: bluewallet_lndhub_1
|
||||
APP_PORT: 3008
|
||||
PROXY_AUTH_ADD: "false"
|
||||
|
||||
redis:
|
||||
|
@ -16,9 +16,6 @@ services:
|
|||
init: true
|
||||
volumes:
|
||||
- "${APP_DATA_DIR}/data/redis:/data"
|
||||
networks:
|
||||
default:
|
||||
ipv4_address: "${APP_BLUEWALLET_REDIS_IP}"
|
||||
|
||||
lndhub:
|
||||
image: "bluewalletorganization/lndhub:v1.4.1@sha256:db673a8d360982984d05f97303e26dc0e5a3eea36ba54d0abdae5bbbeef31d3a"
|
||||
|
@ -30,11 +27,8 @@ services:
|
|||
volumes:
|
||||
- "${APP_LIGHTNING_NODE_DATA_DIR}:/lnd:ro"
|
||||
environment:
|
||||
PORT: "${APP_BLUEWALLET_LNDHUB_PORT}"
|
||||
PORT: 3008
|
||||
TOR_URL: "${APP_HIDDEN_SERVICE}"
|
||||
LND_CERT_FILE: "/lnd/tls.cert"
|
||||
LND_ADMIN_MACAROON_FILE: "/lnd/data/chain/bitcoin/${APP_BITCOIN_NETWORK}/admin.macaroon"
|
||||
CONFIG: '{ "rateLimit": 10000, "postRateLimit": 10000, "redis": { "port": 6379, "host": "$APP_BLUEWALLET_REDIS_IP", "family": 4, "password": "moneyprintergobrrr", "db": 0 }, "lnd": { "url": "$APP_LIGHTNING_NODE_IP:$APP_LIGHTNING_NODE_GRPC_PORT", "password": ""}}'
|
||||
networks:
|
||||
default:
|
||||
ipv4_address: "${APP_BLUEWALLET_LNDHUB_IP}"
|
||||
CONFIG: '{ "rateLimit": 10000, "postRateLimit": 10000, "redis": { "port": 6379, "host": "bluewallet_redis_1", "family": 4, "password": "moneyprintergobrrr", "db": 0 }, "lnd": { "url": "$APP_LIGHTNING_NODE_IP:$APP_LIGHTNING_NODE_GRPC_PORT", "password": ""}}'
|
||||
|
|
|
@ -1,3 +0,0 @@
|
|||
export APP_BLUEWALLET_LNDHUB_IP="10.21.21.30"
|
||||
export APP_BLUEWALLET_LNDHUB_PORT="3008"
|
||||
export APP_BLUEWALLET_REDIS_IP="10.21.21.31"
|
|
@ -24,4 +24,6 @@ gallery:
|
|||
- 3.jpg
|
||||
path: ""
|
||||
defaultUsername: ""
|
||||
defaultPassword: ""
|
||||
defaultPassword: ""
|
||||
submitter: Aaron Dewes
|
||||
submission: https://github.com/getumbrel/umbrel/pull/566
|
|
@ -3,8 +3,8 @@ version: "3.7"
|
|||
services:
|
||||
app_proxy:
|
||||
environment:
|
||||
APP_HOST: $APP_BTC_RPC_EXPLORER_IP
|
||||
APP_PORT: $APP_BTC_RPC_EXPLORER_PORT
|
||||
APP_HOST: btc-rpc-explorer_web_1
|
||||
APP_PORT: 8080
|
||||
|
||||
web:
|
||||
image: getumbrel/btc-rpc-explorer:v3.3.0@sha256:cfd14f8e722cfbf1ad106ba224569c8babe685422461a641abc210e13913c636
|
||||
|
@ -13,6 +13,7 @@ services:
|
|||
environment:
|
||||
# Docker requirements
|
||||
BTCEXP_HOST: 0.0.0.0
|
||||
BTCEXP_PORT: 8080
|
||||
# Bitcoin Core
|
||||
BTCEXP_BITCOIND_HOST: $APP_BITCOIN_NODE_IP
|
||||
BTCEXP_BITCOIND_PORT: $APP_BITCOIN_RPC_PORT
|
||||
|
@ -32,6 +33,3 @@ services:
|
|||
# Disable RPC
|
||||
BTCEXP_RPC_ALLOWALL: "false"
|
||||
BTCEXP_BASIC_AUTH_PASSWORD: ""
|
||||
networks:
|
||||
default:
|
||||
ipv4_address: $APP_BTC_RPC_EXPLORER_IP
|
||||
|
|
|
@ -1,2 +0,0 @@
|
|||
export APP_BTC_RPC_EXPLORER_IP="10.21.21.12"
|
||||
export APP_BTC_RPC_EXPLORER_PORT="3002"
|
|
@ -29,4 +29,6 @@ gallery:
|
|||
- 3.jpg
|
||||
path: ""
|
||||
defaultUsername: ""
|
||||
defaultPassword: ""
|
||||
defaultPassword: ""
|
||||
submitter: Umbrel
|
||||
submission: https://github.com/getumbrel/umbrel/pull/334
|
|
@ -3,71 +3,66 @@ version: "3.7"
|
|||
services:
|
||||
app_proxy:
|
||||
environment:
|
||||
APP_HOST: $APP_BTCPAY_SERVER_IP
|
||||
APP_PORT: $APP_BTCPAY_SERVER_PORT
|
||||
APP_HOST: btcpay-server_web_1
|
||||
APP_PORT: 3003
|
||||
PROXY_AUTH_ADD: "false"
|
||||
|
||||
nbxplorer:
|
||||
image: nicolasdorier/nbxplorer:2.2.20@sha256:8f0e7f68513596e0a2555990d262169088a70204abe397bf18ba921f9b0608f3
|
||||
image: nicolasdorier/nbxplorer:2.3.58@sha256:e67e7b8953c8567860fe4972046af84c62c5878bb7b299c330db8a816f2d91af
|
||||
user: "1000:1000"
|
||||
restart: on-failure
|
||||
stop_grace_period: 1m
|
||||
depends_on: [postgres]
|
||||
volumes:
|
||||
- ${APP_DATA_DIR}/data/nbxplorer:/data
|
||||
- ${APP_DATA_DIR}/data/nbxplorer:/data
|
||||
environment:
|
||||
NBXPLORER_DATADIR: "/data"
|
||||
NBXPLORER_NETWORK: "$APP_BITCOIN_NETWORK"
|
||||
NBXPLORER_PORT: 32838
|
||||
NBXPLORER_BIND: 0.0.0.0
|
||||
NBXPLORER_CHAINS: "btc"
|
||||
NBXPLORER_SIGNALFILEDIR: "/data"
|
||||
NBXPLORER_BTCRPCURL: "http://$APP_BITCOIN_NODE_IP:$APP_BITCOIN_RPC_PORT"
|
||||
NBXPLORER_BTCNODEENDPOINT: $APP_BITCOIN_NODE_IP:$APP_BITCOIN_P2P_PORT
|
||||
NBXPLORER_BTCRPCUSER: $APP_BITCOIN_RPC_USER
|
||||
NBXPLORER_BTCRPCPASSWORD: $APP_BITCOIN_RPC_PASS
|
||||
networks:
|
||||
default:
|
||||
ipv4_address: $APP_BTCPAY_SERVER_NBXPLORER_IP
|
||||
NBXPLORER_DATADIR: "/data"
|
||||
NBXPLORER_NETWORK: "$APP_BITCOIN_NETWORK"
|
||||
NBXPLORER_BIND: 0.0.0.0:32838
|
||||
NBXPLORER_CHAINS: "btc"
|
||||
NBXPLORER_SIGNALFILEDIR: "/data"
|
||||
NBXPLORER_BTCRPCURL: "http://$APP_BITCOIN_NODE_IP:$APP_BITCOIN_RPC_PORT"
|
||||
NBXPLORER_BTCNODEENDPOINT: $APP_BITCOIN_NODE_IP:$APP_BITCOIN_P2P_PORT
|
||||
NBXPLORER_BTCRPCUSER: $APP_BITCOIN_RPC_USER
|
||||
NBXPLORER_BTCRPCPASSWORD: $APP_BITCOIN_RPC_PASS
|
||||
NBXPLORER_POSTGRES: User ID=postgres;Host=btcpay-server_postgres_1;Port=5432;Application Name=nbxplorer;MaxPoolSize=20;Database=nbxplorer$APP_BITCOIN_NETWORK
|
||||
NBXPLORER_AUTOMIGRATE: 1
|
||||
NBXPLORER_NOMIGRATEEVTS: 1
|
||||
|
||||
web:
|
||||
image: btcpayserver/btcpayserver:1.5.4@sha256:2c1338e14cda481a738f900f1684167d435618db3890bcfed6e51cd7e8d7674c
|
||||
image: btcpayserver/btcpayserver:1.7.5@sha256:dd7732a0e24c85c1317b67ba4eeb9f0f0af97ed953679b29ee06178b2e797892
|
||||
user: "1000:1000"
|
||||
restart: on-failure
|
||||
stop_grace_period: 1m
|
||||
depends_on: [ nbxplorer, postgres ]
|
||||
entrypoint: [ "dotnet", "BTCPayServer.dll" ]
|
||||
depends_on: [nbxplorer, postgres]
|
||||
entrypoint: ["dotnet", "BTCPayServer.dll"]
|
||||
volumes:
|
||||
- ${APP_DATA_DIR}/data/btcpay:/data
|
||||
- ${APP_DATA_DIR}/data/nbxplorer:/data/.nbxplorer
|
||||
- ${APP_LIGHTNING_NODE_DATA_DIR}:/lnd:ro
|
||||
- ${APP_DATA_DIR}/data/btcpay:/data
|
||||
- ${APP_DATA_DIR}/data/nbxplorer:/data/.nbxplorer
|
||||
- ${APP_LIGHTNING_NODE_DATA_DIR}:/lnd:ro
|
||||
environment:
|
||||
HOME: "/data"
|
||||
BTCPAY_DATADIR: "/data"
|
||||
BTCPAY_PLUGINDIR: "/data/plugins"
|
||||
BTCPAY_DOCKERDEPLOYMENT: "false"
|
||||
BTCPAY_POSTGRES: "User ID=postgres;Host=$APP_BTCPAY_SERVER_DB_IP;Port=5432;Database=btcpayserver$APP_BITCOIN_NETWORK"
|
||||
BTCPAY_NETWORK: "$APP_BITCOIN_NETWORK"
|
||||
BTCPAY_BIND: 0.0.0.0:$APP_BTCPAY_SERVER_PORT
|
||||
BTCPAY_CHAINS: "btc"
|
||||
BTCPAY_BTCEXPLORERURL: "http://$APP_BTCPAY_SERVER_NBXPLORER_IP:32838"
|
||||
BTCPAY_BTCLIGHTNING: "type=lnd-rest;server=https://$APP_LIGHTNING_NODE_IP:$APP_LIGHTNING_NODE_REST_PORT/;macaroonfilepath=/lnd/data/chain/bitcoin/$APP_BITCOIN_NETWORK/admin.macaroon;allowinsecure=true"
|
||||
BTCPAY_SOCKSENDPOINT: $TOR_PROXY_IP:$TOR_PROXY_PORT
|
||||
networks:
|
||||
default:
|
||||
ipv4_address: $APP_BTCPAY_SERVER_IP
|
||||
HOME: "/data"
|
||||
BTCPAY_DATADIR: "/data"
|
||||
BTCPAY_PLUGINDIR: "/data/plugins"
|
||||
BTCPAY_DOCKERDEPLOYMENT: "false"
|
||||
BTCPAY_POSTGRES: "User ID=postgres;Host=btcpay-server_postgres_1;Port=5432;Database=btcpayserver$APP_BITCOIN_NETWORK"
|
||||
BTCPAY_NETWORK: "$APP_BITCOIN_NETWORK"
|
||||
BTCPAY_BIND: 0.0.0.0:3003
|
||||
BTCPAY_CHAINS: "btc"
|
||||
BTCPAY_BTCEXPLORERURL: "http://btcpay-server_nbxplorer_1:32838"
|
||||
BTCPAY_BTCLIGHTNING: "type=lnd-rest;server=https://$APP_LIGHTNING_NODE_IP:$APP_LIGHTNING_NODE_REST_PORT/;macaroonfilepath=/lnd/data/chain/bitcoin/$APP_BITCOIN_NETWORK/admin.macaroon;allowinsecure=true"
|
||||
BTCPAY_SOCKSENDPOINT: $TOR_PROXY_IP:$TOR_PROXY_PORT
|
||||
BTCPAY_EXPLORERPOSTGRES: User ID=postgres;Host=btcpay-server_postgres_1;Port=5432;Application Name=nbxplorer;MaxPoolSize=20;Database=nbxplorer$APP_BITCOIN_NETWORK
|
||||
|
||||
postgres:
|
||||
image: btcpayserver/postgres:13.6@sha256:dadf0048895a888d88a2dd773dde2f5868c45f74ad37c6d208694df54b590531
|
||||
image: btcpayserver/postgres:13.7@sha256:dadf0048895a888d88a2dd773dde2f5868c45f74ad37c6d208694df54b590531
|
||||
# This needs to run as root for migrations to succeed
|
||||
# user: "1000:1000"
|
||||
restart: on-failure
|
||||
# https://github.com/btcpayserver/btcpayserver-docker/commit/a65e7db6851092c75c5ac6c091a5f36ccc5fc26e
|
||||
command: [ "-c", "random_page_cost=1.0" ]
|
||||
command: ["-c", "random_page_cost=1.0", "-c", "shared_preload_libraries=pg_stat_statements"]
|
||||
stop_grace_period: 1m
|
||||
environment:
|
||||
POSTGRES_HOST_AUTH_METHOD: trust
|
||||
POSTGRES_HOST_AUTH_METHOD: trust
|
||||
volumes:
|
||||
- ${APP_DATA_DIR}/data/postgres:/var/lib/postgresql/data
|
||||
networks:
|
||||
default:
|
||||
ipv4_address: $APP_BTCPAY_SERVER_DB_IP
|
||||
- ${APP_DATA_DIR}/data/postgres:/var/lib/postgresql/data
|
||||
|
|
|
@ -1,4 +0,0 @@
|
|||
export APP_BTCPAY_SERVER_IP="10.21.21.19"
|
||||
export APP_BTCPAY_SERVER_PORT="3003"
|
||||
export APP_BTCPAY_SERVER_NBXPLORER_IP="10.21.21.20"
|
||||
export APP_BTCPAY_SERVER_DB_IP="10.21.21.21"
|
|
@ -2,7 +2,7 @@ manifestVersion: 1
|
|||
id: btcpay-server
|
||||
category: Finance
|
||||
name: BTCPay Server
|
||||
version: "1.5.4"
|
||||
version: "1.7.5"
|
||||
tagline: Accept Bitcoin payments with 0 fees & no 3rd party
|
||||
description: >-
|
||||
BTCPay Server is a payment processor that allows you to receive
|
||||
|
@ -32,4 +32,22 @@ gallery:
|
|||
- 3.jpg
|
||||
path: ""
|
||||
defaultUsername: ""
|
||||
defaultPassword: ""
|
||||
defaultPassword: ""
|
||||
releaseNotes: >
|
||||
New features for 1.7.5!
|
||||
|
||||
- Greenfield: Lightning addresses API (#4546) @Kukks
|
||||
|
||||
|
||||
Bug fixes
|
||||
|
||||
- Fix several HTML injections (#4545) @NicolasDorier
|
||||
- BIP21: Uppercase addresses only in QR, not in payment URL (#4553) @dennisreimann
|
||||
- Checkout v2: UI fixes (#4552) @dennisreimann
|
||||
|
||||
|
||||
Improvement
|
||||
|
||||
- Checkout v2: Re-add LNURL for top-up invoices (#4556) @dennisreimann
|
||||
submitter: Umbrel
|
||||
submission: https://github.com/getumbrel/umbrel/pull/353
|
||||
|
|
BIN
calibre-web/data/books/metadata.db
Normal file
BIN
calibre-web/data/books/metadata.db
Normal file
Binary file not shown.
0
calibre-web/data/config/.gitkeep
Normal file
0
calibre-web/data/config/.gitkeep
Normal file
18
calibre-web/docker-compose.yml
Normal file
18
calibre-web/docker-compose.yml
Normal file
|
@ -0,0 +1,18 @@
|
|||
version: "3.7"
|
||||
|
||||
services:
|
||||
app_proxy:
|
||||
environment:
|
||||
APP_HOST: calibre-web_server_1
|
||||
APP_PORT: 8083
|
||||
|
||||
server:
|
||||
image: linuxserver/calibre-web:0.6.19@sha256:898987a2276b7f175f9ae787ef2b7f3f91103a3e621dffe7b67b3a9feae1b922
|
||||
stop_grace_period: 1m
|
||||
environment:
|
||||
- PUID=1000
|
||||
- PGID=1000
|
||||
volumes:
|
||||
- ${APP_DATA_DIR}/data/config:/config
|
||||
- ${APP_DATA_DIR}/data/books:/books
|
||||
restart: on-failure
|
58
calibre-web/umbrel-app.yml
Normal file
58
calibre-web/umbrel-app.yml
Normal file
|
@ -0,0 +1,58 @@
|
|||
manifestVersion: 1
|
||||
id: calibre-web
|
||||
category: Files
|
||||
name: Calibre Web
|
||||
version: "0.6.19"
|
||||
tagline: A clean web app for your eBooks
|
||||
description: >-
|
||||
Calibre-web is a web app providing a clean interface for browsing, reading and downloading eBooks using an existing Calibre database.
|
||||
It is also possible to integrate google drive and edit metadata and your calibre library through the app itself.
|
||||
It's the webbapp version of the well known Calibre for desktop.
|
||||
|
||||
|
||||
On the initial setup screen, enter /books as your calibre library location.
|
||||
|
||||
|
||||
If you wish to enable the upload feature, please go to "Settings > Edit Basic Configuration > Feature Configuration > Enable Upload".
|
||||
|
||||
|
||||
It's recommended to read through the official documentation, which is available at https://github.com/janeczku/calibre-web/wiki
|
||||
developer: Janeczku
|
||||
website: ""
|
||||
dependencies: []
|
||||
repo: https://github.com/janeczku/calibre-web
|
||||
support: https://github.com/linuxserver/docker-calibre-web/issues
|
||||
port: 8098
|
||||
gallery:
|
||||
- 1.jpg
|
||||
- 2.jpg
|
||||
- 3.jpg
|
||||
path: ""
|
||||
defaultUsername: "admin"
|
||||
defaultPassword: "admin123"
|
||||
torOnly: false
|
||||
releaseNotes: >-
|
||||
New features:
|
||||
|
||||
- Cover images are cached when using gdrive storage and local storage
|
||||
|
||||
- Kobo sync now uses calibre-web generated thumbnails as cover pictures
|
||||
|
||||
- Pagination button disapear in standard theme once infinite scroll is triggered
|
||||
|
||||
- And more. Full details can be found here: https://github.com/janeczku/calibre-web/releases/tag/0.6.19
|
||||
|
||||
|
||||
Bug fixes:
|
||||
|
||||
- Read status checkbox works again for custom columns
|
||||
|
||||
- Character '\u200d' is removed from end of email address and no longer causes an error on send emails
|
||||
|
||||
- Gevent log output is redirected to log file and no longer stops Calibre-web on Windows
|
||||
|
||||
- custom column of type "Text, but with a fixed set of permitted values" with default color no longer leads to error 500
|
||||
|
||||
- And more. Full details can be found in the changelog.
|
||||
submitter: Xosten
|
||||
submission: https://github.com/getumbrel/umbrel-apps/pull/74
|
0
circuitbreaker/data/.gitkeep
Normal file
0
circuitbreaker/data/.gitkeep
Normal file
18
circuitbreaker/docker-compose.yml
Normal file
18
circuitbreaker/docker-compose.yml
Normal file
|
@ -0,0 +1,18 @@
|
|||
version: "3.7"
|
||||
|
||||
services:
|
||||
app_proxy:
|
||||
environment:
|
||||
APP_HOST: circuitbreaker_web_1
|
||||
APP_PORT: 9235
|
||||
|
||||
web:
|
||||
image: ghcr.io/lightningequipment/circuitbreaker:v0.4.1@sha256:cecd9f17ee6de44127a9cdbeb47a6cbdb63b4b720411df6e9cb51cab433219bc
|
||||
user: "1000:1000"
|
||||
restart: on-failure
|
||||
stop_grace_period: 1m
|
||||
init: true
|
||||
volumes:
|
||||
- ${APP_LIGHTNING_NODE_DATA_DIR}:/data/.lnd:ro
|
||||
- ${APP_DATA_DIR}/data:/data/.circuitbreaker
|
||||
command: [ "--configdir=/data/.circuitbreaker", "--network=${APP_BITCOIN_NETWORK}", "--lnddir=/data/.lnd", "--rpcserver=${APP_LIGHTNING_NODE_IP}:${APP_LIGHTNING_NODE_GRPC_PORT}", "--httplisten=0.0.0.0:9235" ]
|
55
circuitbreaker/umbrel-app.yml
Normal file
55
circuitbreaker/umbrel-app.yml
Normal file
|
@ -0,0 +1,55 @@
|
|||
manifestVersion: 1
|
||||
id: circuitbreaker
|
||||
category: Lightning Node Management
|
||||
name: Circuit Breaker
|
||||
version: "v0.4.1"
|
||||
tagline: Your Lightning Node's Firewall
|
||||
description: >-
|
||||
It allows nodes to protect themselves from being flooded with HTLCs.
|
||||
With circuitbreaker a maximum to the number of in-flight HTLCs can be set on a per-peer basis.
|
||||
Known and trusted peers for example can be assigned a higher maximum, while a new channel from a previously unseen node may be limited to only a few pending HTLCs.
|
||||
Furthermore it is possible to apply rate limits to the number of forwarded HTLCs.
|
||||
This offers protection against DoS/spam attacks that rely on large numbers of fast-resolving HTLCs.
|
||||
Rate limiting is implemented with a Token bucket.
|
||||
Via the UI the minimum interval between HTLCs can be specified.
|
||||
Large numbers of HTLCs are also required for probing channel balances.
|
||||
Reducing the information leakage through probing could be another reason to put in place a rate limit for untrusted peers.
|
||||
|
||||
|
||||
Operating modes
|
||||
|
||||
|
||||
There are multiple modes in which circuitbreaker can operate. A default mode and per-peer overrides can be configured via the web ui:
|
||||
|
||||
|
||||
- fail: Fail back HTLCs when limits are exceeded. This minimizes the lock-up of liquidity on the incoming side, but does affect your reputation as a routing node.
|
||||
|
||||
|
||||
- queue: Queue HTLCs when limits are exceeded. Items are popped from the queue when the number of pending HTLCs is below the maximum and the rate limit allows another forward. This mode penalizes upstream nodes for the bad traffic that the deliver by locking up liquidity along the route. This may push upstream nodes to install a firewall too and constrain the mishaving node.
|
||||
|
||||
Even in case of circuit breaker malfunction, queue mode should never cause channel force closes because of lnd's built-in protection that auto-fails HTLCs that aren't resolved.
|
||||
|
||||
WARNING: Auto-fail is not yet released and scheduled for lnd 0.16. With earlier lnd versions, you risk force-closes!
|
||||
|
||||
|
||||
- queue_peer_initiated: This mode is also queuing HTLCs, but only those that come in through channels for which we aren't the channel open initiator. Not being the initiator means that the remote node is carrying the cost of a potential force-closure with stuck HTLCs. For channels that we initiated, the safer fail mode is used.
|
||||
|
||||
WARNING: See queue mode warning.
|
||||
releaseNotes: >-
|
||||
- Initial release on the Umbrel App Store
|
||||
developer: Joost Jager
|
||||
website: https://github.com/joostjager
|
||||
dependencies:
|
||||
- lightning
|
||||
repo: https://github.com/lightningequipment/circuitbreaker
|
||||
support: https://github.com/lightningequipment/circuitbreaker/issues
|
||||
port: 9235
|
||||
gallery:
|
||||
- 1.jpg
|
||||
- 2.jpg
|
||||
- 3.jpg
|
||||
path: ""
|
||||
defaultUsername: ""
|
||||
defaultPassword: ""
|
||||
submitter: Joost Jager
|
||||
submission: https://github.com/getumbrel/umbrel-apps/pull/394
|
|
@ -3,7 +3,7 @@ version: "3.7"
|
|||
services:
|
||||
app_proxy:
|
||||
environment:
|
||||
APP_HOST: $APP_CODE_SERVER_IP
|
||||
APP_HOST: code-server_server_1
|
||||
APP_PORT: 8080
|
||||
|
||||
server:
|
||||
|
@ -14,6 +14,3 @@ services:
|
|||
- ${APP_DATA_DIR}/data:/home/coder
|
||||
environment:
|
||||
PASSWORD: $APP_PASSWORD
|
||||
networks:
|
||||
default:
|
||||
ipv4_address: $APP_CODE_SERVER_IP
|
||||
|
|
|
@ -1,2 +0,0 @@
|
|||
export APP_CODE_SERVER_IP="10.21.21.53"
|
||||
export APP_CODE_SERVER_PORT="8091"
|
|
@ -25,4 +25,6 @@ gallery:
|
|||
path: ""
|
||||
defaultUsername: ""
|
||||
deterministicPassword: true
|
||||
torOnly: false
|
||||
torOnly: false
|
||||
submitter: Umbrel
|
||||
submission: https://github.com/getumbrel/umbrel/commit/14f8b3aec8cb99ef0940ba0cd9df25b7126a95cc
|
|
@ -1,25 +1,22 @@
|
|||
version: "3.8"
|
||||
version: "3.7"
|
||||
|
||||
services:
|
||||
app_proxy:
|
||||
environment:
|
||||
APP_HOST: $APP_CORE_LIGHTNING_RTL_IP
|
||||
APP_HOST: core-lightning-rtl_web_1
|
||||
APP_PORT: 3000
|
||||
|
||||
rtl:
|
||||
image: shahanafarooqui/rtl:0.12.3@sha256:b1327ecfddae5f40c4c985e31c2bc158c4697a274b61bf84acfb27486d05c5bf
|
||||
web:
|
||||
image: shahanafarooqui/rtl:0.13.2@sha256:07d4c1f263c05c32270dcaab3625fc68ef985efce652e7850fbf57f65d36366f
|
||||
restart: on-failure
|
||||
environment:
|
||||
PORT: 3000
|
||||
APP_PASSWORD: $APP_PASSWORD
|
||||
LN_IMPLEMENTATION: CLT
|
||||
LN_IMPLEMENTATION: CLN
|
||||
LN_SERVER_URL: http://${APP_CORE_LIGHTNING_REST_IP}:${APP_CORE_LIGHTNING_REST_PORT}/v1
|
||||
MACAROON_PATH: /c-lightning-rest/certs
|
||||
RTL_CONFIG_PATH: /data/
|
||||
RTL_COOKIE_PATH: /data/.cookie
|
||||
volumes:
|
||||
- "${APP_DATA_DIR}/data/rtl:/data"
|
||||
- "${APP_CORE_LIGHTNING_REST_CERT_DIR}:/c-lightning-rest/certs"
|
||||
networks:
|
||||
default:
|
||||
ipv4_address: ${APP_CORE_LIGHTNING_RTL_IP}
|
||||
- "${APP_CORE_LIGHTNING_REST_CERT_DIR}:/c-lightning-rest/certs"
|
|
@ -1 +0,0 @@
|
|||
export APP_CORE_LIGHTNING_RTL_IP="10.21.21.97"
|
|
@ -2,8 +2,8 @@ manifestVersion: 1
|
|||
id: core-lightning-rtl
|
||||
category: Lightning Node Management
|
||||
name: Ride The Lightning (Core Lightning)
|
||||
version: "0.12.3"
|
||||
tagline: Mange your Core Lightning node with RTL
|
||||
version: "0.13.2-beta"
|
||||
tagline: Manage your Core Lightning node with RTL
|
||||
description: >-
|
||||
This version of RTL is specifically configured to use your Core Lightning node.
|
||||
|
||||
|
@ -42,4 +42,14 @@ gallery:
|
|||
- 2.jpg
|
||||
- 3.jpg
|
||||
path: ""
|
||||
deterministicPassword: true
|
||||
deterministicPassword: true
|
||||
releaseNotes: >-
|
||||
- Multiple channels with the same peer now visible on the channels page
|
||||
|
||||
- User customizable grids enabling you to control: number of rows on the page, columns you want to view and default sorting order
|
||||
|
||||
- Setting to control opening of unannounced channels by default
|
||||
|
||||
- Other bug fixes and usability fixes
|
||||
submitter: Umbrel
|
||||
submission: https://github.com/getumbrel/umbrel-apps/pull/7
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
version: "3.8"
|
||||
version: "3.7"
|
||||
|
||||
services:
|
||||
app_proxy:
|
||||
|
@ -30,7 +30,7 @@ services:
|
|||
ipv4_address: ${APP_CORE_LIGHTNING_IP}
|
||||
|
||||
c-lightning-rest:
|
||||
image: saubyk/c-lightning-rest:0.7.2@sha256:7943ca9bf7b3952e4956b322405890788b6ddda553908c3a284438ef4e616768
|
||||
image: saubyk/c-lightning-rest:0.9.0@sha256:00b40443f1f455378587abb37649fdb7c7b1efb43ed64bc9fe78d9bf6ffb4371
|
||||
restart: on-failure
|
||||
ports:
|
||||
- ${APP_CORE_LIGHTNING_REST_PORT}:${APP_CORE_LIGHTNING_REST_PORT}
|
||||
|
@ -45,7 +45,7 @@ services:
|
|||
ipv4_address: ${APP_CORE_LIGHTNING_REST_IP}
|
||||
|
||||
lightningd:
|
||||
image: lncm/clightning:v0.11.0@sha256:75e0ce04d644f34b07bc8a3b92e58b3db4e3c06bdc0e0cecd1669bc3b2d53421
|
||||
image: lncm/clightning:v22.11.1@sha256:e9939341ca6736566e0499db5a339b25140d6e77fb16ab202c217112f0df9b77
|
||||
restart: on-failure
|
||||
ports:
|
||||
- ${APP_CORE_LIGHTNING_DAEMON_PORT}:9735
|
||||
|
@ -57,9 +57,21 @@ services:
|
|||
- --bind-addr=${APP_CORE_LIGHTNING_DAEMON_IP}:9735
|
||||
- --addr=statictor:${TOR_PROXY_IP}:29051
|
||||
- --tor-service-password=${TOR_PASSWORD}
|
||||
- --network=${APP_CORE_LIGHTNING_BITCOIN_NETWORK}
|
||||
- --database-upgrade=true
|
||||
#- --grpc-port=${APP_CORE_LIGHTNING_DAEMON_GRPC_PORT}
|
||||
volumes:
|
||||
- "${APP_DATA_DIR}/data/lightningd:/data/.lightning"
|
||||
networks:
|
||||
default:
|
||||
ipv4_address: ${APP_CORE_LIGHTNING_DAEMON_IP}
|
||||
ipv4_address: ${APP_CORE_LIGHTNING_DAEMON_IP}
|
||||
|
||||
tor:
|
||||
image: getumbrel/tor:0.4.7.8@sha256:2ace83f22501f58857fa9b403009f595137fa2e7986c4fda79d82a8119072b6a
|
||||
user: "1000:1000"
|
||||
restart: on-failure
|
||||
volumes:
|
||||
- ${APP_DATA_DIR}/torrc:/etc/tor/torrc:ro
|
||||
- ${TOR_DATA_DIR}:/data
|
||||
environment:
|
||||
HOME: "/tmp"
|
||||
|
|
|
@ -8,5 +8,10 @@ export APP_CORE_LIGHTNING_DAEMON_GRPC_PORT="2105"
|
|||
|
||||
export APP_CORE_LIGHTNING_REST_CERT_DIR="${EXPORTS_APP_DIR}/data/c-lightning-rest/certs"
|
||||
|
||||
export APP_CORE_LIGHTNING_BITCOIN_NETWORK="${APP_BITCOIN_NETWORK}"
|
||||
if [[ "${APP_BITCOIN_NETWORK}" == "mainnet" ]]; then
|
||||
export APP_CORE_LIGHTNING_BITCOIN_NETWORK="bitcoin"
|
||||
fi
|
||||
|
||||
rest_hidden_service_file="${EXPORTS_TOR_DATA_DIR}/app-${EXPORTS_APP_ID}-rest/hostname"
|
||||
export APP_CORE_LIGHTNING_REST_HIDDEN_SERVICE="$(cat "${rest_hidden_service_file}" 2>/dev/null || echo "notyetset.onion")"
|
||||
export APP_CORE_LIGHTNING_REST_HIDDEN_SERVICE="$(cat "${rest_hidden_service_file}" 2>/dev/null || echo "notyetset.onion")"
|
||||
|
|
26
core-lightning/hooks/pre-start
Executable file
26
core-lightning/hooks/pre-start
Executable file
|
@ -0,0 +1,26 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
# Delay booting Core Lightning until the REST Tor Hidden Service is ready
|
||||
|
||||
HIDDEN_SERVICE_FILE="${TOR_DATA_DIR}/app-${APP_ID}-rest/hostname"
|
||||
|
||||
if [[ -f "${HIDDEN_SERVICE_FILE}" ]]; then
|
||||
exit
|
||||
fi
|
||||
|
||||
"${UMBREL_ROOT}/scripts/app" compose "${APP_ID}" up --detach c-lightning-rest
|
||||
"${UMBREL_ROOT}/scripts/app" compose "${APP_ID}" up --detach tor
|
||||
|
||||
echo "App: ${APP_ID} - Generating Tor Hidden Service..."
|
||||
|
||||
for attempt in $(seq 1 100); do
|
||||
if [[ -f "${HIDDEN_SERVICE_FILE}" ]]; then
|
||||
echo "App: ${APP_ID} - Hidden service file created successfully!"
|
||||
break
|
||||
fi
|
||||
sleep 0.1
|
||||
done
|
||||
|
||||
if [[ ! -f "${HIDDEN_SERVICE_FILE}" ]]; then
|
||||
echo "App: ${APP_ID} - Hidden service file wasn't created"
|
||||
fi
|
|
@ -1,7 +1,3 @@
|
|||
# Core Lightning REST Hidden Service
|
||||
HiddenServiceDir /data/app-$APP_ID-rest
|
||||
HiddenServicePort $APP_CORE_LIGHTNING_REST_PORT $APP_CORE_LIGHTNING_REST_IP:$APP_CORE_LIGHTNING_REST_PORT
|
||||
|
||||
# Core Lightning Frontend Hidden Service
|
||||
HiddenServiceDir /data/app-$APP_ID
|
||||
HiddenServicePort 80 $APP_PROXY_HOSTNAME:$APP_PROXY_PORT
|
||||
HiddenServicePort $APP_CORE_LIGHTNING_REST_PORT $APP_CORE_LIGHTNING_REST_IP:$APP_CORE_LIGHTNING_REST_PORT
|
|
@ -1,8 +1,8 @@
|
|||
manifestVersion: 1
|
||||
manifestVersion: 1.1
|
||||
id: core-lightning
|
||||
category: Finance
|
||||
name: Core Lightning
|
||||
version: "0.11.1-build-3"
|
||||
version: "22.11.1"
|
||||
tagline: Run your personal Core Lightning node
|
||||
description: >-
|
||||
Get started with the Lightning network today with Core Lightning - a
|
||||
|
@ -25,7 +25,7 @@ developer: Umbrel
|
|||
website: https://umbrel.com
|
||||
dependencies:
|
||||
- bitcoin
|
||||
repo: https://github.com/getumbrel/umbrel-lightning
|
||||
repo: https://github.com/getumbrel/umbrel-core-lightning
|
||||
support: https://community.getumbrel.com/c/bitcoin-and-lightning
|
||||
port: 2103
|
||||
gallery:
|
||||
|
@ -34,4 +34,19 @@ gallery:
|
|||
- 3.jpg
|
||||
- 4.jpg
|
||||
path: ""
|
||||
defaultPassword: ""
|
||||
defaultPassword: ""
|
||||
submitter: Umbrel
|
||||
submission: https://github.com/getumbrel/umbrel-apps/pull/7
|
||||
releaseNotes: >-
|
||||
- We reintroduced a number of deprecated features, since some integrations had missed the deprecation window, and asked for some more time to update their apps
|
||||
|
||||
- The new experimental reckless plugin manager can be used to download, install and uninstall plugins on the fly. We have many new features planned for it, so stay tuned.
|
||||
|
||||
- When receiving a keysend any extra TLV fields will be stored so they can be retrieved later.
|
||||
|
||||
- The --database-update=false flag allows users wanting to test unreleased versions from accidentally upgrading the database, and then be unable to switch to a released version again.
|
||||
|
||||
- Several performance issues, particularly for larger nodes, have been addressed
|
||||
|
||||
|
||||
And much more. Full changelog from v0.11.1 can be found here: https://github.com/ElementsProject/lightning/releases
|
|
@ -24,7 +24,7 @@ services:
|
|||
ipv4_address: $APP_ELECTRS_IP
|
||||
|
||||
electrs:
|
||||
image: getumbrel/electrs:v0.9.4@sha256:b1590ac6cfb0e5b481c6a7af7f0626d76cbb91c63702b0f5c47e2829e9c37997
|
||||
image: getumbrel/electrs:v0.9.10@sha256:7b64bf93f2137fcd040fc512a302abda17dd1b4cad8181a14fa34c15361f1334
|
||||
restart: always
|
||||
environment:
|
||||
ELECTRS_LOG_FILTERS: "INFO"
|
||||
|
@ -41,4 +41,14 @@ services:
|
|||
- "${APP_ELECTRS_NODE_PORT}:${APP_ELECTRS_NODE_PORT}"
|
||||
networks:
|
||||
default:
|
||||
ipv4_address: $APP_ELECTRS_NODE_IP
|
||||
ipv4_address: $APP_ELECTRS_NODE_IP
|
||||
|
||||
tor:
|
||||
image: getumbrel/tor:0.4.7.8@sha256:2ace83f22501f58857fa9b403009f595137fa2e7986c4fda79d82a8119072b6a
|
||||
user: "1000:1000"
|
||||
restart: on-failure
|
||||
volumes:
|
||||
- ${APP_DATA_DIR}/torrc:/etc/tor/torrc:ro
|
||||
- ${TOR_DATA_DIR}:/data
|
||||
environment:
|
||||
HOME: "/tmp"
|
26
electrs/hooks/pre-start
Executable file
26
electrs/hooks/pre-start
Executable file
|
@ -0,0 +1,26 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
# Delay booting Electrs until the RPC Tor Hidden Service is ready
|
||||
|
||||
HIDDEN_SERVICE_FILE="${TOR_DATA_DIR}/app-${APP_ID}-rpc/hostname"
|
||||
|
||||
if [[ -f "${HIDDEN_SERVICE_FILE}" ]]; then
|
||||
exit
|
||||
fi
|
||||
|
||||
"${UMBREL_ROOT}/scripts/app" compose "${APP_ID}" up --detach electrs
|
||||
"${UMBREL_ROOT}/scripts/app" compose "${APP_ID}" up --detach tor
|
||||
|
||||
echo "App: ${APP_ID} - Generating Tor Hidden Service..."
|
||||
|
||||
for attempt in $(seq 1 100); do
|
||||
if [[ -f "${HIDDEN_SERVICE_FILE}" ]]; then
|
||||
echo "App: ${APP_ID} - Hidden service file created successfully!"
|
||||
break
|
||||
fi
|
||||
sleep 0.1
|
||||
done
|
||||
|
||||
if [[ ! -f "${HIDDEN_SERVICE_FILE}" ]]; then
|
||||
echo "App: ${APP_ID} - Hidden service file wasn't created"
|
||||
fi
|
|
@ -1,7 +1,3 @@
|
|||
# Electrs RPC Hidden Service
|
||||
HiddenServiceDir /data/app-$APP_ID-rpc
|
||||
HiddenServicePort $APP_ELECTRS_NODE_PORT $APP_ELECTRS_NODE_IP:$APP_ELECTRS_NODE_PORT
|
||||
|
||||
# Electrs Frontend Hidden Service
|
||||
HiddenServiceDir /data/app-$APP_ID
|
||||
HiddenServicePort 80 $APP_PROXY_HOSTNAME:$APP_PROXY_PORT
|
||||
HiddenServicePort $APP_ELECTRS_NODE_PORT $APP_ELECTRS_NODE_IP:$APP_ELECTRS_NODE_PORT
|
|
@ -1,8 +1,8 @@
|
|||
manifestVersion: 1
|
||||
manifestVersion: 1.1
|
||||
id: electrs
|
||||
category: Finance
|
||||
name: Electrs
|
||||
version: "0.9.4-build-2"
|
||||
version: "0.9.10"
|
||||
tagline: A simple and efficient Electrum Server
|
||||
description: >
|
||||
Run your personal Electrum server and connect your Electrum-compatible wallet,
|
||||
|
@ -28,4 +28,14 @@ gallery:
|
|||
- 3.jpg
|
||||
- 4.jpg
|
||||
path: ""
|
||||
defaultPassword: ""
|
||||
defaultPassword: ""
|
||||
releaseNotes: >
|
||||
- Update dependencies (bitcoin, bitcoincore-rpc, tiny_http, serde_json, env_logger)
|
||||
|
||||
- Fix mempool fee rate formatting (#761)
|
||||
|
||||
- Allow configuring signet p2p magic (#762, #768)
|
||||
|
||||
- Don't panic in case of an invalid block header height (#786)
|
||||
submitter: Umbrel
|
||||
submission: https://github.com/getumbrel/umbrel/pull/242
|
|
@ -3,7 +3,7 @@ version: "3.7"
|
|||
services:
|
||||
app_proxy:
|
||||
environment:
|
||||
APP_HOST: $APP_ELEMENT_IP
|
||||
APP_HOST: element_web_1
|
||||
APP_PORT: 80
|
||||
|
||||
web:
|
||||
|
@ -12,6 +12,3 @@ services:
|
|||
# user: "1000:1000"
|
||||
restart: on-failure
|
||||
stop_grace_period: 1m
|
||||
networks:
|
||||
default:
|
||||
ipv4_address: $APP_ELEMENT_IP
|
||||
|
|
|
@ -1,2 +0,0 @@
|
|||
export APP_ELEMENT_IP="10.21.21.45"
|
||||
export APP_ELEMENT_PORT="8088"
|
|
@ -36,4 +36,6 @@ gallery:
|
|||
path: ""
|
||||
defaultUsername: ""
|
||||
defaultPassword: ""
|
||||
torOnly: false
|
||||
torOnly: false
|
||||
submitter: Umbrel
|
||||
submission: https://github.com/getumbrel/umbrel/commit/bb10e17a6256db19767af7eaeb93e665ac275b24
|
|
@ -1,9 +1,9 @@
|
|||
version: "3.8"
|
||||
version: "3.7"
|
||||
|
||||
services:
|
||||
app_proxy:
|
||||
environment:
|
||||
APP_HOST: $APP_ELEMENTS_IP
|
||||
APP_HOST: elements_web_1
|
||||
APP_PORT: 8080
|
||||
|
||||
node:
|
||||
|
@ -38,9 +38,6 @@ services:
|
|||
- -port=$APP_ELEMENTS_NODE_P2P_PORT
|
||||
- -blockfilterindex=1
|
||||
- -peerblockfilters=1
|
||||
networks:
|
||||
default:
|
||||
ipv4_address: $APP_ELEMENTS_NODE_IP
|
||||
|
||||
web:
|
||||
image: ghcr.io/tiero/elements-web:v0.0.3@sha256:b80dc0df2a4693668a97b874aad6d0a8d3239d03f4d05b4342600166934d0b87
|
||||
|
@ -51,13 +48,18 @@ services:
|
|||
RPC_USER: elements
|
||||
RPC_PASS: $APP_PASSWORD
|
||||
RPC_PORT: $APP_ELEMENTS_NODE_RPC_PORT
|
||||
RPC_HOST: $APP_ELEMENTS_NODE_IP
|
||||
RPC_HOST: elements_node_1
|
||||
P2P_PORT: $APP_ELEMENTS_NODE_P2P_PORT
|
||||
# Remote
|
||||
REMOTE_RPC_HOST: $APP_ELEMENTS_RPC_HIDDEN_SERVICE
|
||||
REMOTE_P2P_HOST: $APP_ELEMENTS_P2P_HIDDEN_SERVICE
|
||||
networks:
|
||||
default:
|
||||
ipv4_address: $APP_ELEMENTS_IP
|
||||
|
||||
|
||||
tor:
|
||||
image: getumbrel/tor:0.4.7.8@sha256:2ace83f22501f58857fa9b403009f595137fa2e7986c4fda79d82a8119072b6a
|
||||
user: "1000:1000"
|
||||
restart: on-failure
|
||||
volumes:
|
||||
- ${APP_DATA_DIR}/torrc:/etc/tor/torrc:ro
|
||||
- ${TOR_DATA_DIR}:/data
|
||||
environment:
|
||||
HOME: "/tmp"
|
|
@ -1,6 +1,3 @@
|
|||
export APP_ELEMENTS_PORT="3042"
|
||||
export APP_ELEMENTS_IP="10.21.21.91"
|
||||
export APP_ELEMENTS_NODE_IP="10.21.21.92"
|
||||
export APP_ELEMENTS_NODE_RPC_PORT="7041"
|
||||
export APP_ELEMENTS_NODE_P2P_PORT="18332"
|
||||
|
||||
|
|
26
elements/hooks/pre-start
Executable file
26
elements/hooks/pre-start
Executable file
|
@ -0,0 +1,26 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
# Delay booting Elements until the RPC and P2P Tor Hidden Services are ready
|
||||
|
||||
HIDDEN_SERVICE_FILE="${TOR_DATA_DIR}/app-${APP_ID}-p2p/hostname"
|
||||
|
||||
if [[ -f "${HIDDEN_SERVICE_FILE}" ]]; then
|
||||
exit
|
||||
fi
|
||||
|
||||
"${UMBREL_ROOT}/scripts/app" compose "${APP_ID}" up --detach node
|
||||
"${UMBREL_ROOT}/scripts/app" compose "${APP_ID}" up --detach tor
|
||||
|
||||
echo "App: ${APP_ID} - Generating Tor Hidden Service..."
|
||||
|
||||
for attempt in $(seq 1 100); do
|
||||
if [[ -f "${HIDDEN_SERVICE_FILE}" ]]; then
|
||||
echo "App: ${APP_ID} - Hidden service file created successfully!"
|
||||
break
|
||||
fi
|
||||
sleep 0.1
|
||||
done
|
||||
|
||||
if [[ ! -f "${HIDDEN_SERVICE_FILE}" ]]; then
|
||||
echo "App: ${APP_ID} - Hidden service file wasn't created"
|
||||
fi
|
|
@ -1,11 +1,7 @@
|
|||
# elements rpc Hidden Service
|
||||
HiddenServiceDir /data/app-$APP_ID-rpc
|
||||
HiddenServicePort $APP_ELEMENTS_NODE_RPC_PORT $APP_ELEMENTS_NODE_IP:$APP_ELEMENTS_NODE_RPC_PORT
|
||||
HiddenServicePort $APP_ELEMENTS_NODE_RPC_PORT elements_node_1:$APP_ELEMENTS_NODE_RPC_PORT
|
||||
|
||||
# elements p2p Hidden Service
|
||||
HiddenServiceDir /data/app-$APP_ID-p2p
|
||||
HiddenServicePort $APP_ELEMENTS_NODE_P2P_PORT $APP_ELEMENTS_NODE_IP:$APP_ELEMENTS_NODE_P2P_PORT
|
||||
|
||||
# elements Hidden Service
|
||||
HiddenServiceDir /data/app-$APP_ID
|
||||
HiddenServicePort 80 $APP_PROXY_HOSTNAME:$APP_PROXY_PORT
|
||||
HiddenServicePort $APP_ELEMENTS_NODE_P2P_PORT elements_node_1:$APP_ELEMENTS_NODE_P2P_PORT
|
|
@ -1,4 +1,4 @@
|
|||
manifestVersion: 1
|
||||
manifestVersion: 1.1
|
||||
id: elements
|
||||
category: Wallet Servers
|
||||
name: Elements Core
|
||||
|
@ -21,4 +21,6 @@ gallery:
|
|||
- 3.jpg
|
||||
path: ''
|
||||
deterministicPassword: false
|
||||
torOnly: false
|
||||
torOnly: false
|
||||
submitter: Marco Argentieri
|
||||
submission: https://github.com/getumbrel/umbrel/pull/1319
|
0
esphome/data/.gitkeep
Normal file
0
esphome/data/.gitkeep
Normal file
0
esphome/data/secrets.yaml
Normal file
0
esphome/data/secrets.yaml
Normal file
13
esphome/docker-compose.yml
Normal file
13
esphome/docker-compose.yml
Normal file
|
@ -0,0 +1,13 @@
|
|||
version: "3.7"
|
||||
|
||||
services:
|
||||
app_proxy:
|
||||
environment:
|
||||
APP_HOST: esphome_server_1
|
||||
APP_PORT: 6052
|
||||
|
||||
server:
|
||||
image: esphome/esphome:2022.6.2@sha256:1fac6334b85e76c7fd936036891b7a7ee761ee73fd119662b2cb564c3faf818f
|
||||
volumes:
|
||||
- ${APP_DATA_DIR}/data:/config
|
||||
restart: on-failure
|
24
esphome/umbrel-app.yml
Normal file
24
esphome/umbrel-app.yml
Normal file
|
@ -0,0 +1,24 @@
|
|||
manifestVersion: 1
|
||||
id: esphome
|
||||
category: Automation
|
||||
name: ESPHome
|
||||
version: "2022.6.2"
|
||||
tagline: Intelligently manage all your ESP8266/ESP32 devices
|
||||
description: >-
|
||||
ESPHome is a system to control your ESP8266/ESP32 by simple yet powerful configuration files and control them remotely through Home Automation systems.
|
||||
developer: ESPHome
|
||||
website: https://esphome.io
|
||||
dependencies: []
|
||||
repo: https://github.com/esphome/esphome
|
||||
support: https://community.home-assistant.io/c/esphome
|
||||
port: 6052
|
||||
gallery:
|
||||
- 1.jpg
|
||||
- 2.jpg
|
||||
- 3.jpg
|
||||
path: ""
|
||||
defaultUsername: ""
|
||||
defaultPassword: ""
|
||||
torOnly: false
|
||||
submitter: ShonP40
|
||||
submission: https://github.com/getumbrel/umbrel-apps/pull/43
|
0
file-browser/data/filebrowser.db
Normal file
0
file-browser/data/filebrowser.db
Normal file
20
file-browser/docker-compose.yml
Normal file
20
file-browser/docker-compose.yml
Normal file
|
@ -0,0 +1,20 @@
|
|||
version: "3.7"
|
||||
|
||||
services:
|
||||
app_proxy:
|
||||
environment:
|
||||
APP_HOST: file-browser_server_1
|
||||
APP_PORT: 80
|
||||
|
||||
server:
|
||||
image: filebrowser/filebrowser:v2.22.4@sha256:8a30269612a3bc8453ab29641c3e3d7ad141a8d142efc2cd78196281b1035537
|
||||
user: "1000:1000"
|
||||
restart: on-failure
|
||||
volumes:
|
||||
- ${APP_DATA_DIR}/data/filebrowser.db:/database/filebrowser.db
|
||||
- ${UMBREL_ROOT}/data/storage:/data
|
||||
environment:
|
||||
- FB_PORT=80
|
||||
- FB_DATABASE=/database/filebrowser.db
|
||||
- FB_ROOT=/data
|
||||
- FB_NOAUTH=true
|
22
file-browser/exports.sh
Normal file
22
file-browser/exports.sh
Normal file
|
@ -0,0 +1,22 @@
|
|||
UMBREL_DATA_DIR="${UMBREL_ROOT}/data"
|
||||
UMBREL_DATA_STORAGE_DIR="${UMBREL_DATA_DIR}/storage"
|
||||
DESIRED_OWNER="1000:1000"
|
||||
|
||||
if [[ ! -d "${UMBREL_DATA_STORAGE_DIR}" ]]; then
|
||||
mkdir -p "${UMBREL_DATA_STORAGE_DIR}"
|
||||
fi
|
||||
|
||||
filebrowser_correct_permission() {
|
||||
local -r path="${1}"
|
||||
|
||||
if [[ -d "${path}" ]]; then
|
||||
owner=$(stat -c "%u:%g" "${path}")
|
||||
|
||||
if [[ "${owner}" != "${DESIRED_OWNER}" ]]; then
|
||||
chown "${DESIRED_OWNER}" "${path}"
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
filebrowser_correct_permission "${UMBREL_DATA_DIR}"
|
||||
filebrowser_correct_permission "${UMBREL_DATA_STORAGE_DIR}"
|
26
file-browser/umbrel-app.yml
Normal file
26
file-browser/umbrel-app.yml
Normal file
|
@ -0,0 +1,26 @@
|
|||
manifestVersion: 1
|
||||
id: file-browser
|
||||
category: Files
|
||||
name: File Browser
|
||||
version: "2.22.4"
|
||||
tagline: Browse and manage the files you download on your Umbrel
|
||||
description: >-
|
||||
File Browser lets you upload, delete, preview, rename and edit your folders and files.
|
||||
|
||||
|
||||
Easily manage files in the Umbrel's storage folder where your downloads from apps like Transmission, Sonarr, Radarr, and Lidarr are currently held.
|
||||
developer: File Browser
|
||||
website: https://filebrowser.org/
|
||||
dependencies: []
|
||||
repo: https://github.com/filebrowser/filebrowser
|
||||
support: https://github.com/filebrowser/filebrowser/issues
|
||||
port: 7421
|
||||
gallery:
|
||||
- 1.jpg
|
||||
- 2.jpg
|
||||
- 3.jpg
|
||||
path: "/files/"
|
||||
deterministicPassword: false
|
||||
torOnly: false
|
||||
submitter: Umbrel
|
||||
submission: https://github.com/getumbrel/umbrel-apps/pull/169
|
0
firefly-iii/data/logs/.gitkeep
Normal file
0
firefly-iii/data/logs/.gitkeep
Normal file
0
firefly-iii/data/mysql/.gitkeep
Normal file
0
firefly-iii/data/mysql/.gitkeep
Normal file
0
firefly-iii/data/upload/.gitkeep
Normal file
0
firefly-iii/data/upload/.gitkeep
Normal file
38
firefly-iii/docker-compose.yml
Normal file
38
firefly-iii/docker-compose.yml
Normal file
|
@ -0,0 +1,38 @@
|
|||
version: "3.7"
|
||||
|
||||
services:
|
||||
app_proxy:
|
||||
environment:
|
||||
APP_HOST: firefly-iii_server_1
|
||||
APP_PORT: 8080
|
||||
PROXY_AUTH_WHITELIST: "/api/*"
|
||||
|
||||
server:
|
||||
image: fireflyiii/core:version-5.7.18@sha256:f72a0dfcc2e12fb96d4a7f1e64834518692914ce40565904473f64401c1bda58
|
||||
# This image runs under the user/group www-data:www-data
|
||||
# user: "1000:1000"
|
||||
restart: on-failure
|
||||
environment:
|
||||
APP_KEY: $APP_FIREFLY_III_APP_KEY
|
||||
DB_HOST: firefly-iii_db_1
|
||||
DB_PORT: 3306
|
||||
DB_CONNECTION: mysql
|
||||
DB_DATABASE: fireflyiii
|
||||
DB_USERNAME: fireflyiii
|
||||
DB_PASSWORD: moneyprintergobrrr
|
||||
volumes:
|
||||
- ${APP_DATA_DIR}/data/upload:/var/www/html/storage/upload
|
||||
- ${APP_DATA_DIR}/data/logs:/var/www/html/storage/logs
|
||||
|
||||
db:
|
||||
image: mariadb:10.9.4@sha256:f5146e2e0999a6afcf2a9134bb415ad068bf80ec29704f374f6f7dabb145738d
|
||||
user: "1000:1000"
|
||||
restart: on-failure
|
||||
stop_grace_period: 1m
|
||||
volumes:
|
||||
- ${APP_DATA_DIR}/data/mysql:/var/lib/mysql
|
||||
environment:
|
||||
MYSQL_DATABASE: "fireflyiii"
|
||||
MYSQL_USER: "fireflyiii"
|
||||
MYSQL_PASSWORD: "moneyprintergobrrr"
|
||||
MYSQL_ROOT_PASSWORD: "moneyprintergobrrr"
|
1
firefly-iii/exports.sh
Normal file
1
firefly-iii/exports.sh
Normal file
|
@ -0,0 +1 @@
|
|||
export APP_FIREFLY_III_APP_KEY=$(derive_entropy "env-${app_entropy_identifier}-APP_KEY" | head -c32)
|
48
firefly-iii/umbrel-app.yml
Normal file
48
firefly-iii/umbrel-app.yml
Normal file
|
@ -0,0 +1,48 @@
|
|||
manifestVersion: 1
|
||||
id: firefly-iii
|
||||
category: Finance
|
||||
name: Firefly III
|
||||
version: "5.7.18"
|
||||
tagline: Your personal finance manager
|
||||
description: >-
|
||||
Firefly III is a manager for your personal finances. It is self-hosted and open source. This means that it's free, it has no ads and no tracking.
|
||||
|
||||
|
||||
Full transaction management
|
||||
|
||||
Firefly III features a double-entry bookkeeping system. You can quickly enter and organize your transactions in multiple currencies.
|
||||
|
||||
|
||||
Advanced rule engine
|
||||
|
||||
Use rules to quickly convert shorthands to detailed transactions or clean up your bank's abysmal CSV files.
|
||||
|
||||
|
||||
Budgets, categories and tags
|
||||
|
||||
Name your poison. Do you like to work with tags? Need to budget your expenses? Want to categorize all of your hobby expenses? Look no further. Firefly III supports all kinds. Budgets can be expanded with limits in multiple currencies, so you can budget both your daily household expenses and what you spend in Imperial Credits when visiting Tatooine.
|
||||
|
||||
|
||||
Informative reports
|
||||
|
||||
Firefly III has advanced reporting capabilities, showing your expenses per week, month or year. But it can also help you audit your accounts with detailed list views. Or perhaps compare budgets or tags? It's all possible.
|
||||
|
||||
|
||||
JSON rest API
|
||||
|
||||
For the advanced and mobile users out there, Firefly III features an expansive JSON REST API that allows you to tap into Firefly III's most important features. Create transactions, manage categories and get chart data from any app or system.
|
||||
developer: Firefly III
|
||||
website: https://www.firefly-iii.org/
|
||||
dependencies: []
|
||||
repo: https://github.com/firefly-iii/firefly-iii
|
||||
support: https://docs.firefly-iii.org/firefly-iii
|
||||
port: 30009
|
||||
gallery:
|
||||
- 1.jpg
|
||||
- 2.jpg
|
||||
- 3.jpg
|
||||
path: ""
|
||||
deterministicPassword: false
|
||||
torOnly: false
|
||||
submitter: Umbrel
|
||||
submission: https://github.com/getumbrel/umbrel-apps/pull/378
|
0
firefox/data/config/.gitkeep
Normal file
0
firefox/data/config/.gitkeep
Normal file
17
firefox/docker-compose.yml
Normal file
17
firefox/docker-compose.yml
Normal file
|
@ -0,0 +1,17 @@
|
|||
version: "3.7"
|
||||
|
||||
services:
|
||||
app_proxy:
|
||||
environment:
|
||||
APP_HOST: firefox_server_1
|
||||
APP_PORT: 3000
|
||||
|
||||
server:
|
||||
image: linuxserver/firefox:101.0.1@sha256:04124c6961be68a869f95cfccd509d3a63be157a59a5407f9eaa39dbf19b34a6
|
||||
restart: on-failure
|
||||
environment:
|
||||
- PUID=1000
|
||||
- PGID=1000
|
||||
volumes:
|
||||
- ${APP_DATA_DIR}/data/config:/config
|
||||
shm_size: "1gb"
|
35
firefox/umbrel-app.yml
Normal file
35
firefox/umbrel-app.yml
Normal file
|
@ -0,0 +1,35 @@
|
|||
manifestVersion: 1
|
||||
id: firefox
|
||||
category: Networking
|
||||
name: Firefox
|
||||
version: "101.0.1"
|
||||
tagline: Firefox is a free and open-source web browser
|
||||
description: >-
|
||||
Get the browser that protects what is important.
|
||||
|
||||
|
||||
No shady privacy policies or back doors for advertisers. Just a lightning fast browser that does not sell you out.
|
||||
|
||||
|
||||
Get all the speed and tools with none of the invasions of privacy. Firefox Browser collects so little data about you, we do not even require your email address to download. That is because unlike other browsers, we have no financial stake in following you around the web.
|
||||
|
||||
|
||||
Firefox is for everyone:
|
||||
|
||||
|
||||
Available in over 90 languages, and compatible with Windows, Mac and Linux machines, Firefox works no matter what you are using or where you are. Make sure your operating system is up to date for the best experience.
|
||||
developer: Mozilla Foundation
|
||||
website: https://www.mozilla.org/en-US/firefox/
|
||||
dependencies: []
|
||||
repo: https://support.mozilla.org/en-US/contribute
|
||||
support: https://support.mozilla.org/en-US/products/firefox
|
||||
port: 3434
|
||||
gallery:
|
||||
- 1.jpg
|
||||
- 2.jpg
|
||||
- 3.jpg
|
||||
path: ""
|
||||
deterministicPassword: false
|
||||
torOnly: false
|
||||
submitter: Pranshu Agrawal
|
||||
submission: https://github.com/getumbrel/umbrel-apps/pull/253
|
0
ghostfolio/data/postgres/.gitkeep
Normal file
0
ghostfolio/data/postgres/.gitkeep
Normal file
0
ghostfolio/data/redis/.gitkeep
Normal file
0
ghostfolio/data/redis/.gitkeep
Normal file
47
ghostfolio/docker-compose.yml
Normal file
47
ghostfolio/docker-compose.yml
Normal file
|
@ -0,0 +1,47 @@
|
|||
version: "3.7"
|
||||
|
||||
services:
|
||||
app_proxy:
|
||||
environment:
|
||||
APP_HOST: ghostfolio_server_1
|
||||
APP_PORT: 3334
|
||||
|
||||
server:
|
||||
image: ghostfolio/ghostfolio:1.231.0@sha256:09d957bf25f48093ed6a0b0ac661f6b19337ac091d2b69dc2fb2985a0d51f025
|
||||
restart: on-failure
|
||||
environment:
|
||||
NODE_ENV: production
|
||||
HOST: 0.0.0.0
|
||||
PORT: 3334
|
||||
ACCESS_TOKEN_SALT: $APP_GHOSTFOLIO_ACCESS_TOKEN_SALT
|
||||
BASE_CURRENCY: USD
|
||||
DATABASE_URL: postgresql://${APP_GHOSTFOLIO_DB_USERNAME}:${APP_GHOSTFOLIO_DB_PASSWORD}@ghostfolio_postgres_1:5432/${APP_GHOSTFOLIO_DB_DATABASE_NAME}?sslmode=prefer
|
||||
JWT_SECRET_KEY: ${APP_SEED}
|
||||
POSTGRES_DB: ${APP_GHOSTFOLIO_DB_DATABASE_NAME}
|
||||
POSTGRES_USER: ${APP_GHOSTFOLIO_DB_USERNAME}
|
||||
POSTGRES_PASSWORD: ${APP_GHOSTFOLIO_DB_PASSWORD}
|
||||
REDIS_HOST: ghostfolio_redis_1
|
||||
REDIS_PASSWORD: ${APP_GHOSTFOLIO_REDIS_PASSWORD}
|
||||
REDIS_PORT: 6379
|
||||
|
||||
postgres:
|
||||
image: postgres:14-bullseye@sha256:c2a30d08a6f9e6c365595fd086c9e0436064c52425f15f72379ecf0807bac518
|
||||
restart: on-failure
|
||||
stop_grace_period: 1m
|
||||
user: "1000:1000"
|
||||
environment:
|
||||
POSTGRES_USER: ${APP_GHOSTFOLIO_DB_USERNAME}
|
||||
POSTGRES_PASSWORD: ${APP_GHOSTFOLIO_DB_PASSWORD}
|
||||
POSTGRES_DB: ${APP_GHOSTFOLIO_DB_DATABASE_NAME}
|
||||
PGDATA: /var/lib/postgresql/data
|
||||
volumes:
|
||||
- ${APP_DATA_DIR}/data/postgres:/var/lib/postgresql/data
|
||||
|
||||
redis:
|
||||
image: redis:6.2-bullseye@sha256:5cdb2ac6f780e1d250787f4a887c1ed1166e3389757189ea913059409acc6f7c
|
||||
restart: on-failure
|
||||
user: "1000:1000"
|
||||
command: >
|
||||
--requirepass ${APP_GHOSTFOLIO_REDIS_PASSWORD}
|
||||
volumes:
|
||||
- ${APP_DATA_DIR}/data/redis:/data
|
5
ghostfolio/exports.sh
Normal file
5
ghostfolio/exports.sh
Normal file
|
@ -0,0 +1,5 @@
|
|||
export APP_GHOSTFOLIO_ACCESS_TOKEN_SALT=$(derive_entropy "env-${app_entropy_identifier}-APP_ACCESS_TOKEN_SALT" | head -c32)
|
||||
export APP_GHOSTFOLIO_DB_DATABASE_NAME="ghostfolio"
|
||||
export APP_GHOSTFOLIO_DB_USERNAME="ghostfolio"
|
||||
export APP_GHOSTFOLIO_DB_PASSWORD="moneyprintergobrrr"
|
||||
export APP_GHOSTFOLIO_REDIS_PASSWORD="moneyprintergobrrr"
|
34
ghostfolio/umbrel-app.yml
Normal file
34
ghostfolio/umbrel-app.yml
Normal file
|
@ -0,0 +1,34 @@
|
|||
manifestVersion: 1
|
||||
id: ghostfolio
|
||||
category: Finance
|
||||
name: Ghostfolio
|
||||
version: "1.231.0"
|
||||
tagline: Manage your wealth like a boss
|
||||
description: >-
|
||||
Ghostfolio is a privacy-first, open source dashboard for your personal finances.
|
||||
|
||||
|
||||
Break down your asset allocation, know your net worth and make solid, data-driven
|
||||
investment decisions.
|
||||
|
||||
|
||||
Protect your assets. Refine your personal investment strategy.
|
||||
|
||||
|
||||
Ghostfolio empowers busy people to keep track of stocks, ETFs or cryptocurrencies
|
||||
without being tracked.
|
||||
developer: Ghostfolio
|
||||
website: https://ghostfol.io/
|
||||
dependencies: []
|
||||
repo: https://github.com/ghostfolio/ghostfolio
|
||||
support: https://github.com/ghostfolio/ghostfolio/discussions
|
||||
port: 3334
|
||||
gallery:
|
||||
- 1.jpg
|
||||
- 2.jpg
|
||||
- 3.jpg
|
||||
path: ""
|
||||
deterministicPassword: false
|
||||
torOnly: false
|
||||
submitter: BeauAgst
|
||||
submission: https://github.com/getumbrel/umbrel-apps/pull/396
|
|
@ -3,8 +3,8 @@ version: "3.7"
|
|||
services:
|
||||
app_proxy:
|
||||
environment:
|
||||
APP_HOST: $APP_GITEA_IP
|
||||
APP_PORT: $APP_GITEA_PORT
|
||||
APP_HOST: gitea_server_1
|
||||
APP_PORT: 8085
|
||||
PROXY_AUTH_ADD: "false"
|
||||
|
||||
server:
|
||||
|
@ -18,20 +18,17 @@ services:
|
|||
- ${APP_DATA_DIR}/data/gitea/config:/etc/gitea
|
||||
environment:
|
||||
GITEA__security__INSTALL_LOCK: "true"
|
||||
GITEA__server__DOMAIN: "${APP_DOMAIN}"
|
||||
GITEA__server__DOMAIN: "${APP_GITEA_DOMAIN}"
|
||||
GITEA__server__HTTP_PORT: "${APP_GITEA_PORT}"
|
||||
GITEA__server__SSH_DOMAIN: "${APP_DOMAIN}"
|
||||
GITEA__server__SSH_DOMAIN: "${APP_GITEA_DOMAIN}"
|
||||
GITEA__server__SSH_PORT: "${APP_GITEA_SSH_PORT}"
|
||||
GITEA__server__SSH_LISTEN_PORT: "${APP_GITEA_SSH_PORT}"
|
||||
GITEA__server__START_SSH_SERVER: "true"
|
||||
GITEA__database__DB_TYPE: "mysql"
|
||||
GITEA__database__HOST: "${APP_GITEA_DB_IP}:3306"
|
||||
GITEA__database__HOST: "gitea_db_1:3306"
|
||||
GITEA__database__NAME: "gitea"
|
||||
GITEA__database__USER: "gitea"
|
||||
GITEA__database__PASSWD: "moneyprintergobrrr"
|
||||
networks:
|
||||
default:
|
||||
ipv4_address: $APP_GITEA_IP
|
||||
|
||||
db:
|
||||
image: mariadb:10.5.12@sha256:dfcba5641bdbfd7cbf5b07eeed707e6a3672f46823695a0d3aba2e49bbd9b1dd
|
||||
|
@ -44,6 +41,3 @@ services:
|
|||
MYSQL_USER: "gitea"
|
||||
MYSQL_PASSWORD: "moneyprintergobrrr"
|
||||
MYSQL_DATABASE: "gitea"
|
||||
networks:
|
||||
default:
|
||||
ipv4_address: $APP_GITEA_DB_IP
|
||||
|
|
|
@ -1,4 +1,6 @@
|
|||
export APP_GITEA_PORT="8085"
|
||||
export APP_GITEA_SSH_PORT="2222"
|
||||
export APP_GITEA_IP="10.21.21.39"
|
||||
export APP_GITEA_DB_IP="10.21.21.40"
|
||||
export APP_GITEA_DB_IP="10.21.21.40"
|
||||
export APP_GITEA_DOMAIN="git.heier.io"
|
||||
export APP_GITEA_TOR_HS_EXTRA_PORTS="22:${APP_GITEA_IP}:${APP_GITEA_SSH_PORT}:gitea_server_1:${APP_GITEA_SSH_PORT}"
|
|
@ -1,4 +0,0 @@
|
|||
# gitea Hidden Service
|
||||
HiddenServiceDir /data/app-gitea
|
||||
HiddenServicePort 80 $APP_GITEA_IP:$APP_GITEA_PORT
|
||||
HiddenServicePort 22 $APP_GITEA_IP:$APP_GITEA_SSH_PORT
|
|
@ -1,4 +1,4 @@
|
|||
manifestVersion: 1
|
||||
manifestVersion: 1.1
|
||||
id: gitea
|
||||
category: Development
|
||||
name: Gitea
|
||||
|
@ -41,4 +41,6 @@ gallery:
|
|||
path: ""
|
||||
defaultUsername: ""
|
||||
defaultPassword: ""
|
||||
torOnly: false
|
||||
torOnly: false
|
||||
submitter: Umbrel
|
||||
submission: https://github.com/getumbrel/umbrel/commit/d62e00353917143a3a10d3b376859f51b665d150
|
0
heimdall/config/.gitkeep
Normal file
0
heimdall/config/.gitkeep
Normal file
17
heimdall/docker-compose.yml
Normal file
17
heimdall/docker-compose.yml
Normal file
|
@ -0,0 +1,17 @@
|
|||
version: "3.7"
|
||||
|
||||
services:
|
||||
app_proxy:
|
||||
environment:
|
||||
APP_HOST: heimdall_server_1
|
||||
APP_PORT: 80
|
||||
PROXY_AUTH_ADD: "false"
|
||||
|
||||
server:
|
||||
image: lscr.io/linuxserver/heimdall:2.5.5@sha256:656efe8ee113ebcf8214d53e69cc25645ec11b020dec63e619bd379361cee58e
|
||||
volumes:
|
||||
- ${APP_DATA_DIR}/config:/config
|
||||
environment:
|
||||
- PUID=1000
|
||||
- PGID=1000
|
||||
restart: on-failure
|
37
heimdall/umbrel-app.yml
Normal file
37
heimdall/umbrel-app.yml
Normal file
|
@ -0,0 +1,37 @@
|
|||
manifestVersion: 1
|
||||
id: heimdall
|
||||
name: Heimdall
|
||||
tagline: Heimdall organises your most used web sites and web applications in a simple way
|
||||
category: Productivity
|
||||
version: "2.5.5"
|
||||
port: 7392
|
||||
description: >-
|
||||
As the name suggests Heimdall Application Dashboard is a dashboard for all your web applications. It doesn't need to be limited to applications though, you can add links to anything you like.
|
||||
|
||||
|
||||
Heimdall is an elegant solution to organise all your web applications. It’s dedicated to this purpose so you won’t lose your links in a sea of bookmarks.
|
||||
|
||||
|
||||
Why not use it as your browser start page? It even has the ability to include a search bar using either Google, Bing or DuckDuckGo.
|
||||
|
||||
|
||||
You can use the app to link to any site or application, but Foundation apps will auto fill in the icon for the app and supply a default color for the tile. In addition Enhanced apps allow you provide details to an apps API, allowing you to view live stats directly on the dashboad. For example, the NZBGet and Sabnzbd Enhanced apps will display the queue size and download speed while something is downloading.
|
||||
|
||||
|
||||
Supported applications are recognized by the title of the application as entered in the title field when adding an application. For example, to add a link to pfSense, begin by typing "p" in the title field and then select "pfSense" from the list of supported applications.
|
||||
developer: LinuxServer.io
|
||||
website: https://heimdall.site
|
||||
repo: https://github.com/linuxserver/Heimdall
|
||||
support: https://github.com/linuxserver/Heimdall/issues
|
||||
gallery:
|
||||
- 1.jpg
|
||||
- 2.jpg
|
||||
- 3.jpg
|
||||
releaseNotes: ""
|
||||
dependencies: []
|
||||
path: ""
|
||||
torOnly: false
|
||||
defaultUsername: ""
|
||||
defaultPassword: ""
|
||||
submitter: AxelPilop
|
||||
submission: https://github.com/getumbrel/umbrel-apps/pull/390
|
|
@ -3,7 +3,7 @@ version: "3.7"
|
|||
services:
|
||||
app_proxy:
|
||||
environment:
|
||||
APP_HOST: $APP_HELIPAD_IP
|
||||
APP_HOST: helipad_web_1
|
||||
APP_PORT: 2112
|
||||
|
||||
web:
|
||||
|
@ -17,6 +17,3 @@ services:
|
|||
- ${APP_LIGHTNING_NODE_DATA_DIR}:/lnd:ro
|
||||
environment:
|
||||
LND_URL: "$APP_LIGHTNING_NODE_IP:$APP_LIGHTNING_NODE_GRPC_PORT"
|
||||
networks:
|
||||
default:
|
||||
ipv4_address: $APP_HELIPAD_IP
|
||||
|
|
|
@ -1,2 +0,0 @@
|
|||
export APP_HELIPAD_PORT="2112"
|
||||
export APP_HELIPAD_IP="10.21.21.65"
|
|
@ -18,4 +18,6 @@ gallery:
|
|||
- 2.jpg
|
||||
- 3.jpg
|
||||
path: ""
|
||||
defaultPassword: ""
|
||||
defaultPassword: ""
|
||||
submitter: Podcastindex.org
|
||||
submission: https://github.com/getumbrel/umbrel/pull/1174
|
|
@ -3,15 +3,12 @@ version: "3.7"
|
|||
services:
|
||||
app_proxy:
|
||||
environment:
|
||||
APP_HOST: $APP_HOME_ASSISTANT_IP
|
||||
APP_HOST: home-assistant_server_1
|
||||
APP_PORT: 8123
|
||||
PROXY_AUTH_ADD: "false"
|
||||
|
||||
server:
|
||||
image: homeassistant/home-assistant:2022.6.4@sha256:79e3205fdc1dcc5910370e851d5d504fcf7206d7274ba141d648a08c54268a82
|
||||
image: homeassistant/home-assistant:2023.2.0@sha256:a4a9f614a1edcd414d63decd99813a2ff9910d876db1e04641540a0c75d20918
|
||||
volumes:
|
||||
- ${APP_DATA_DIR}/data:/config
|
||||
- ${APP_DATA_DIR}/configuration.yaml:/config/configuration.yaml
|
||||
networks:
|
||||
default:
|
||||
ipv4_address: $APP_HOME_ASSISTANT_IP
|
||||
|
|
|
@ -1,2 +0,0 @@
|
|||
export APP_HOME_ASSISTANT_PORT="8083"
|
||||
export APP_HOME_ASSISTANT_IP="10.21.21.37"
|
|
@ -2,7 +2,7 @@ manifestVersion: 1
|
|||
id: home-assistant
|
||||
category: Automation
|
||||
name: Home Assistant
|
||||
version: "2022.6.4"
|
||||
version: "2023.2.0"
|
||||
tagline: Home automation that puts local control & privacy first
|
||||
description: >-
|
||||
Open source home automation that puts local control and privacy
|
||||
|
@ -31,4 +31,8 @@ gallery:
|
|||
path: ""
|
||||
defaultUsername: ""
|
||||
defaultPassword: ""
|
||||
torOnly: false
|
||||
torOnly: false
|
||||
releaseNotes: >-
|
||||
Full changelog (for 2023.2.0) can found at: https://www.home-assistant.io/changelogs/core-2023.2
|
||||
submitter: Umbrel
|
||||
submission: https://github.com/getumbrel/umbrel/commit/9d79cffae608c6a6ab077f859c1c531a581cf926
|
||||
|
|
0
immich/data/postgres/.gitkeep
Normal file
0
immich/data/postgres/.gitkeep
Normal file
0
immich/data/redis/.gitkeep
Normal file
0
immich/data/redis/.gitkeep
Normal file
0
immich/data/upload/.gitkeep
Normal file
0
immich/data/upload/.gitkeep
Normal file
121
immich/docker-compose.yml
Normal file
121
immich/docker-compose.yml
Normal file
|
@ -0,0 +1,121 @@
|
|||
version: "3.7"
|
||||
|
||||
services:
|
||||
app_proxy:
|
||||
environment:
|
||||
APP_HOST: immich_proxy_1
|
||||
APP_PORT: 8080
|
||||
PROXY_AUTH_WHITELIST: "/api/*"
|
||||
|
||||
server:
|
||||
image: altran1502/immich-server:v1.40.0_63-dev@sha256:c61f6c5373efb4544db8d04e6e090b77561b71b07d4f272821a6349a18531e37
|
||||
entrypoint: ["/bin/sh", "./start-server.sh"]
|
||||
volumes:
|
||||
- ${APP_DATA_DIR}/data/upload:/usr/src/app/upload
|
||||
environment:
|
||||
NODE_ENV: production
|
||||
DB_HOSTNAME: immich_postgres_1
|
||||
DB_USERNAME: ${APP_IMMICH_DB_USERNAME}
|
||||
DB_PASSWORD: ${APP_IMMICH_DB_PASSWORD}
|
||||
DB_DATABASE_NAME: ${APP_IMMICH_DB_DATABASE_NAME}
|
||||
REDIS_HOSTNAME: immich_redis_1
|
||||
LOG_LEVEL: ${APP_IMMICH_LOG_LEVEL}
|
||||
JWT_SECRET: ${APP_SEED}
|
||||
DISABLE_REVERSE_GEOCODING: ${APP_IMMICH_DISABLE_REVERSE_GEOCODING}
|
||||
REVERSE_GEOCODING_PRECISION: ${APP_IMMICH_REVERSE_GEOCODING_PRECISION}
|
||||
PUBLIC_LOGIN_PAGE_MESSAGE: ${APP_IMMICH_PUBLIC_LOGIN_PAGE_MESSAGE}
|
||||
depends_on:
|
||||
- redis
|
||||
- postgres
|
||||
restart: on-failure
|
||||
|
||||
microservices:
|
||||
image: altran1502/immich-server:v1.40.0_63-dev@sha256:c61f6c5373efb4544db8d04e6e090b77561b71b07d4f272821a6349a18531e37
|
||||
# This service cannot run under 1000:1000
|
||||
# And because the uploads are shared
|
||||
# We'll run immich specific services as root
|
||||
entrypoint: ["/bin/sh", "./start-microservices.sh"]
|
||||
volumes:
|
||||
- ${APP_DATA_DIR}/data/upload:/usr/src/app/upload
|
||||
environment:
|
||||
NODE_ENV: production
|
||||
DB_HOSTNAME: immich_postgres_1
|
||||
DB_USERNAME: ${APP_IMMICH_DB_USERNAME}
|
||||
DB_PASSWORD: ${APP_IMMICH_DB_PASSWORD}
|
||||
DB_DATABASE_NAME: ${APP_IMMICH_DB_DATABASE_NAME}
|
||||
REDIS_HOSTNAME: immich_redis_1
|
||||
LOG_LEVEL: ${APP_IMMICH_LOG_LEVEL}
|
||||
JWT_SECRET: ${APP_SEED}
|
||||
DISABLE_REVERSE_GEOCODING: ${APP_IMMICH_DISABLE_REVERSE_GEOCODING}
|
||||
REVERSE_GEOCODING_PRECISION: ${APP_IMMICH_REVERSE_GEOCODING_PRECISION}
|
||||
PUBLIC_LOGIN_PAGE_MESSAGE: ${APP_IMMICH_PUBLIC_LOGIN_PAGE_MESSAGE}
|
||||
depends_on:
|
||||
- redis
|
||||
- postgres
|
||||
restart: on-failure
|
||||
|
||||
machine-learning:
|
||||
image: altran1502/immich-machine-learning:v1.40.0_63-dev@sha256:a5e660247a5a3c1d1b4ab9d160629def546d7e86e534a55d5ebc0e0eee5cef1a
|
||||
entrypoint: ["/bin/sh", "./entrypoint.sh"]
|
||||
volumes:
|
||||
- ${APP_DATA_DIR}/data/upload:/usr/src/app/upload
|
||||
environment:
|
||||
NODE_ENV: production
|
||||
DB_HOSTNAME: immich_postgres_1
|
||||
DB_USERNAME: ${APP_IMMICH_DB_USERNAME}
|
||||
DB_PASSWORD: ${APP_IMMICH_DB_PASSWORD}
|
||||
DB_DATABASE_NAME: ${APP_IMMICH_DB_DATABASE_NAME}
|
||||
REDIS_HOSTNAME: immich_redis_1
|
||||
LOG_LEVEL: ${APP_IMMICH_LOG_LEVEL}
|
||||
JWT_SECRET: ${APP_SEED}
|
||||
DISABLE_REVERSE_GEOCODING: ${APP_IMMICH_DISABLE_REVERSE_GEOCODING}
|
||||
REVERSE_GEOCODING_PRECISION: ${APP_IMMICH_REVERSE_GEOCODING_PRECISION}
|
||||
PUBLIC_LOGIN_PAGE_MESSAGE: ${APP_IMMICH_PUBLIC_LOGIN_PAGE_MESSAGE}
|
||||
depends_on:
|
||||
- postgres
|
||||
restart: on-failure
|
||||
|
||||
web:
|
||||
image: altran1502/immich-web:v1.40.0_63-dev@sha256:abad6488afaa1d0b4b8ea818221b86e7b45bf72a1ea328d8c0f35ad266b9e544
|
||||
entrypoint: ["/bin/sh", "./entrypoint.sh"]
|
||||
environment:
|
||||
DB_HOSTNAME: immich_postgres_1
|
||||
DB_USERNAME: ${APP_IMMICH_DB_USERNAME}
|
||||
DB_PASSWORD: ${APP_IMMICH_DB_PASSWORD}
|
||||
DB_DATABASE_NAME: ${APP_IMMICH_DB_DATABASE_NAME}
|
||||
REDIS_HOSTNAME: immich_redis_1
|
||||
LOG_LEVEL: ${APP_IMMICH_LOG_LEVEL}
|
||||
JWT_SECRET: ${APP_SEED}
|
||||
DISABLE_REVERSE_GEOCODING: ${APP_IMMICH_DISABLE_REVERSE_GEOCODING}
|
||||
REVERSE_GEOCODING_PRECISION: ${APP_IMMICH_REVERSE_GEOCODING_PRECISION}
|
||||
PUBLIC_LOGIN_PAGE_MESSAGE: ${APP_IMMICH_PUBLIC_LOGIN_PAGE_MESSAGE}
|
||||
PUBLIC_IMMICH_SERVER_URL: "http://immich_server_1:3001"
|
||||
restart: on-failure
|
||||
|
||||
proxy:
|
||||
image: altran1502/immich-proxy:v1.40.0_63-dev@sha256:f779b86497b3d4b8822ec0d7341cfd2d1f1688b8859c70a9b16bd36d01468865
|
||||
environment:
|
||||
IMMICH_WEB_URL: "http://immich_web_1:3000"
|
||||
IMMICH_SERVER_URL: "http://immich_server_1:3001"
|
||||
depends_on:
|
||||
- server
|
||||
restart: on-failure
|
||||
|
||||
redis:
|
||||
image: redis:6.2-bullseye@sha256:ffd3d04c8f7832ccdda89616ebaf3cb38414b645ebbf76dbef1fc9c36a72a2d1
|
||||
user: "1000:1000"
|
||||
restart: on-failure
|
||||
volumes:
|
||||
- ${APP_DATA_DIR}/data/redis:/data
|
||||
|
||||
postgres:
|
||||
image: postgres:14-bullseye@sha256:135c62a8134dcef829a1e4f5568bfae44bcfa2c75659ff948f43c71964366aa4
|
||||
user: "1000:1000"
|
||||
environment:
|
||||
POSTGRES_USER: ${APP_IMMICH_DB_USERNAME}
|
||||
POSTGRES_PASSWORD: ${APP_IMMICH_DB_PASSWORD}
|
||||
POSTGRES_DB: ${APP_IMMICH_DB_DATABASE_NAME}
|
||||
PG_DATA: /var/lib/postgresql/data
|
||||
volumes:
|
||||
- ${APP_DATA_DIR}/data/postgres:/var/lib/postgresql/data
|
||||
restart: on-failure
|
7
immich/exports.sh
Normal file
7
immich/exports.sh
Normal file
|
@ -0,0 +1,7 @@
|
|||
export APP_IMMICH_DB_USERNAME="immich"
|
||||
export APP_IMMICH_DB_PASSWORD="moneyprintergobrrr"
|
||||
export APP_IMMICH_DB_DATABASE_NAME="immich"
|
||||
export APP_IMMICH_LOG_LEVEL="simple"
|
||||
export APP_IMMICH_DISABLE_REVERSE_GEOCODING="false"
|
||||
export APP_IMMICH_REVERSE_GEOCODING_PRECISION="3"
|
||||
export APP_IMMICH_PUBLIC_LOGIN_PAGE_MESSAGE=""
|
59
immich/umbrel-app.yml
Normal file
59
immich/umbrel-app.yml
Normal file
|
@ -0,0 +1,59 @@
|
|||
manifestVersion: 1
|
||||
id: immich
|
||||
category: Files
|
||||
name: Immich
|
||||
version: "v1.40.1_63-dev"
|
||||
tagline: High performance photo and video backup solution
|
||||
description: >-
|
||||
An open source and high performance self-hosted backup solution for the videos and photos on your mobile device
|
||||
|
||||
|
||||
Features:
|
||||
|
||||
- Upload and view videos and photos
|
||||
|
||||
- Auto backup when the app is opened
|
||||
|
||||
- Selective album(s) for backup
|
||||
|
||||
- Download photos and videos to local device
|
||||
|
||||
- Multi-user support
|
||||
|
||||
- Album and Shared albums
|
||||
|
||||
- Scrubbable/draggable scrollbar
|
||||
|
||||
- Support RAW (HEIC, HEIF, DNG, Apple ProRaw)
|
||||
|
||||
- Metadata view (EXIF, map)
|
||||
|
||||
- Search by metadata, objects and image tags
|
||||
|
||||
- Administrative functions (user management)
|
||||
|
||||
- Background backup
|
||||
|
||||
- Virtual scroll
|
||||
|
||||
- OAuth support
|
||||
|
||||
- LivePhoto backup and playback
|
||||
|
||||
- User-defined storage structure
|
||||
releaseNotes: ""
|
||||
developer: Alex Tran
|
||||
website: https://www.immich.app
|
||||
dependencies: []
|
||||
repo: https://github.com/immich-app/immich
|
||||
support: https://github.com/immich-app/immich/discussions
|
||||
port: 2283
|
||||
gallery:
|
||||
- 1.jpg
|
||||
- 2.jpg
|
||||
- 3.jpg
|
||||
path: ""
|
||||
defaultUsername: ""
|
||||
defaultPassword: ""
|
||||
submitter: levma
|
||||
submission: https://github.com/getumbrel/umbrel-apps/pull/239
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user