App submission: sat.watch (#2723)

Co-authored-by: al-lac <lackner.alex@gmail.com>
This commit is contained in:
J.P. Cummins 2025-07-02 02:42:11 -07:00 committed by GitHub
parent 39cd1fa64c
commit e04923930c
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
5 changed files with 91 additions and 0 deletions

View File

View File

@ -0,0 +1,40 @@
version: "3.7"
services:
app_proxy:
environment:
APP_HOST: satwatch_web_1
APP_PORT: 8080
web:
image: ghcr.io/jpcummins/sat.watch:1.1.8@sha256:9911b2d8ff720672a2c97bd0cc1811c74790b96ae951ad98f7956ee9d480b175
restart: on-failure
stop_grace_period: 1m
environment:
DATABASE_URL: "postgresql://satwatch:satwatch@satwatch_db_1:5432/satwatch?sslmode=disable"
ELECTRUM_HOST: $APP_ELECTRS_NODE_IP
ELECTRUM_PORT: $APP_ELECTRS_NODE_PORT
URL: "http://$DEVICE_DOMAIN_NAME:3883"
ZMQ_HOST: $APP_BITCOIN_NODE_IP
ZMQ_PORT: $APP_BITCOIN_ZMQ_RAWTX_PORT
RPCHOST: "http://$APP_BITCOIN_NODE_IP:$APP_BITCOIN_RPC_PORT"
RPCUSER: $APP_BITCOIN_RPC_USER
RPCPASSWORD: $APP_BITCOIN_RPC_PASS
user: "1000:1000"
depends_on:
db:
condition: service_healthy
db:
image: docker.io/library/postgres:17@sha256:fe3f571d128e8efadcd8b2fde0e2b73ebab6dbec33f6bfe69d98c682c7d8f7bd
restart: on-failure
environment:
POSTGRES_USER: satwatch
POSTGRES_PASSWORD: satwatch
POSTGRES_DB: satwatch
user: "1000:1000"
volumes:
- ${APP_DATA_DIR}/data/db:/var/lib/postgresql/data
healthcheck:
test: pg_isready -U satwatch -h localhost -d satwatch
interval: 5s
timeout: 5s
retries: 10

0
satwatch/exports.yml Normal file
View File

17
satwatch/hooks/pre-start Executable file
View File

@ -0,0 +1,17 @@
#!/usr/bin/env bash
set -euo pipefail
# Block until the service is healthy before creating users
"${UMBREL_ROOT}/scripts/app" compose "${APP_ID}" up --detach --wait --wait-timeout 60 web
# Create the default username and password.
for attempt in $(seq 1 3); do
if "${UMBREL_ROOT}/scripts/app" compose "${APP_ID}" run --rm web "./create-user -admin -username satwatch -password ${APP_PASSWORD} -idempotent"; then
echo "Successfully created default user"
break
else
# The database takes time to initialize after installation.
echo "Failed to create default user. Retrying..."
sleep 0.5
fi
done

34
satwatch/umbrel-app.yml Normal file
View File

@ -0,0 +1,34 @@
manifestVersion: 1.1
id: satwatch
category: bitcoin
name: sat.watch
version: "1.1.8"
tagline: Bitcoin monitoring and real-time alerts
description: >-
sat.watch provides real-time monitoring of your Bitcoin.
Features:
- Monitor Bitcoin addresses, xpubs, or descriptors
- Alerts for funds sent or received
- Monitors the mempool and confirmed blocks
- Total balance summary for all addresses monitored
- Email and webhook notifications
- PGP encrypted email
developer: J.P. Cummins
releaseNotes: ""
dependencies:
- bitcoin
- electrs
website: https://sat.watch
gallery:
- 1.jpg
- 2.jpg
- 3.jpg
repo: https://github.com/jpcummins/sat.watch
support: https://github.com/jpcummins/sat.watch/issues
port: 3883
path: "/app"
defaultUsername: "satwatch"
deterministicPassword: true
submitter: J.P. Cummins
submission: https://github.com/getumbrel/umbrel-apps/pull/2723