diff --git a/apps/electrs/app.yml b/apps/electrs/app.yml
new file mode 100644
index 0000000..bd38364
--- /dev/null
+++ b/apps/electrs/app.yml
@@ -0,0 +1,48 @@
+citadel_version: 4
+
+metadata:
+ name: Electrs
+ version: 0.9.9
+ category: Electrum Servers
+ tagline: Lightweight Electrum server
+ developers:
+ Roman Zeyde: https://github.com/romanz
+ permissions:
+ - bitcoind
+ repo:
+ Electrs: https://github.com/romanz/electrs
+ Container: https://github.com/runcitadel/docker-electrs
+ support: https://t.me/runcitadel/
+ gallery:
+ - 1.jpg
+ - 2.jpg
+ - 3.jpg
+ description: |-
+ Electrs is a lightweight Electrum server for personal use.
+
+ It's slower than Fulcrum, but uses less CPU, RAM and disk space.
+ implements: electrum
+
+services:
+ main:
+ image: nginx:1.21.6@sha256:2834dc507516af02784808c5f48b7cbe38b8ed5d0f4837f16e78d00deb7e7767
+ init: true
+ port: 80
+ mounts:
+ data:
+ nginx/snowflake: /var/www/snowflake
+ nginx/nginx.conf: /etc/nginx/nginx.conf
+
+ service:
+ image: ghcr.io/runcitadel/electrs:v0.9.9@sha256:9751e0d16130cab592dc18ddf2677300600c51843a86bb677821df912d532d52
+ working_dir: /data
+ mounts:
+ bitcoin: /bitcoin
+ data:
+ data: /data
+ electrs.toml: /data/electrs.toml
+ restart: on-failure
+ stop_grace_period: 5m
+ required_ports:
+ tcp:
+ 50001: 50001
diff --git a/apps/electrs/data/.gitkeep b/apps/electrs/data/.gitkeep
new file mode 100644
index 0000000..e69de29
diff --git a/apps/electrs/electrs.toml.jinja b/apps/electrs/electrs.toml.jinja
new file mode 100644
index 0000000..773a723
--- /dev/null
+++ b/apps/electrs/electrs.toml.jinja
@@ -0,0 +1,12 @@
+log_filters = "INFO"
+{% if BITCOIN_NETWORK == "mainnet" %}
+network = "bitcoin"
+{% else %}
+network = "{{ BITCOIN_NETWORK }}"
+{% endif %}
+db_dir = "/data/db"
+daemon_dir = "/bitcoin"
+daemon_rpc_addr = "{{ BITCOIN_IP }}:{{ BITCOIN_RPC_PORT }}"
+daemon_p2p_addr = "{{ BITCOIN_IP }}:{{ BITCOIN_P2P_PORT }}"
+electrum_rpc_addr = "0.0.0.0:50001"
+server_banner = "Electrs on Citadel"
diff --git a/apps/electrs/nginx/electrum/index.html b/apps/electrs/nginx/electrum/index.html
new file mode 100644
index 0000000..322e1cd
--- /dev/null
+++ b/apps/electrs/nginx/electrum/index.html
@@ -0,0 +1,17 @@
+
+
+
+
+
+
+ Electrum is running
+
+
+
+ Electrum is running
+ You don't need to keep this window open, Electrum will keep running on your node.
+
+ More information will be shown here soon.
+
+
+
diff --git a/apps/electrs/nginx/nginx.conf b/apps/electrs/nginx/nginx.conf
new file mode 100644
index 0000000..0de3698
--- /dev/null
+++ b/apps/electrs/nginx/nginx.conf
@@ -0,0 +1,47 @@
+user nginx;
+worker_processes auto;
+
+error_log /var/log/nginx/error.log crit;
+pid /var/run/nginx.pid;
+
+
+events {
+ worker_connections 1024;
+}
+
+http {
+ include /etc/nginx/mime.types;
+ default_type application/octet-stream;
+
+ access_log off;
+
+ server_tokens off;
+
+ sendfile on;
+
+ keepalive_timeout 95;
+
+ # Enable response compression
+ gzip on;
+ # Compression level: 1-9
+ gzip_comp_level 1;
+ # Minimum length of response before gzip kicks in
+ gzip_min_length 128;
+ # Compress these MIME types in addition to text/html
+ gzip_types application/json;
+ # Help with proxying by adding the Vary: Accept-Encoding response
+ gzip_vary on;
+
+ server {
+ listen 80;
+ server_name _;
+
+ root /var/www/electrum;
+ index index.html;
+
+ # serve static files
+ location / {
+ try_files $uri $uri/ =404;
+ }
+ }
+}
diff --git a/apps/fulcrum/app.yml b/apps/fulcrum/app.yml
new file mode 100644
index 0000000..7ec5992
--- /dev/null
+++ b/apps/fulcrum/app.yml
@@ -0,0 +1,43 @@
+citadel_version: 4
+metadata:
+ name: Fulcrum
+ version: 1.8.1
+ category: Electrum Servers
+ tagline: Fast Electrum server
+ developers:
+ Calin Culianu: https://github.com/cculianu/Fulcrum
+ description: Fulcrum is a very fast Electrum server. While it's faster than Electrs, it uses more CPU, RAM and disk space.
+ permissions:
+ - bitcoind
+ repo:
+ Public: https://github.com/cculianu/Fulcrum
+ support: https://t.me/runcitadel
+ gallery:
+ - 1.jpg
+ - 2.jpg
+ - 3.jpg
+ defaultPassword: null
+ torOnly: false
+ implements: electrum
+services:
+ service:
+ image: cculianu/fulcrum:latest@sha256:c0543f8b8a5bf6b0c447d8525d6b4360a6c07532f7741f19cc2c179968e71848
+ stop_grace_period: 5m
+ restart: on-failure
+ command: /usr/bin/Fulcrum /data/fulcrum.conf
+ mounts:
+ data:
+ data: /data
+ fulcrum.conf: /data/fulcrum.conf
+ required_ports:
+ tcp:
+ 50001: 50001
+ 50003: 50003
+ main:
+ image: nginx:1.8.1@sha256:9b3e9f189890ef9d6713c3384da3809731bdb0bff84e7b68da330ebadf533085
+ init: true
+ port: 80
+ mounts:
+ data:
+ nginx/snowflake: /var/www/snowflake
+ nginx/nginx.conf: /etc/nginx/nginx.conf
diff --git a/apps/fulcrum/data/.gitkeep b/apps/fulcrum/data/.gitkeep
new file mode 100644
index 0000000..e69de29
diff --git a/apps/fulcrum/fulcrum.conf.jinja b/apps/fulcrum/fulcrum.conf.jinja
new file mode 100644
index 0000000..a390487
--- /dev/null
+++ b/apps/fulcrum/fulcrum.conf.jinja
@@ -0,0 +1,11 @@
+datadir = /data
+bitcoind = {{ BITCOIN_IP }}:{{ BITCOIN_RPC_PORT }}
+rpcuser = {{ BITCOIN_RPC_USER }}
+rpcpassword = {{ BITCOIN_RPC_PASS }}
+tcp = 0.0.0.0:50001
+ws = 0.0.0.0:50003
+peering = false
+announce = false
+admin = 8000
+stats = 8080
+tor_proxy = {{ TOR_PROXY_IP }}:{{ TOR_PROXY_PORT }}
diff --git a/apps/fulcrum/nginx/electrum/index.html b/apps/fulcrum/nginx/electrum/index.html
new file mode 100644
index 0000000..322e1cd
--- /dev/null
+++ b/apps/fulcrum/nginx/electrum/index.html
@@ -0,0 +1,17 @@
+
+
+
+
+
+
+ Electrum is running
+
+
+
+ Electrum is running
+ You don't need to keep this window open, Electrum will keep running on your node.
+
+ More information will be shown here soon.
+
+
+
diff --git a/apps/fulcrum/nginx/nginx.conf b/apps/fulcrum/nginx/nginx.conf
new file mode 100644
index 0000000..0de3698
--- /dev/null
+++ b/apps/fulcrum/nginx/nginx.conf
@@ -0,0 +1,47 @@
+user nginx;
+worker_processes auto;
+
+error_log /var/log/nginx/error.log crit;
+pid /var/run/nginx.pid;
+
+
+events {
+ worker_connections 1024;
+}
+
+http {
+ include /etc/nginx/mime.types;
+ default_type application/octet-stream;
+
+ access_log off;
+
+ server_tokens off;
+
+ sendfile on;
+
+ keepalive_timeout 95;
+
+ # Enable response compression
+ gzip on;
+ # Compression level: 1-9
+ gzip_comp_level 1;
+ # Minimum length of response before gzip kicks in
+ gzip_min_length 128;
+ # Compress these MIME types in addition to text/html
+ gzip_types application/json;
+ # Help with proxying by adding the Vary: Accept-Encoding response
+ gzip_vary on;
+
+ server {
+ listen 80;
+ server_name _;
+
+ root /var/www/electrum;
+ index index.html;
+
+ # serve static files
+ location / {
+ try_files $uri $uri/ =404;
+ }
+ }
+}