forked from michael.heier/umbrel-apps
Compare commits
2 Commits
master
...
release-no
Author | SHA1 | Date | |
---|---|---|---|
|
f85287b76e | ||
|
83d40f2b59 |
45
README.md
45
README.md
|
@ -104,10 +104,7 @@ version: "3.7"
|
|||
services:
|
||||
app_proxy:
|
||||
environment:
|
||||
# <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_HOST: <web-container-ip-address>
|
||||
APP_PORT: <web-container-port-number>
|
||||
|
||||
web:
|
||||
|
@ -177,7 +174,7 @@ description: >-
|
|||
|
||||
It's time to appreciate the "fullness" of your node.
|
||||
releaseNotes: >-
|
||||
Dark mode is finally here! Easily switch between your preferred mode
|
||||
Dark mode is finally here! Easily switch between you preferred mode
|
||||
in one click.
|
||||
|
||||
This version also includes lots of minor styling improvements, better
|
||||
|
@ -201,11 +198,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. Most applications will not require this feature.
|
||||
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.
|
||||
|
||||
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_ADDRESS_API="electrumx"
|
||||
export APP_BTC_RPC_EXPLORER_IP="10.21.21.12"
|
||||
export APP_BTC_RPC_EXPLORER_PORT="3002"
|
||||
```
|
||||
|
||||
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.
|
||||
|
@ -222,15 +219,17 @@ version: "3.7"
|
|||
services:
|
||||
app_proxy:
|
||||
environment:
|
||||
APP_HOST: btc-rpc-explorer_web_1
|
||||
APP_PORT: 8080
|
||||
APP_HOST: $APP_BTC_RPC_EXPLORER_IP
|
||||
APP_PORT: $APP_BTC_RPC_EXPLORER_PORT
|
||||
|
||||
web:
|
||||
image: getumbrel/btc-rpc-explorer:v2.0.2
|
||||
restart: on-failure
|
||||
stop_grace_period: 1m
|
||||
environment:
|
||||
BTCEXP_PORT: 8080
|
||||
environment: ...
|
||||
networks:
|
||||
default:
|
||||
ipv4_address: $APP_BTC_RPC_EXPLORER_IP
|
||||
|
||||
```
|
||||
|
||||
|
@ -244,16 +243,14 @@ version: "3.7"
|
|||
services:
|
||||
app_proxy:
|
||||
environment:
|
||||
APP_HOST: btc-rpc-explorer_web_1
|
||||
APP_PORT: 8080
|
||||
APP_HOST: $APP_BTC_RPC_EXPLORER_IP
|
||||
APP_PORT: $APP_BTC_RPC_EXPLORER_PORT
|
||||
|
||||
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
|
||||
|
@ -273,6 +270,9 @@ services:
|
|||
BTCEXP_NO_RATES: "true"
|
||||
BTCEXP_RPC_ALLOWALL: "false"
|
||||
BTCEXP_BASIC_AUTH_PASSWORD: ""
|
||||
networks:
|
||||
default:
|
||||
ipv4_address: $APP_BTC_RPC_EXPLORER_IP
|
||||
|
||||
```
|
||||
|
||||
|
@ -300,7 +300,8 @@ Once Umbrel has started, the Web UI will be accessible at the IP address of the
|
|||
|
||||
```sh
|
||||
cd umbrel
|
||||
sudo ./scripts/repo checkout https://github.com/<username>/umbrel-apps.git
|
||||
sudo ./scripts/repo set https://github.com/<username>/umbrel-apps.git
|
||||
sudo ./scripts/repo update
|
||||
```
|
||||
|
||||
3\. And finally, it's time to install our app:
|
||||
|
@ -316,7 +317,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 checkout https://github.com/<username>/umbrel-apps.git
|
||||
sudo ./scripts/repo update
|
||||
sudo ./scripts/app update btc-rpc-explorer
|
||||
```
|
||||
|
||||
|
@ -348,7 +349,8 @@ After the VM has booted, we can verify if the Umbrel dashboard is accessible at
|
|||
|
||||
```sh
|
||||
cd getumbrel/umbrel
|
||||
sudo ./scripts/repo checkout https://github.com/<username>/umbrel-apps.git
|
||||
sudo ./scripts/repo set https://github.com/<username>/umbrel-apps.git
|
||||
sudo ./scripts/repo update
|
||||
```
|
||||
|
||||
4\. And finally, it's time to install our app:
|
||||
|
@ -364,7 +366,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 checkout https://github.com/<username>/umbrel-apps.git
|
||||
sudo ./scripts/repo update
|
||||
sudo ./scripts/app update btc-rpc-explorer
|
||||
```
|
||||
|
||||
|
@ -383,7 +385,8 @@ ssh umbrel@umbrel.local
|
|||
2\. Next, we'll switch to the forked remote app repo:
|
||||
|
||||
```sh
|
||||
sudo ./scripts/repo checkout https://github.com/<username>/umbrel-apps.git
|
||||
sudo ./scripts/repo set https://github.com/<username>/umbrel-apps.git
|
||||
sudo ./scripts/repo update
|
||||
```
|
||||
|
||||
3\. Once the repo has updated, it's time to test our app:
|
||||
|
|
|
@ -24,6 +24,4 @@ gallery:
|
|||
path: /admin/
|
||||
deterministicPassword: true
|
||||
defaultUsername: umbrel
|
||||
torOnly: false
|
||||
submitter: Jonathan Zernik
|
||||
submission: https://github.com/getumbrel/umbrel/pull/1282
|
||||
torOnly: false
|
|
@ -1,29 +0,0 @@
|
|||
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
|
||||
|
|
@ -1,16 +0,0 @@
|
|||
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
|
|
@ -1,79 +0,0 @@
|
|||
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
|
|
@ -7,12 +7,9 @@ services:
|
|||
APP_PORT: 3005
|
||||
|
||||
server:
|
||||
image: getumbrel/umbrel-bitcoin:v0.4.1@sha256:edc0567efeadf30128313308e2dadbfaa1f339ce666579646c3b9353834bb888
|
||||
image: getumbrel/umbrel-bitcoin:v0.3.0@sha256:115af951d7a4e696603c7468bcb4e119e02fe9c9deb28edb51d2e2d8207cab59
|
||||
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}"
|
||||
|
@ -26,23 +23,14 @@ 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: getumbrel/bitcoind:v24.0.1@sha256:33ff257bd8a24b41bef5b5c3aea1e32ea6dcc08917e24122728687eb393814fa
|
||||
image: lncm/bitcoind:v22.0@sha256:37a1adb29b3abc9f972f0d981f45e41e5fca2e22816a023faa9fdc0084aa4507
|
||||
command: "${APP_BITCOIN_COMMAND}"
|
||||
restart: unless-stopped
|
||||
restart: on-failure
|
||||
stop_grace_period: 15m30s
|
||||
volumes:
|
||||
- "${APP_BITCOIN_DATA_DIR}:/data/.bitcoin"
|
||||
|
@ -51,28 +39,4 @@ services:
|
|||
- "${APP_BITCOIN_RPC_PORT}:${APP_BITCOIN_RPC_PORT}"
|
||||
networks:
|
||||
default:
|
||||
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}"
|
||||
ipv4_address: $APP_BITCOIN_NODE_IP
|
|
@ -1,12 +1,9 @@
|
|||
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"
|
||||
|
@ -15,24 +12,6 @@ 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"
|
||||
|
@ -45,57 +24,39 @@ 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_TOR_PORT="18334"
|
||||
export APP_BITCOIN_RPC_PORT="18332"
|
||||
export APP_BITCOIN_P2P_PORT="18333"
|
||||
elif [[ "${APP_BITCOIN_NETWORK}" == "signet" ]]; then
|
||||
BITCOIN_CHAIN="signet"
|
||||
# export APP_BITCOIN_RPC_PORT="38332"
|
||||
# export APP_BITCOIN_P2P_PORT="38333"
|
||||
# export APP_BITCOIN_TOR_PORT="38334"
|
||||
export APP_BITCOIN_RPC_PORT="38332"
|
||||
export APP_BITCOIN_P2P_PORT="38333"
|
||||
elif [[ "${APP_BITCOIN_NETWORK}" == "regtest" ]]; then
|
||||
BITCOIN_CHAIN="regtest"
|
||||
# export APP_BITCOIN_RPC_PORT="18443"
|
||||
# export APP_BITCOIN_P2P_PORT="18444"
|
||||
# export APP_BITCOIN_TOR_PORT="18445"
|
||||
export APP_BITCOIN_RPC_PORT="18443"
|
||||
export APP_BITCOIN_P2P_PORT="18444"
|
||||
else
|
||||
echo "Warning (${EXPORTS_APP_ID}): Bitcoin Network '${APP_BITCOIN_NETWORK}' is not supported"
|
||||
fi
|
||||
|
||||
export BITCOIN_DEFAULT_NETWORK="${BITCOIN_CHAIN}"
|
||||
|
||||
BIN_ARGS=()
|
||||
# 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+=( "-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}" )
|
||||
BIN_ARGS+=( "-rpcbind=${APP_BITCOIN_NODE_IP}" )
|
||||
BIN_ARGS+=( "-rpcbind=127.0.0.1" )
|
||||
BIN_ARGS+=( "-rpcallowip=${NETWORK_IP}/16" )
|
||||
|
@ -105,10 +66,11 @@ 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[@]}")
|
||||
|
@ -124,26 +86,4 @@ 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
|
||||
|
||||
{
|
||||
# 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
|
||||
fi
|
|
@ -1,26 +0,0 @@
|
|||
#!/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,13 +1,11 @@
|
|||
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_TOR_PORT
|
||||
HiddenServicePort $APP_BITCOIN_P2P_PORT $APP_BITCOIN_NODE_IP:$APP_BITCOIN_P2P_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
|
||||
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
|
|
@ -1,8 +1,8 @@
|
|||
manifestVersion: 1.1
|
||||
manifestVersion: 1
|
||||
id: bitcoin
|
||||
category: Finance
|
||||
name: Bitcoin Node
|
||||
version: "24.0.1-2"
|
||||
version: "22.0-build-2"
|
||||
tagline: Run your personal node powered by Bitcoin Core
|
||||
description: >-
|
||||
Run your Bitcoin node and independently store and validate
|
||||
|
@ -31,28 +31,5 @@ gallery:
|
|||
- 2.jpg
|
||||
- 3.jpg
|
||||
- 4.jpg
|
||||
- 5.jpg
|
||||
path: ""
|
||||
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
|
||||
defaultPassword: ""
|
|
@ -3,7 +3,7 @@ version: "3.7"
|
|||
services:
|
||||
app_proxy:
|
||||
environment:
|
||||
APP_HOST: bitfeed_web_1
|
||||
APP_HOST: $APP_BITFEED_IP
|
||||
APP_PORT: 80
|
||||
|
||||
web:
|
||||
|
@ -14,8 +14,11 @@ services:
|
|||
- "api"
|
||||
environment:
|
||||
TARGET: "umbrel"
|
||||
BACKEND_HOST: bitfeed_api_1
|
||||
BACKEND_PORT: 8315
|
||||
BACKEND_HOST: "$APP_BITFEED_API_IP"
|
||||
BACKEND_PORT: "$APP_BITFEED_API_PORT"
|
||||
networks:
|
||||
default:
|
||||
ipv4_address: $APP_BITFEED_IP
|
||||
|
||||
api:
|
||||
image: ghcr.io/bitfeed-project/bitfeed-server:v2.3.4@sha256:e38a2e07389cf6d0c519e856291e535fdd10a1e50143d528c82bfe0baf06894f
|
||||
|
@ -23,7 +26,7 @@ services:
|
|||
restart: on-failure
|
||||
stop_grace_period: 1m
|
||||
environment:
|
||||
PORT: 8315
|
||||
PORT: "$APP_BITFEED_API_PORT"
|
||||
BITCOIN_HOST: "$APP_BITCOIN_NODE_IP"
|
||||
BITCOIN_ZMQ_RAWTX_PORT: "$APP_BITCOIN_ZMQ_RAWTX_PORT"
|
||||
BITCOIN_ZMQ_RAWBLOCK_PORT: "$APP_BITCOIN_ZMQ_RAWBLOCK_PORT"
|
||||
|
@ -37,3 +40,6 @@ services:
|
|||
LOG_LEVEL: "info"
|
||||
volumes:
|
||||
- ${APP_DATA_DIR}/data:/app/data
|
||||
networks:
|
||||
default:
|
||||
ipv4_address: $APP_BITFEED_API_IP
|
||||
|
|
4
bitfeed/exports.sh
Normal file
4
bitfeed/exports.sh
Normal file
|
@ -0,0 +1,4 @@
|
|||
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,6 +26,4 @@ gallery:
|
|||
- 3.jpg
|
||||
path: ""
|
||||
defaultUsername: ""
|
||||
defaultPassword: ""
|
||||
submitter: Mononaut
|
||||
submission: https://github.com/getumbrel/umbrel/pull/1202
|
||||
defaultPassword: ""
|
|
@ -3,8 +3,8 @@ version: "3.7"
|
|||
services:
|
||||
app_proxy:
|
||||
environment:
|
||||
APP_HOST: bleskomat-server_web_1
|
||||
APP_PORT: 3333
|
||||
APP_HOST: $APP_BLESKOMAT_SERVER_IP
|
||||
APP_PORT: $APP_BLESKOMAT_SERVER_PORT
|
||||
PROXY_AUTH_ADD: "false"
|
||||
|
||||
db:
|
||||
|
@ -14,6 +14,9 @@ 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
|
||||
|
@ -32,13 +35,17 @@ services:
|
|||
environment:
|
||||
DEBUG: "bleskomat-server*,lnurl*"
|
||||
BLESKOMAT_SERVER_HOST: "0.0.0.0"
|
||||
BLESKOMAT_SERVER_PORT: 3333
|
||||
BLESKOMAT_SERVER_PORT: "$APP_BLESKOMAT_SERVER_PORT"
|
||||
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":"bleskomat-server_db_1","port":5432,"user":"bleskomat_server","password":"moneyprintergobrrr","database":"bleskomat_server"}}}'
|
||||
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_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
|
||||
|
|
3
bleskomat-server/exports.sh
Normal file
3
bleskomat-server/exports.sh
Normal file
|
@ -0,0 +1,3 @@
|
|||
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,6 +22,4 @@ gallery:
|
|||
- 3.jpg
|
||||
path: ""
|
||||
deterministicPassword: true
|
||||
torOnly: false
|
||||
submitter: Charles Hill
|
||||
submission: https://github.com/getumbrel/umbrel/pull/1175
|
||||
torOnly: false
|
|
@ -3,8 +3,8 @@ version: "3.7"
|
|||
services:
|
||||
app_proxy:
|
||||
environment:
|
||||
APP_HOST: bluewallet_lndhub_1
|
||||
APP_PORT: 3008
|
||||
APP_HOST: $APP_BLUEWALLET_LNDHUB_IP
|
||||
APP_PORT: $APP_BLUEWALLET_LNDHUB_PORT
|
||||
PROXY_AUTH_ADD: "false"
|
||||
|
||||
redis:
|
||||
|
@ -16,6 +16,9 @@ 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"
|
||||
|
@ -27,8 +30,11 @@ services:
|
|||
volumes:
|
||||
- "${APP_LIGHTNING_NODE_DATA_DIR}:/lnd:ro"
|
||||
environment:
|
||||
PORT: 3008
|
||||
PORT: "${APP_BLUEWALLET_LNDHUB_PORT}"
|
||||
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": "bluewallet_redis_1", "family": 4, "password": "moneyprintergobrrr", "db": 0 }, "lnd": { "url": "$APP_LIGHTNING_NODE_IP:$APP_LIGHTNING_NODE_GRPC_PORT", "password": ""}}'
|
||||
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}"
|
||||
|
|
3
bluewallet/exports.sh
Normal file
3
bluewallet/exports.sh
Normal file
|
@ -0,0 +1,3 @@
|
|||
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,6 +24,4 @@ gallery:
|
|||
- 3.jpg
|
||||
path: ""
|
||||
defaultUsername: ""
|
||||
defaultPassword: ""
|
||||
submitter: Aaron Dewes
|
||||
submission: https://github.com/getumbrel/umbrel/pull/566
|
||||
defaultPassword: ""
|
|
@ -3,8 +3,8 @@ version: "3.7"
|
|||
services:
|
||||
app_proxy:
|
||||
environment:
|
||||
APP_HOST: btc-rpc-explorer_web_1
|
||||
APP_PORT: 8080
|
||||
APP_HOST: $APP_BTC_RPC_EXPLORER_IP
|
||||
APP_PORT: $APP_BTC_RPC_EXPLORER_PORT
|
||||
|
||||
web:
|
||||
image: getumbrel/btc-rpc-explorer:v3.3.0@sha256:cfd14f8e722cfbf1ad106ba224569c8babe685422461a641abc210e13913c636
|
||||
|
@ -13,7 +13,6 @@ 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
|
||||
|
@ -33,3 +32,6 @@ services:
|
|||
# Disable RPC
|
||||
BTCEXP_RPC_ALLOWALL: "false"
|
||||
BTCEXP_BASIC_AUTH_PASSWORD: ""
|
||||
networks:
|
||||
default:
|
||||
ipv4_address: $APP_BTC_RPC_EXPLORER_IP
|
||||
|
|
2
btc-rpc-explorer/exports.sh
Normal file
2
btc-rpc-explorer/exports.sh
Normal file
|
@ -0,0 +1,2 @@
|
|||
export APP_BTC_RPC_EXPLORER_IP="10.21.21.12"
|
||||
export APP_BTC_RPC_EXPLORER_PORT="3002"
|
|
@ -29,6 +29,4 @@ gallery:
|
|||
- 3.jpg
|
||||
path: ""
|
||||
defaultUsername: ""
|
||||
defaultPassword: ""
|
||||
submitter: Umbrel
|
||||
submission: https://github.com/getumbrel/umbrel/pull/334
|
||||
defaultPassword: ""
|
|
@ -3,66 +3,71 @@ version: "3.7"
|
|||
services:
|
||||
app_proxy:
|
||||
environment:
|
||||
APP_HOST: btcpay-server_web_1
|
||||
APP_PORT: 3003
|
||||
APP_HOST: $APP_BTCPAY_SERVER_IP
|
||||
APP_PORT: $APP_BTCPAY_SERVER_PORT
|
||||
PROXY_AUTH_ADD: "false"
|
||||
|
||||
nbxplorer:
|
||||
image: nicolasdorier/nbxplorer:2.3.58@sha256:e67e7b8953c8567860fe4972046af84c62c5878bb7b299c330db8a816f2d91af
|
||||
image: nicolasdorier/nbxplorer:2.2.20@sha256:8f0e7f68513596e0a2555990d262169088a70204abe397bf18ba921f9b0608f3
|
||||
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_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
|
||||
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
|
||||
|
||||
web:
|
||||
image: btcpayserver/btcpayserver:1.7.5@sha256:dd7732a0e24c85c1317b67ba4eeb9f0f0af97ed953679b29ee06178b2e797892
|
||||
image: btcpayserver/btcpayserver:1.5.4@sha256:2c1338e14cda481a738f900f1684167d435618db3890bcfed6e51cd7e8d7674c
|
||||
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=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
|
||||
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
|
||||
|
||||
postgres:
|
||||
image: btcpayserver/postgres:13.7@sha256:dadf0048895a888d88a2dd773dde2f5868c45f74ad37c6d208694df54b590531
|
||||
image: btcpayserver/postgres:13.6@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", "-c", "shared_preload_libraries=pg_stat_statements"]
|
||||
command: [ "-c", "random_page_cost=1.0" ]
|
||||
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
|
||||
- ${APP_DATA_DIR}/data/postgres:/var/lib/postgresql/data
|
||||
networks:
|
||||
default:
|
||||
ipv4_address: $APP_BTCPAY_SERVER_DB_IP
|
||||
|
|
4
btcpay-server/exports.sh
Normal file
4
btcpay-server/exports.sh
Normal file
|
@ -0,0 +1,4 @@
|
|||
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.7.5"
|
||||
version: "1.5.4"
|
||||
tagline: Accept Bitcoin payments with 0 fees & no 3rd party
|
||||
description: >-
|
||||
BTCPay Server is a payment processor that allows you to receive
|
||||
|
@ -32,22 +32,4 @@ gallery:
|
|||
- 3.jpg
|
||||
path: ""
|
||||
defaultUsername: ""
|
||||
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
|
||||
defaultPassword: ""
|
Binary file not shown.
|
@ -1,18 +0,0 @@
|
|||
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
|
|
@ -1,58 +0,0 @@
|
|||
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
|
|
@ -1,18 +0,0 @@
|
|||
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" ]
|
|
@ -1,55 +0,0 @@
|
|||
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: code-server_server_1
|
||||
APP_HOST: $APP_CODE_SERVER_IP
|
||||
APP_PORT: 8080
|
||||
|
||||
server:
|
||||
|
@ -14,3 +14,6 @@ services:
|
|||
- ${APP_DATA_DIR}/data:/home/coder
|
||||
environment:
|
||||
PASSWORD: $APP_PASSWORD
|
||||
networks:
|
||||
default:
|
||||
ipv4_address: $APP_CODE_SERVER_IP
|
||||
|
|
2
code-server/exports.sh
Normal file
2
code-server/exports.sh
Normal file
|
@ -0,0 +1,2 @@
|
|||
export APP_CODE_SERVER_IP="10.21.21.53"
|
||||
export APP_CODE_SERVER_PORT="8091"
|
|
@ -25,6 +25,4 @@ gallery:
|
|||
path: ""
|
||||
defaultUsername: ""
|
||||
deterministicPassword: true
|
||||
torOnly: false
|
||||
submitter: Umbrel
|
||||
submission: https://github.com/getumbrel/umbrel/commit/14f8b3aec8cb99ef0940ba0cd9df25b7126a95cc
|
||||
torOnly: false
|
|
@ -1,22 +1,25 @@
|
|||
version: "3.7"
|
||||
version: "3.8"
|
||||
|
||||
services:
|
||||
app_proxy:
|
||||
environment:
|
||||
APP_HOST: core-lightning-rtl_web_1
|
||||
APP_HOST: $APP_CORE_LIGHTNING_RTL_IP
|
||||
APP_PORT: 3000
|
||||
|
||||
web:
|
||||
image: shahanafarooqui/rtl:0.13.2@sha256:07d4c1f263c05c32270dcaab3625fc68ef985efce652e7850fbf57f65d36366f
|
||||
rtl:
|
||||
image: shahanafarooqui/rtl:0.12.3@sha256:b1327ecfddae5f40c4c985e31c2bc158c4697a274b61bf84acfb27486d05c5bf
|
||||
restart: on-failure
|
||||
environment:
|
||||
PORT: 3000
|
||||
APP_PASSWORD: $APP_PASSWORD
|
||||
LN_IMPLEMENTATION: CLN
|
||||
LN_IMPLEMENTATION: CLT
|
||||
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"
|
||||
- "${APP_CORE_LIGHTNING_REST_CERT_DIR}:/c-lightning-rest/certs"
|
||||
networks:
|
||||
default:
|
||||
ipv4_address: ${APP_CORE_LIGHTNING_RTL_IP}
|
1
core-lightning-rtl/exports.sh
Normal file
1
core-lightning-rtl/exports.sh
Normal file
|
@ -0,0 +1 @@
|
|||
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.13.2-beta"
|
||||
tagline: Manage your Core Lightning node with RTL
|
||||
version: "0.12.3"
|
||||
tagline: Mange your Core Lightning node with RTL
|
||||
description: >-
|
||||
This version of RTL is specifically configured to use your Core Lightning node.
|
||||
|
||||
|
@ -42,14 +42,4 @@ gallery:
|
|||
- 2.jpg
|
||||
- 3.jpg
|
||||
path: ""
|
||||
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
|
||||
deterministicPassword: true
|
|
@ -1,4 +1,4 @@
|
|||
version: "3.7"
|
||||
version: "3.8"
|
||||
|
||||
services:
|
||||
app_proxy:
|
||||
|
@ -30,7 +30,7 @@ services:
|
|||
ipv4_address: ${APP_CORE_LIGHTNING_IP}
|
||||
|
||||
c-lightning-rest:
|
||||
image: saubyk/c-lightning-rest:0.9.0@sha256:00b40443f1f455378587abb37649fdb7c7b1efb43ed64bc9fe78d9bf6ffb4371
|
||||
image: saubyk/c-lightning-rest:0.7.2@sha256:7943ca9bf7b3952e4956b322405890788b6ddda553908c3a284438ef4e616768
|
||||
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:v22.11.1@sha256:e9939341ca6736566e0499db5a339b25140d6e77fb16ab202c217112f0df9b77
|
||||
image: lncm/clightning:v0.11.0@sha256:75e0ce04d644f34b07bc8a3b92e58b3db4e3c06bdc0e0cecd1669bc3b2d53421
|
||||
restart: on-failure
|
||||
ports:
|
||||
- ${APP_CORE_LIGHTNING_DAEMON_PORT}:9735
|
||||
|
@ -57,21 +57,9 @@ 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}
|
||||
|
||||
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"
|
||||
ipv4_address: ${APP_CORE_LIGHTNING_DAEMON_IP}
|
|
@ -8,10 +8,5 @@ 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")"
|
|
@ -1,26 +0,0 @@
|
|||
#!/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,3 +1,7 @@
|
|||
# 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
|
||||
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
|
|
@ -1,8 +1,8 @@
|
|||
manifestVersion: 1.1
|
||||
manifestVersion: 1
|
||||
id: core-lightning
|
||||
category: Finance
|
||||
name: Core Lightning
|
||||
version: "22.11.1"
|
||||
version: "0.11.1-build-3"
|
||||
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-core-lightning
|
||||
repo: https://github.com/getumbrel/umbrel-lightning
|
||||
support: https://community.getumbrel.com/c/bitcoin-and-lightning
|
||||
port: 2103
|
||||
gallery:
|
||||
|
@ -34,19 +34,4 @@ gallery:
|
|||
- 3.jpg
|
||||
- 4.jpg
|
||||
path: ""
|
||||
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
|
||||
defaultPassword: ""
|
|
@ -24,7 +24,7 @@ services:
|
|||
ipv4_address: $APP_ELECTRS_IP
|
||||
|
||||
electrs:
|
||||
image: getumbrel/electrs:v0.9.10@sha256:7b64bf93f2137fcd040fc512a302abda17dd1b4cad8181a14fa34c15361f1334
|
||||
image: getumbrel/electrs:v0.9.4@sha256:b1590ac6cfb0e5b481c6a7af7f0626d76cbb91c63702b0f5c47e2829e9c37997
|
||||
restart: always
|
||||
environment:
|
||||
ELECTRS_LOG_FILTERS: "INFO"
|
||||
|
@ -41,14 +41,4 @@ services:
|
|||
- "${APP_ELECTRS_NODE_PORT}:${APP_ELECTRS_NODE_PORT}"
|
||||
networks:
|
||||
default:
|
||||
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"
|
||||
ipv4_address: $APP_ELECTRS_NODE_IP
|
|
@ -1,26 +0,0 @@
|
|||
#!/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,3 +1,7 @@
|
|||
# Electrs RPC Hidden Service
|
||||
HiddenServiceDir /data/app-$APP_ID-rpc
|
||||
HiddenServicePort $APP_ELECTRS_NODE_PORT $APP_ELECTRS_NODE_IP:$APP_ELECTRS_NODE_PORT
|
||||
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
|
|
@ -1,8 +1,8 @@
|
|||
manifestVersion: 1.1
|
||||
manifestVersion: 1
|
||||
id: electrs
|
||||
category: Finance
|
||||
name: Electrs
|
||||
version: "0.9.10"
|
||||
version: "0.9.4-build-2"
|
||||
tagline: A simple and efficient Electrum Server
|
||||
description: >
|
||||
Run your personal Electrum server and connect your Electrum-compatible wallet,
|
||||
|
@ -28,14 +28,4 @@ gallery:
|
|||
- 3.jpg
|
||||
- 4.jpg
|
||||
path: ""
|
||||
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
|
||||
defaultPassword: ""
|
|
@ -3,7 +3,7 @@ version: "3.7"
|
|||
services:
|
||||
app_proxy:
|
||||
environment:
|
||||
APP_HOST: element_web_1
|
||||
APP_HOST: $APP_ELEMENT_IP
|
||||
APP_PORT: 80
|
||||
|
||||
web:
|
||||
|
@ -12,3 +12,6 @@ services:
|
|||
# user: "1000:1000"
|
||||
restart: on-failure
|
||||
stop_grace_period: 1m
|
||||
networks:
|
||||
default:
|
||||
ipv4_address: $APP_ELEMENT_IP
|
||||
|
|
2
element/exports.sh
Normal file
2
element/exports.sh
Normal file
|
@ -0,0 +1,2 @@
|
|||
export APP_ELEMENT_IP="10.21.21.45"
|
||||
export APP_ELEMENT_PORT="8088"
|
|
@ -36,6 +36,4 @@ gallery:
|
|||
path: ""
|
||||
defaultUsername: ""
|
||||
defaultPassword: ""
|
||||
torOnly: false
|
||||
submitter: Umbrel
|
||||
submission: https://github.com/getumbrel/umbrel/commit/bb10e17a6256db19767af7eaeb93e665ac275b24
|
||||
torOnly: false
|
|
@ -1,9 +1,9 @@
|
|||
version: "3.7"
|
||||
version: "3.8"
|
||||
|
||||
services:
|
||||
app_proxy:
|
||||
environment:
|
||||
APP_HOST: elements_web_1
|
||||
APP_HOST: $APP_ELEMENTS_IP
|
||||
APP_PORT: 8080
|
||||
|
||||
node:
|
||||
|
@ -38,6 +38,9 @@ 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
|
||||
|
@ -48,18 +51,13 @@ services:
|
|||
RPC_USER: elements
|
||||
RPC_PASS: $APP_PASSWORD
|
||||
RPC_PORT: $APP_ELEMENTS_NODE_RPC_PORT
|
||||
RPC_HOST: elements_node_1
|
||||
RPC_HOST: $APP_ELEMENTS_NODE_IP
|
||||
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,3 +1,6 @@
|
|||
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"
|
||||
|
||||
|
|
|
@ -1,26 +0,0 @@
|
|||
#!/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,7 +1,11 @@
|
|||
# elements rpc Hidden Service
|
||||
HiddenServiceDir /data/app-$APP_ID-rpc
|
||||
HiddenServicePort $APP_ELEMENTS_NODE_RPC_PORT elements_node_1:$APP_ELEMENTS_NODE_RPC_PORT
|
||||
HiddenServicePort $APP_ELEMENTS_NODE_RPC_PORT $APP_ELEMENTS_NODE_IP:$APP_ELEMENTS_NODE_RPC_PORT
|
||||
|
||||
# elements p2p Hidden Service
|
||||
HiddenServiceDir /data/app-$APP_ID-p2p
|
||||
HiddenServicePort $APP_ELEMENTS_NODE_P2P_PORT elements_node_1:$APP_ELEMENTS_NODE_P2P_PORT
|
||||
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
|
|
@ -1,4 +1,4 @@
|
|||
manifestVersion: 1.1
|
||||
manifestVersion: 1
|
||||
id: elements
|
||||
category: Wallet Servers
|
||||
name: Elements Core
|
||||
|
@ -21,6 +21,4 @@ gallery:
|
|||
- 3.jpg
|
||||
path: ''
|
||||
deterministicPassword: false
|
||||
torOnly: false
|
||||
submitter: Marco Argentieri
|
||||
submission: https://github.com/getumbrel/umbrel/pull/1319
|
||||
torOnly: false
|
|
@ -1,13 +0,0 @@
|
|||
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
|
|
@ -1,24 +0,0 @@
|
|||
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
|
|
@ -1,20 +0,0 @@
|
|||
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
|
|
@ -1,22 +0,0 @@
|
|||
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}"
|
|
@ -1,26 +0,0 @@
|
|||
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
|
|
@ -1,38 +0,0 @@
|
|||
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 +0,0 @@
|
|||
export APP_FIREFLY_III_APP_KEY=$(derive_entropy "env-${app_entropy_identifier}-APP_KEY" | head -c32)
|
|
@ -1,48 +0,0 @@
|
|||
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
|
|
@ -1,17 +0,0 @@
|
|||
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"
|
|
@ -1,35 +0,0 @@
|
|||
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
|
|
@ -1,47 +0,0 @@
|
|||
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
|
|
@ -1,5 +0,0 @@
|
|||
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"
|
|
@ -1,34 +0,0 @@
|
|||
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: gitea_server_1
|
||||
APP_PORT: 8085
|
||||
APP_HOST: $APP_GITEA_IP
|
||||
APP_PORT: $APP_GITEA_PORT
|
||||
PROXY_AUTH_ADD: "false"
|
||||
|
||||
server:
|
||||
|
@ -18,17 +18,20 @@ services:
|
|||
- ${APP_DATA_DIR}/data/gitea/config:/etc/gitea
|
||||
environment:
|
||||
GITEA__security__INSTALL_LOCK: "true"
|
||||
GITEA__server__DOMAIN: "${APP_GITEA_DOMAIN}"
|
||||
GITEA__server__DOMAIN: "${APP_DOMAIN}"
|
||||
GITEA__server__HTTP_PORT: "${APP_GITEA_PORT}"
|
||||
GITEA__server__SSH_DOMAIN: "${APP_GITEA_DOMAIN}"
|
||||
GITEA__server__SSH_DOMAIN: "${APP_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: "gitea_db_1:3306"
|
||||
GITEA__database__HOST: "${APP_GITEA_DB_IP}: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
|
||||
|
@ -41,3 +44,6 @@ services:
|
|||
MYSQL_USER: "gitea"
|
||||
MYSQL_PASSWORD: "moneyprintergobrrr"
|
||||
MYSQL_DATABASE: "gitea"
|
||||
networks:
|
||||
default:
|
||||
ipv4_address: $APP_GITEA_DB_IP
|
||||
|
|
|
@ -1,6 +1,4 @@
|
|||
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_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}"
|
||||
export APP_GITEA_DB_IP="10.21.21.40"
|
4
gitea/torrc.template
Normal file
4
gitea/torrc.template
Normal file
|
@ -0,0 +1,4 @@
|
|||
# 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.1
|
||||
manifestVersion: 1
|
||||
id: gitea
|
||||
category: Development
|
||||
name: Gitea
|
||||
|
@ -41,6 +41,4 @@ gallery:
|
|||
path: ""
|
||||
defaultUsername: ""
|
||||
defaultPassword: ""
|
||||
torOnly: false
|
||||
submitter: Umbrel
|
||||
submission: https://github.com/getumbrel/umbrel/commit/d62e00353917143a3a10d3b376859f51b665d150
|
||||
torOnly: false
|
|
@ -1,17 +0,0 @@
|
|||
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
|
|
@ -1,37 +0,0 @@
|
|||
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: helipad_web_1
|
||||
APP_HOST: $APP_HELIPAD_IP
|
||||
APP_PORT: 2112
|
||||
|
||||
web:
|
||||
|
@ -17,3 +17,6 @@ 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
|
||||
|
|
2
helipad/exports.sh
Normal file
2
helipad/exports.sh
Normal file
|
@ -0,0 +1,2 @@
|
|||
export APP_HELIPAD_PORT="2112"
|
||||
export APP_HELIPAD_IP="10.21.21.65"
|
|
@ -18,6 +18,4 @@ gallery:
|
|||
- 2.jpg
|
||||
- 3.jpg
|
||||
path: ""
|
||||
defaultPassword: ""
|
||||
submitter: Podcastindex.org
|
||||
submission: https://github.com/getumbrel/umbrel/pull/1174
|
||||
defaultPassword: ""
|
|
@ -3,12 +3,15 @@ version: "3.7"
|
|||
services:
|
||||
app_proxy:
|
||||
environment:
|
||||
APP_HOST: home-assistant_server_1
|
||||
APP_HOST: $APP_HOME_ASSISTANT_IP
|
||||
APP_PORT: 8123
|
||||
PROXY_AUTH_ADD: "false"
|
||||
|
||||
server:
|
||||
image: homeassistant/home-assistant:2023.2.0@sha256:a4a9f614a1edcd414d63decd99813a2ff9910d876db1e04641540a0c75d20918
|
||||
image: homeassistant/home-assistant:2022.6.4@sha256:79e3205fdc1dcc5910370e851d5d504fcf7206d7274ba141d648a08c54268a82
|
||||
volumes:
|
||||
- ${APP_DATA_DIR}/data:/config
|
||||
- ${APP_DATA_DIR}/configuration.yaml:/config/configuration.yaml
|
||||
networks:
|
||||
default:
|
||||
ipv4_address: $APP_HOME_ASSISTANT_IP
|
||||
|
|
2
home-assistant/exports.sh
Normal file
2
home-assistant/exports.sh
Normal file
|
@ -0,0 +1,2 @@
|
|||
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: "2023.2.0"
|
||||
version: "2022.6.4"
|
||||
tagline: Home automation that puts local control & privacy first
|
||||
description: >-
|
||||
Open source home automation that puts local control and privacy
|
||||
|
@ -31,8 +31,4 @@ gallery:
|
|||
path: ""
|
||||
defaultUsername: ""
|
||||
defaultPassword: ""
|
||||
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
|
||||
torOnly: false
|
|
@ -1,121 +0,0 @@
|
|||
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
|
|
@ -1,7 +0,0 @@
|
|||
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=""
|
|
@ -1,59 +0,0 @@
|
|||
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