Compare commits

...

44 Commits

Author SHA1 Message Date
AaronDewes
e44d1010e3 Fix DB name 2022-07-16 13:30:56 +00:00
AaronDewes
cc273d4eab Fix LNDHub 2022-07-16 13:30:09 +00:00
AaronDewes
b51f1fe0e3 Fix mount syntax 2022-07-16 13:28:09 +00:00
AaronDewes
0ef5bc6560 Add data dir 2022-07-16 13:25:57 +00:00
AaronDewes
adbf1dac90 Fix LND path 2022-07-16 13:25:22 +00:00
AaronDewes
68cd99ab6e Minor fix for LNDHub 2022-07-16 13:19:11 +00:00
AaronDewes
ddb8d6d81e Fix LNDHub.go link 2022-07-16 13:18:20 +00:00
AaronDewes
4fb7595398 Try dockerizing LNDHub.go 2022-07-16 13:17:16 +00:00
AaronDewes
8a60a3bc60 More fixes for ln-visualizer 2022-07-16 11:50:02 +00:00
AaronDewes
6c92aee96b Fix more apps 2022-07-16 11:46:02 +00:00
AaronDewes
9569268ee1 Add missing copyright for Kollider 2022-07-16 11:38:20 +00:00
AaronDewes
c3ca6774ce Minor fix 2022-07-16 11:33:38 +00:00
AaronDewes
80d88898ed Fix more stuff 2022-07-16 11:32:36 +00:00
AaronDewes
9e534d1572 Fix LN visualizer 2022-07-16 11:31:05 +00:00
AaronDewes
93df155aa0 Add Kollider 2022-07-16 11:30:52 +00:00
AaronDewes
2c62baedbc Merge branch 'v3-dev' into v4-dev 2022-07-12 05:40:17 +00:00
Aaron Dewes
f4484e1d7c
Remove leftover 2022-07-09 12:53:10 +02:00
Aaron Dewes
8ea945dc92
Update app.yml 2022-07-08 20:58:28 +02:00
AaronDewes
e559694371 Update RTL 2022-07-07 17:17:53 +00:00
AaronDewes
011cfe54a7 Update loop 2022-07-07 17:12:32 +00:00
AaronDewes
1eddba1077 Add ln-visualizer 2022-06-20 15:33:57 +00:00
Aaron Dewes
4358f0fa46
Forgot the d 2022-06-19 16:37:08 +02:00
Aaron Dewes
1724d90e53
Fix env var names 2022-06-19 16:31:59 +02:00
Aaron Dewes
4d0f5c009b
Fix woofbot port definition 2022-06-19 16:30:45 +02:00
AaronDewes
2718b5b709 Add WoofBot 2022-06-19 14:09:25 +00:00
AaronDewes
f856fdd40b Revert "Update apps"
This reverts commit 6f28fabe85.
2022-06-19 13:58:15 +00:00
AaronDewes
ab182120b0 Merge branch 'v3-dev' into v4-dev 2022-06-19 13:57:42 +00:00
AaronDewes
c4f6673ccb Update some apps 2022-06-15 08:23:43 +00:00
AaronDewes
2840c65fe6 Fix synapse version 2022-06-15 08:03:27 +00:00
AaronDewes
1238c81efb Fix Bitfeed 2022-06-14 17:57:05 +00:00
AaronDewes
a5d6fa505c Port Bitfeed to app.yml v4 2022-06-14 17:55:59 +00:00
Aaron Dewes
36f8f1a0dc
Fix c-lightning name 2022-06-13 08:56:43 +02:00
Aaron Dewes
0aef563b8e
Update nginx.conf 2022-06-10 20:20:46 +02:00
Aaron Dewes
bb16810c89
Change username 2022-06-10 16:49:16 +02:00
Aaron Dewes
fe1db7865c
Update app.yml 2022-06-10 15:12:58 +02:00
Aaron Dewes
8c02b06e95
Fix agora filebrowser SHA 2022-06-10 15:07:42 +02:00
Aaron Dewes
70bf9e3703
Minor fixes for agora 2022-06-10 15:03:11 +02:00
AaronDewes
1bd4617e3d Merge branch 'v3-dev' into v4-dev 2022-06-10 08:14:01 +00:00
Aaron Dewes
a6c413aee2
Fix agora app 2022-06-08 10:12:10 +02:00
Aaron Dewes
f4c79a0f66
Fix app.yml v4 2022-06-08 09:16:41 +02:00
AaronDewes
b3ee1ebb22 Port JAM to app.yml v4 2022-06-07 06:22:17 +00:00
AaronDewes
ac657ca1b6 Add agora 2022-06-07 05:58:43 +00:00
AaronDewes
a8a0acfb91 Port some apps to app.yml v4 2022-06-06 15:22:56 +00:00
AaronDewes
b4728de06f Port RTL to app.yml v4 2022-06-06 14:58:36 +00:00
22 changed files with 793 additions and 89 deletions

245
app-standard-v4.yml Normal file
View File

@ -0,0 +1,245 @@
---
$schema: "http://json-schema.org/draft-07/schema#"
title: AppYml
description: Citadel app definition
type: object
required:
- citadel_version
- metadata
- services
properties:
citadel_version:
type: integer
format: uint8
minimum: 0.0
metadata:
$ref: "#/definitions/Metadata"
services:
type: object
additionalProperties:
$ref: "#/definitions/Container"
definitions:
Command:
anyOf:
- type: string
- type: array
items:
type: string
Container:
type: object
required:
- image
properties:
command:
anyOf:
- $ref: "#/definitions/Command"
- type: "null"
depends_on:
type:
- array
- "null"
items:
type: string
enable_networking:
default: true
type: boolean
entrypoint:
anyOf:
- $ref: "#/definitions/Command"
- type: "null"
environment:
type:
- object
- "null"
additionalProperties:
type: string
hidden_services:
anyOf:
- $ref: "#/definitions/HiddenServices"
- type: "null"
image:
type: string
init:
type:
- boolean
- "null"
mounts:
anyOf:
- $ref: "#/definitions/Mounts"
- type: "null"
network_mode:
type:
- string
- "null"
port:
type:
- integer
- "null"
format: uint16
minimum: 0.0
port_priority:
anyOf:
- $ref: "#/definitions/PortPriority"
- type: "null"
required_ports:
anyOf:
- $ref: "#/definitions/PortsDefinition"
- type: "null"
requires:
description: "Unlike depends_on, this is dependencies (defined in metadata) that are required for this container The container gets ignored without them"
type:
- array
- "null"
items:
type: string
restart:
type:
- string
- "null"
stop_grace_period:
type:
- string
- "null"
stop_signal:
type:
- string
- "null"
user:
type:
- string
- "null"
HiddenServices:
anyOf:
- type: object
additionalProperties:
type: integer
format: uint16
minimum: 0.0
- type: object
additionalProperties:
type: object
additionalProperties:
type: integer
format: uint16
minimum: 0.0
Metadata:
type: object
required:
- category
- developers
- name
- repo
- support
- tagline
- version
properties:
category:
description: The category for the app
type: string
defaultPassword:
description: "The app's default password. Can also be $APP_SEED for a random password"
type:
- string
- "null"
developers:
type: object
additionalProperties:
type: string
gallery:
description: A list of promo images for the apps
type:
- array
- "null"
items:
type: string
name:
description: The name of the app
type: string
path:
description: "The path the \"Open\" link on the dashboard should lead to"
type:
- string
- "null"
permissions:
description: Permissions the app requires
default: []
type: array
items:
$ref: "#/definitions/Permissions"
repo:
description: App repository name -> repo URL
type: object
additionalProperties:
type: string
support:
description: A support link for the app
type: string
tagline:
description: A short tagline for the app
type: string
torOnly:
description: True if the app only works over Tor
default: false
type: boolean
updateContainers:
description: A list of containers to update automatically (still validated by the Citadel team)
type:
- array
- "null"
items:
type: string
version:
description: The version of the app
type: string
Mounts:
type: object
properties:
bitcoin:
type:
- string
- "null"
c_lightning:
type:
- string
- "null"
data:
type:
- object
- "null"
additionalProperties:
type: string
lnd:
type:
- string
- "null"
Permissions:
anyOf:
- type: string
- type: array
items:
type: string
PortPriority:
type: string
enum:
- Optional
- Recommended
- Required
PortsDefinition:
type: object
properties:
tcp:
type:
- object
- "null"
additionalProperties:
type: integer
format: uint16
minimum: 0.0
udp:
type:
- object
- "null"
additionalProperties:
type: integer
format: uint16
minimum: 0.0

75
apps/agora/app.yml Normal file
View File

@ -0,0 +1,75 @@
# SPDX-FileCopyrightText: 2022 Jonathan Zernik
# SPDX-FileCopyrightText: 2022 Citadel and contributors
#
# SPDX-License-Identifier: AGPL-3.0-only
# yaml-language-server: $schema=../../app-standard-v4.yml
citadel_version: 4
metadata:
category: Files
name: Agora
version: v0.1.2
tagline: Sell your files for Bitcoin
description: >-
Agora is a project that allows anyone to sell files on the web for bitcoin using the Lightning Network.\n\nAgora serves the contents of a local directory, providing file listings and downloads over HTTP.
For example, you can point it at a directory full of PDFs, allowing users to browse and view the PDFs in their web browser.
If Agora is connected to an LND node, it can be configured to require Lightning Network payments for downloads.
developers:
Casey Rodarmor & Sönke Hahn: https://agora-org.github.io/agora/
permissions:
- lnd
repo:
Public: https://github.com/agora-org/agora
support: https://t.me/agoradiscussion
gallery: ["1.jpg", "2.jpg", "3.jpg"]
path: /admin/
defaultPassword: $APP_SEED
services:
filebrowser:
image: filebrowser/filebrowser:v2.21.1@sha256:e1f43b1b8a1acb1d7cd5f934454e7a2ef571ea3bab48b0e1ed0fa97ef9df8d69
user: 1000:1000
restart: on-failure
stop_grace_period: 1m
mounts:
data:
data/files: /srv
data/database/filebrowser.db: /database.db
data/entrypoint.sh: /citadel-entrypoint.sh
environment:
APP_PASSWORD: "$APP_SEED"
entrypoint: sh /citadel-entrypoint.sh
agora:
image: ghcr.io/agora-org/agora:sha-bb037f2@sha256:ab5538638fa5c6c709c5dd295df1dd57e419abdbd2328075843ce6fbe0951820
restart: on-failure
stop_grace_period: 1m
mounts:
data:
data/files: /files
lnd: /lnd
user: "1000:1000"
environment:
# LND environment variables
LND_RPC_AUTHORITY: "$LND_IP:$LND_GRPC_PORT"
TLS_CERT_PATH: "/lnd/tls.cert"
INVOICES_MACAROON_PATH: "/lnd/data/chain/bitcoin/$BITCOIN_NETWORK/invoice.macaroon"
# App specific environment variables
FILES_DIR: "/files"
AGORA_PORT: "8080"
main:
image: nginx:1.21.6@sha256:2834dc507516af02784808c5f48b7cbe38b8ed5d0f4837f16e78d00deb7e7767
init: true
restart: on-failure
mounts:
data:
data/nginx.conf: /etc/nginx/nginx.conf
data/www: /usr/share/nginx/html
port: 80
depends_on:
- agora
- filebrowser

View File

8
apps/agora/data/entrypoint.sh Executable file
View File

@ -0,0 +1,8 @@
#!/usr/bin/env sh
# Update configs
/filebrowser config init
/filebrowser config set --branding.name "Agora Admin"
/filebrowser users add citadel ${APP_PASSWORD}
exec /filebrowser -p 8080 --baseurl "/admin/files"

View File

@ -0,0 +1,49 @@
version: "3.7"
services:
filebrowser:
image: filebrowser/filebrowser:v2.21.1@sha256:6da71bfffc1345075a5cc06e0a7ae270098186407c62f4f71994e079677364d0
user: 1000:1000
restart: on-failure
stop_grace_period: 1m
volumes:
- ${APP_DATA_DIR}/files:/srv
- ${APP_DATA_DIR}/database/filebrowser.db:/database.db
- ${APP_DATA_DIR}/data:/data
environment:
APP_PASSWORD: "$APP_PASSWORD"
entrypoint: /data/entrypoint.sh
agora:
image: ghcr.io/agora-org/agora:sha-48d3205@sha256:35eda120a8d868c7fa3b9cbdcad7cc2245b9fe7e0c5356c8091bb0bf9a65222d
restart: on-failure
stop_grace_period: 1m
volumes:
- ${APP_DATA_DIR}/files:/files
- ${LND_DATA_DIR}:/lnd:ro
user: "1000:1000"
environment:
# LND environment variables
LND_RPC_AUTHORITY: "$LND_IP:$LND_GRPC_PORT"
TLS_CERT_PATH: "/lnd/tls.cert"
INVOICES_MACAROON_PATH: "/lnd/data/chain/bitcoin/$BITCOIN_NETWORK/invoice.macaroon"
# App specific environment variables
FILES_DIR: "/files"
AGORA_PORT: 8080
nginx:
image: nginx:1.19-alpine@sha256:c2ce58e024275728b00a554ac25628af25c54782865b3487b11c21cafb7fabda
init: true
restart: on-failure
volumes:
- ${APP_DATA_DIR}/nginx/nginx.conf:/etc/nginx/nginx.conf
- ${APP_DATA_DIR}/data/www:/usr/share/nginx/html
ports:
- "$APP_AGORA_PORT:80"
depends_on:
- agora
- filebrowser
networks:
default:
ipv4_address: $APP_AGORA_IP

View File

@ -0,0 +1,22 @@
events { }
http {
server {
listen 80;
server_name _;
location / {
proxy_pass http://agora:8080;
}
location /admin {
include /etc/nginx/mime.types;
root /usr/share/nginx/html;
index index.html;
}
location /admin/files {
proxy_pass http://filebrowser:8080;
}
}
}

View File

@ -0,0 +1,27 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Agora Admin</title>
<link rel="stylesheet" type="text/css" href="pico.min.css" />
</head>
<body>
<main class="container container-fluid">
<h1>Welcome to Agora Admin!</h1>
<ul>
<li><a href="/">Download files</a></li>
<li>
<a href='http://<!--#echo var="ssihiddenservice"-->'
>Download files over Tor</a
>
</li>
<li><a href="/admin/files">Upload and manage files</a></li>
<li>
<a target="_blank" rel="noopener noreferrer" href="https://github.com/agora-org/agora#access-configuration"
>Agora Configuration Docs</a
>
</li>
</ul>
</main>
</body>
</html>

File diff suppressed because one or more lines are too long

View File

@ -2,13 +2,14 @@
#
# SPDX-License-Identifier: AGPL-3.0-only
# yaml-language-server: $schema=../../app-standard-v3.yml
# yaml-language-server: $schema=../../app-standard-v4.yml
citadel_version: 4
version: 3
metadata:
category: Explorers
name: Bitfeed
version: 2.2.1
version: 2.3.4
tagline: A live visualization of your node's mempool
description: A self-hosted version of Bitfeed - the open source mempool & block
visualizer available at https://bits.monospace.live. Watch as new
@ -17,9 +18,10 @@ metadata:
the latest block, or simply enjoy a soothing Bitcoin screensaver.
developers:
Mononaut: https://monospace.live
dependencies:
permissions:
- bitcoind
repo: https://github.com/bitfeed-project/bitfeed
repo:
Public: https://github.com/bitfeed-project/bitfeed
support: https://github.com/bitfeed-project/bitfeed/issues
gallery:
- 1.jpg
@ -29,9 +31,9 @@ metadata:
- main
- api
containers:
- name: main
image: ghcr.io/bitfeed-project/bitfeed-client:v2.2.1@sha256:70c89d49d20ba3da21c648c259f45a4b89e06bfe1d97374a092dce6f891d03c6
services:
main:
image: ghcr.io/bitfeed-project/bitfeed-client:v2.3.4@sha256:5d57477e69a789d547b1c6c441e0ff49e2f5ed46bf4b5ab9ca9f5403f385e926
restart: on-failure
stop_grace_period: 1m
port: 80
@ -42,8 +44,8 @@ containers:
BACKEND_HOST: $APP_BITFEED_API_IP
BACKEND_PORT: "3000"
- name: api
image: ghcr.io/bitfeed-project/bitfeed-server:v2.2.1@sha256:60eae8109d3d6a377aec8a954f93b6be9ee48de717c9ab5810c2a5afcf688554
api:
image: ghcr.io/bitfeed-project/bitfeed-server:v2.3.4@sha256:e38a2e07389cf6d0c519e856291e535fdd10a1e50143d528c82bfe0baf06894f
user: 1000:1000
restart: on-failure
stop_grace_period: 1m
@ -56,7 +58,8 @@ containers:
BITCOIN_RPC_PORT: $BITCOIN_RPC_PORT
BITCOIN_RPC_USER: $BITCOIN_RPC_USER
BITCOIN_RPC_PASS: $BITCOIN_RPC_PASS
RPC_POOLS: 3
RPC_POOL_SIZE: 4
data:
- data:/app/data
RPC_POOLS: "3"
RPC_POOL_SIZE: "4"
mounts:
data:
data: /app/data

View File

@ -1,10 +1,11 @@
# SPDX-FileCopyrightText: 2021 Citadel and contributors
# SPDX-FileCopyrightText: 2021-2022 Citadel and contributors
#
# SPDX-License-Identifier: AGPL-3.0-or-later
# yaml-language-server: $schema=../../app-standard-v3.yml
# yaml-language-server: $schema=../../app-standard-v4.yml
citadel_version: 4
version: 3
metadata:
category: Wallets
name: JAM
@ -17,9 +18,10 @@ metadata:
beginners while still providing the features advanced users expect.
developers:
JAM developers: https://github.com/joinmarket-webui/joinmarket-webui
dependencies:
permissions:
- bitcoind
repo: https://github.com/joinmarket-webui/joinmarket-webui
repo:
Public: https://github.com/joinmarket-webui/joinmarket-webui
support: https://t.me/JoinMarketWebUI
gallery:
- 1.jpg
@ -28,22 +30,24 @@ metadata:
- 4.jpg
- 5.jpg
defaultPassword: $APP_SEED
containers:
- name: joinmarket-webui
services:
main:
image: ghcr.io/joinmarket-webui/joinmarket-webui-standalone:v0.0.6-clientserver-v0.9.6
restart: on-failure
stop_grace_period: 1m
init: true
port: 80
data:
- data/joinmarket:/root/.joinmarket
mounts:
data:
data/joinmarket: /root/.joinmarket
environment:
ENSURE_WALLET: 1
RESTORE_DEFAULT_CONFIG: 1
ENSURE_WALLET: "1"
RESTORE_DEFAULT_CONFIG: "1"
APP_USER: citadel
APP_PASSWORD: ${APP_SEED}
jm_tor_control_host: $TOR_PROXY_IP
jm_tor_control_port: 29051
jm_tor_control_port: "29051"
jm_onion_socks5_host: $TOR_PROXY_IP
jm_onion_socks5_port: $TOR_PROXY_PORT
jm_socks5_host: $TOR_PROXY_IP
@ -54,5 +58,5 @@ containers:
jm_rpc_password: ${BITCOIN_RPC_PASS}
jm_rpc_wallet_file: jm_webui_default
jm_network: $BITCOIN_NETWORK
jm_max_cj_fee_abs: 300000
jm_max_cj_fee_rel: 0.0003
jm_max_cj_fee_abs: "300000"
jm_max_cj_fee_rel: "0.0003"

77
apps/kollider/app.yml Normal file
View File

@ -0,0 +1,77 @@
# SPDX-FileCopyRightText: 2022 Kevin Cai
# SPDX-FileCopyrightText: 2022 Citadel and contributors
#
# SPDX-License-Identifier: AGPL-3.0-only
# yaml-language-server: $schema=../../app-standard-v4.yml
citadel_version: 4
metadata:
category: Finance
name: Kollider
version: "1.0.6"
tagline: Lightning-fast derivative trading
description: >-
Kollider lets you instantly trade perpetual contracts with low fees
and up to 100x buying power.
No need to pre-fund a trading account, each trade settles directly from your own wallet or even from your own lightning node in milliseconds.
The Kollider App lets you use the Lightning Network to get instant exposure to a range of products using Bitcoin, directly from your node.
More features coming soon!
developers:
Kollider: https://kollider.xyz
permissions:
- lnd
repo:
Public: https://github.com/kolliderhq/kollider-lite-app
support: https://t.me/kolliderhq
port: 4243
gallery:
- 1.jpg
- 2.jpg
- 3.jpg
defaultPassword: $APP_SEED
services:
web:
image: kolliderhq/kollider-lite-app:v1.0.6@sha256:f5bbbea86ed4d03c9a7c66527edbcda05228986ba5721e65c08a885edb74151a
init: true
user: 1000:1000
restart: on-failure
stop_grace_period: 1m
mounts:
data:
data/cache/images: /app/.next/cache/images
port: 3000
backend:
image: kolliderhq/kollider-lite-backend:v1.0.6@sha256:5558948e716fe31956ef1e3985aede704b0bcd9b3af2532395c8774cffdf1666
init: true
user: 1000:1000
restart: on-failure
stop_grace_period: 1m
mounts:
lnd: /lnd
data:
data/logs: /app/logs
environment:
LND_IP: $LND_IP
LND_ZMQ_SUB_ADDRESS: "tcp://${APP_KOLLIDER_WS_IP}:5556"
ws:
image: kolliderhq/kollider-ws-client:v1.0.6@sha256:05f3d1ddf9949b377788e442a1050457559291a50510f5d6dfa66a28c283a80a
init: true
user: 1000:1000
restart: on-failure
stop_grace_period: 1m
required_ports:
tcp:
4244: 8080
environment:
APP_PASSWORD: $APP_SEED
KOLLIDER_ZMQ_PUB_ADDRESS: "tcp://*:5556"
KOLLIDER_ZMQ_SUB_ADDRESS: "tcp://${APP_KOLLIDER_BACKEND_IP}:5557"
KOLLIDER_ZMQ_HEDGER_ADDRESS: "tcp://${APP_KOLLIDER_BACKEND_IP}:5558"
KOLLIDER_ZMQ_HEDGER_SUB_ADDRESS: "tcp://${APP_KOLLIDER_BACKEND_IP}:5559"

View File

@ -0,0 +1,52 @@
# SPDX-FileCopyrightText: 2022 Citadel and contributors
#
# SPDX-License-Identifier: AGPL-3.0-only
# yaml-language-server: $schema=../../app-standard-v4.yml
citadel_version: 4
metadata:
category: Explorers
name: LnVisualizer
version: "0.0.20"
tagline: View the Lightning Network from your node's perspective
description:
Your Lightning node is continuously receiving, storing, and transmitting graph information.
LnVisualizer takes this data and transforms it into an interactive, 3D graph.
Search for nodes, filter the graph, and write custom queries to help understand your position in the network.
developers:
Max Kotlan: https://lnvisualizer.com
permissions:
- lnd
repo:
Public: https://github.com/MaxKotlan/LN-Visualizer
support: lnvisualizer@gmail.com
port: 5646
gallery:
- 1.jpg
- 2.jpg
- 3.jpg
path: ""
services:
main:
image: maxkotlan/ln-visualizer-web:v0.0.20@sha256:9e4fff7600666ce27d1c835fa66e4a3fb34aabd7018506d749134baf9e8bc481
restart: on-failure
port: 80
stop_grace_period: 1m
environment:
LN_VISUALIZER_API_URL: "http://${APP_LN_VISUALIZER_API_IP}:5647"
api:
image: maxkotlan/ln-visualizer-api:v0.0.20@sha256:cfea255f3343dbacf96c5470dcd442f1cc034337dfb46ecfbbc6d5c1978da1a4
restart: on-failure
stop_grace_period: 1m
user: 1000:1000
mounts:
lnd: /lnd
environment:
LND_CERT_FILE: "/lnd/tls.cert"
LND_MACAROON_FILE: "/lnd/data/chain/bitcoin/${BITCOIN_NETWORK}/readonly.macaroon"
LND_SOCKET: "${LND_IP}:${LND_GRPC_PORT}"

56
apps/lndhub/app.yml Normal file
View File

@ -0,0 +1,56 @@
# SPDX-FileCopyrightText: 2022 Citadel and contributors
#
# SPDX-License-Identifier: AGPL-3.0-only
# yaml-language-server: $schema=../../app-standard-v4.yml
citadel_version: 4
metadata:
category: Wallet Servers
name: LNDHub.go
version: 0.9.0
tagline: Give access to BlueWallet & Alby for friends
description: >-
Run BlueWallet & Alby in the most private and secure way possible by removing
3rd parties and connecting it directly to your Citadel's Lightning node.
This app automatically manages accounts, so you can easily share your node with friends and family.
developers:
Alby: https://getalby.com
permissions:
- lnd
repo:
Public: https://github.com/getAlby/lndhub.go
support: https://t.me/getalby
gallery:
- 1.jpg
- 2.jpg
- 3.jpg
services:
main:
image: ghcr.io/runcitadel/lndhub.go:main@sha256:ab0eb387a731d0ff067dc04075aebeeda6b967473499f01adcc26d0942d7c0aa
entrypoint: /entry.sh
environment:
DATABASE_URI: postgresql://citadel:freedom@$APP_LNDHUB_POSTGRES_IP:5432/lndhub?sslmode=disable
JWT_SECRET: $APP_SEED
LND_ADDRESS: $LND_IP:$LND_GRPC_PORT
port: 3000
user: 1000:1000
mounts:
lnd: /lnd
data:
entry.sh: /entry.sh
restart: on-failure
postgres:
image: postgres:14.4-bullseye
user: 1000:1000
environment:
POSTGRES_USER: citadel
POSTGRES_PASSWORD: freedom
POSTGRES_DB: lndhub
mounts:
data:
data/postgres: /var/lib/postgresql/data

View File

6
apps/lndhub/entry.sh Executable file
View File

@ -0,0 +1,6 @@
#!/usr/bin/env sh
export LND_MACAROON_HEX="$(xxd -p -c 1000 /lnd/data/chain/bitcoin/mainnet/admin.macaroon)"
export LND_CERT_HEX="$(xxd -p -c 1000 /lnd/tls.cert)"
/bin/lndhub

View File

@ -2,35 +2,38 @@
#
# SPDX-License-Identifier: AGPL-3.0-only
# yaml-language-server: $schema=../../app-standard-v3.yml
# yaml-language-server: $schema=../../app-standard-v4.yml
citadel_version: 4
version: 3
metadata:
category: Lightning Node Management
name: Ride The Lightning
version: 0.12.3
tagline: Manage lightning node operations better
description: Haven't written a desription yet for this, sorry.
description: Haven't written a description yet for this, sorry.
developers:
Shahana and Suheb: ridethelightning.info
dependencies:
permissions:
- - lnd
- c-lightning
- bitcoind
repo: https://github.com/Ride-The-Lightning/RTL
repo:
Public: https://github.com/Ride-The-Lightning/RTL
support: https://twitter.com/RTL_App
gallery:
- 1.jpg
- 2.jpg
- 3.jpg
defaultPassword: $APP_SEED
containers:
- name: main-lnd
image: shahanafarooqui/rtl:0.12.3@sha256:b1327ecfddae5f40c4c985e31c2bc158c4697a274b61bf84acfb27486d05c5bf
services:
main-lnd:
image: ghcr.io/runcitadel/rtl:master@sha256:307cd8a9c449f2891ed21efa347bc0a51b132deff996920974ef41c5a39f633e
user: 1000:1000
port: 3000
environment:
PORT: 3000
PORT: "3000"
RTL_CONFIG_PATH: /data
CHANNEL_BACKUP_PATH: /data/backup
LN_IMPLEMENTATION: LND
@ -42,14 +45,16 @@ containers:
BOLTZ_SERVER_URL: https://$APP_RIDE_THE_LIGHTNING_BOLTZ_IP:9003
BOLTZ_MACAROON_PATH: /boltz/.boltz-lnd/macaroons
APP_PASSWORD: $APP_SEED
data:
- loop:/loop
- boltz:/boltz
- rtl:/data
mounts:
lnd: /lnd
data:
loop: /loop
boltz: /boltz
rtl: /data
requires:
- lnd
- name: loop
image: ghcr.io/runcitadel/loop:v0.17.0-beta@sha256:be434e96905e8bc158e13b46b2e425ff140b04218286c11bf8124e1a8f65e2a1
loop:
image: ghcr.io/runcitadel/loop:main@sha256:9d57e9f6906741b643266735b8d1a63404475856ffaa8d12fcccd28bf8cf79fd
user: 1000:1000
environment:
HOME: /data
@ -59,18 +64,22 @@ containers:
- --lnd.macaroonpath="/lnd/data/chain/bitcoin/$BITCOIN_NETWORK/admin.macaroon"
- --lnd.tlspath="/lnd/tls.cert"
- --restlisten=0.0.0.0:8081
data:
- loop:/data
mounts:
lnd: /lnd
data:
loop: /data
requires:
- lnd
- name: boltz
boltz:
image: boltz/boltz-lnd:1.2.6@sha256:01a56dd357a2460bfd0ecdd726d6db3ab59d78ee691250831d09ba5de3fec7ce
user: 1000:1000
restart: on-failure
environment:
HOME: /data
data:
- boltz:/data
mounts:
lnd: /lnd
data:
boltz: /data
command:
- --lnd.host="$LND_IP"
- --lnd.macaroon="/lnd/data/chain/bitcoin/$BITCOIN_NETWORK/admin.macaroon"
@ -79,12 +88,12 @@ containers:
- --rpc.rest.port="9003"
requires:
- lnd
- name: main-cln
image: shahanafarooqui/rtl:0.12.2@sha256:049df155cc7bb0ad5554b16eda6c3c9703001c76d83a4b6b55d68ba89fba0de2
main-cln:
image: ghcr.io/runcitadel/rtl:master@sha256:307cd8a9c449f2891ed21efa347bc0a51b132deff996920974ef41c5a39f633e
user: 1000:1000
port: 3000
environment:
PORT: 3000
PORT: "3000"
RTL_CONFIG_PATH: /data
CHANNEL_BACKUP_PATH: /data/backup
LN_IMPLEMENTATION: CLT
@ -92,7 +101,10 @@ containers:
MACAROON_PATH: /c-lightning/certs
CONFIG_PATH: /c-lightning/config
APP_PASSWORD: $APP_SEED
data:
- rtl:/data
ENABLE_OFFERS: "true"
mounts:
c_lightning: /c-lightning
data:
rtl: /data
requires:
- c-lightning

View File

@ -1,5 +1,4 @@
{
"multiPass": "moneyprintergobrrr",
"defaultNodeIndex": 1,
"SSO": {
"rtlSSO": 0,
@ -19,4 +18,4 @@
}
}
]
}
}

View File

@ -1,10 +1,10 @@
# SPDX-FileCopyrightText: 2020-2021 Umbrel. https://getumbrel.com
# SPDX-FileCopyrightText: Citadel and contributors
#
# SPDX-License-Identifier: PolyForm-Noncommercial-1.0.0
# SPDX-License-Identifier: AGPL-3.0-only
# yaml-language-server: $schema=../../app-standard-v3.yml
# yaml-language-server: $schema=../../app-standard-v4.yml
version: 3
citadel_version: 4
metadata:
category: Tor
@ -19,23 +19,24 @@ metadata:
live in countries which censor Tor.
developers:
The Tor project: https://torproject.org/
repo: https://github.com/runcitadel/docker-snowflake
support: https://t.me/runcitadel
dependencies: []
repo:
Snowflake: https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowflake/
Container: https://github.com/runcitadel/docker-snowflake
support: https://t.me/runcitadel/
gallery:
- 1.jpg
- 2.jpg
- 3.jpg
containers:
- image: nginx:1.21.6@sha256:2834dc507516af02784808c5f48b7cbe38b8ed5d0f4837f16e78d00deb7e7767
services:
main:
image: nginx:1.21.6@sha256:2834dc507516af02784808c5f48b7cbe38b8ed5d0f4837f16e78d00deb7e7767
init: true
port: 80
name: main
data:
- nginx/snowflake:/var/www/snowflake
- nginx/nginx.conf:/etc/nginx/nginx.conf
- name: proxy
proxy:
image: ghcr.io/runcitadel/snowflake:v2.1.0@sha256:43ecbea41715fb2040c8e528152dabde27ffdaa16cd1c07f2895232619b1d18f
network_mode: host

View File

@ -8,7 +8,7 @@ version: 3
metadata:
category: Social
name: Synapse
version: 1.60.0
version: 1.61.0
tagline: Matrix homeserver
description: Description is coming soon.
developers:
@ -31,9 +31,9 @@ containers:
GID: "1000"
SYNAPSE_HTTP_PORT: 8008
SYNAPSE_SERVER_NAME: ${APP_HIDDEN_SERVICE}
SYNAPSE_REPORT_STATS: yes
SYNAPSE_ENABLE_REGISTRATION: yes
SYNAPSE_NO_TLS: yes
SYNAPSE_REPORT_STATS: "yes"
SYNAPSE_ENABLE_REGISTRATION: "yes"
SYNAPSE_NO_TLS: "yes"
name: server
data:
- data/synapse:/data

View File

@ -1,10 +1,12 @@
# SPDX-FileCopyrightText: 2021 Jonathan Underwood <junderwood@bitcoinbank.co.jp>
# SPDX-FileCopyrightText: 2022 Citadel and contributors
#
# SPDX-License-Identifier: AGPL-3.0-only
# yaml-language-server: $schema=../../app-standard-v3.yml
# yaml-language-server: $schema=../../app-standard-v4.yml
citadel_version: 4
version: 3
metadata:
category: Password Managers
name: Vaultwarden
@ -12,10 +14,10 @@ metadata:
tagline: Unofficial Bitwarden® compatible server
description: >-
Vaultwarden (formerly known as Bitwarden_RS) is an alternative
implementation\ of the Bitwarden® server API written in Rust, compatible
with upstream Bitwarden®\ clients*. Vaultwarden is perfect for self-hosting
implementation of the Bitwarden® server API written in Rust, compatible
with upstream Bitwarden® clients*. Vaultwarden is perfect for self-hosting
all of your passwords in an\ encrypted vault on your Citadel. Vaultwarden is
a full implementation of Bitwarden®\ API that includes:
a full implementation of Bitwarden® API that includes:
- Organizations support
@ -36,19 +38,20 @@ metadata:
developers:
Daniel García: https://github.com/dani-garcia
dependencies: []
repo: https://github.com/dani-garcia/vaultwarden
repo:
Public: https://github.com/dani-garcia/vaultwarden
support: https://vaultwarden.discourse.group/
gallery:
- 1.jpg
- 2.jpg
- 3.jpg
torOnly: true
containers:
- image: vaultwarden/server:1.25.0@sha256:f3ebede27f1cf5e78373c3c4a429cf1fdd8d6b13528a2b9ca4fb3cb7cc681ba9
services:
main:
image: vaultwarden/server:1.25.0@sha256:f3ebede27f1cf5e78373c3c4a429cf1fdd8d6b13528a2b9ca4fb3cb7cc681ba9
user: 1000:1000
port: 3000
environment:
ROCKET_PORT: 3000
name: server
ROCKET_PORT: "3000"
data:
- data:/data

56
apps/woofbot/app.yml Normal file
View File

@ -0,0 +1,56 @@
# SPDX-FileCopyrightText: 2022 Jonathan Zernik
# SPDX-FileCopyrightText: 2022 Citadel and contributors
#
# SPDX-License-Identifier: AGPL-3.0-only
# yaml-language-server: $schema=../../app-standard-v4.yml
citadel_version: 4
metadata:
category: Explorers
name: WoofBot
version: "0.1.0"
tagline: A chatbot for your personal node.
description: >-
WoofBot is a chat bot that runs on your personal Bitcoin node and sends telegram notifications
based on pre-configured conditions: addresses, transactions, new-blocks and price changes.
developers:
WoofBotApp: https://github.com/woofbotapp
permissions:
- bitcoind
repo:
Public: https://github.com/woofbotapp/woofbotapp
support: https://github.com/woofbotapp/woofbotapp/discussions
gallery:
- 1.jpg
- 2.jpg
- 3.jpg
path: ""
defaultPassword: $APP_SEED
services:
main:
image: woofbot/woofbot:v0.2.0@sha256:bfcc02f752963eaf9f9c3bf2776e032194d218b0037f3c54ed19d8872a7f241b
restart: on-failure
stop_grace_period: 1m
port: 8080
environment:
MONGODB_URI: "mongodb://${APP_WOOFBOT_MONGODB_IP}:27017/woofbot"
APP_PORT: "8080"
APP_SEED: $APP_SEED_2
APP_PASSWORD: $APP_SEED
APP_BITCOIN_NODE_IP: $BITCOIN_IP
APP_BITCOIN_RPC_USER: $BITCOIN_RPC_USER
APP_BITCOIN_RPC_PASS: $BITCOIN_RPC_PASS
APP_BITCOIN_RPC_PORT: $BITCOIN_RPC_PORT
depends_on:
- mongodb
mongodb:
image: mongo:5.0.9@sha256:37e84d3dd30cdfb5472ec42b8a6b4dc6ca7cacd91ebcfa0410a54528bbc5fa6d
user: 1000:1000
restart: on-failure
stop_grace_period: 1m
mounts:
data:
data/db: /data/db

View File

@ -2,9 +2,9 @@
#
# SPDX-License-Identifier: AGPL-3.0-only
# yaml-language-server: $schema=../../app-standard-v3.yml
# yaml-language-server: $schema=../../app-standard-v4.yml
version: 3
citadel_version: 4
metadata:
name: WordPress
@ -14,15 +14,18 @@ metadata:
description: WordPress
developers:
WordPress Developers: https://wordpress.org
repo: https://github.com/WordPress/WordPress
repo:
WordPress: https://github.com/WordPress/WordPress
Container: https://github.com/docker-library/wordpress
support: https://wordpress.org
gallery:
- "1.png"
- "2.png"
- "3.png"
containers:
- name: main
image: wordpress:5.9.3-php8.1-apache@sha256:e9919ae91d250e953f8e1f8943b9cd7b970ed85a1410f02988f682f935704aa8
services:
main:
image: wordpress:6.0.0-php8.1-apache@sha256:52cd45d183f98d406e4c01a79346216437480aa475ea04d3aaa0e64c6b1093d7
depends_on:
- db
data:
@ -36,11 +39,12 @@ containers:
WORDPRESS_DB_NAME: wordpress
WORDPRESS_CONFIG_EXTRA: |
define('FS_METHOD','direct');
- name: db
db:
image: mariadb:10.7.3-focal@sha256:07e06f2e7ae9dfc63707a83130a62e00167c827f08fcac7a9aa33f4b6dc34e0e
user: 1000:1000
data:
- data/db:/var/lib/mysql
mounts:
data:
data/db: /var/lib/mysql
restart: always
environment:
MARIADB_ROOT_PASSWORD: somewordpress