# Optional Fragments

Manage optional fragments with btcpay-fragments. show is read-only; all commands that change fragments must run as root. Changes are applied immediately and multiple fragment names can be passed at once:

btcpay-fragments add opt-add-mempool
btcpay-fragments remove opt-add-mempool
btcpay-fragments exclude opt-add-tor
btcpay-fragments unexclude opt-add-tor
btcpay-fragments show

show and successful changes return JSON containing the saved additional and excluded fragments, the effective fragments from the last generated manifest, and every fragment available in the current checkout. effectiveFragments is empty before the first successful generation. Adding a fragment removes it from the excluded set, and excluding one removes it from the additional set. Repeating an operation that is already satisfied is a no-op.

Dependencies and incompatibilities are resolved by the generator. Review each linked fragment before enabling third-party services; not every image supports every architecture or receives the same maintenance level.

# Resource Profiles

Fragment Purpose
opt-save-storage (opens new window) Prune supported nodes to about 100 GB
opt-save-storage-s (opens new window) Prune supported nodes to about 50 GB
opt-save-storage-xs (opens new window) Prune supported nodes to about 25 GB
opt-save-storage-xxs (opens new window) Prune supported nodes to about 5 GB; not recommended for Lightning, but not rejected by the generator
opt-save-memory (opens new window) Reduce daemon cache and mempool settings on hosts with less than 1 GB of memory
opt-more-memory (opens new window) Increase daemon cache when more than 1 GB can be dedicated to Bitcoin Core
opt-txindex (opens new window) Enable transaction indexing; incompatible with pruning
opt-mempoolfullrbf (opens new window) Enable Bitcoin Core full-RBF policy; recommended automatically for Bitcoin

Only one pruning profile can be selected. The two memory profiles are mutually exclusive. Transaction indexing, ElectrumX, and the bundled Mempool service are incompatible with pruning.

# Lightning and Node Features

Fragment Purpose and requirements
opt-lnd-autocompact (opens new window) Enable LND database auto-compaction
opt-lnd-autopilot (opens new window) Enable LND autopilot with its configured limits
opt-lnd-keysend (opens new window) Enable LND keysend
opt-lnd-watchtower (opens new window) Enable the LND watchtower server and publish port 9911
opt-lnd-wtclient (opens new window) Enable the LND watchtower client
opt-add-zmq (opens new window) Enable internal ZMQ endpoints for supported nodes
opt-add-electrumx (opens new window) Add public ElectrumX; requires txindex and an unpruned node
opt-expose-unsafe (opens new window) Publish Bitcoin P2P port 8333; trusted networks or restrictive firewall only
opt-monero-expose (opens new window) Bind Monero daemon RPC to host loopback
opt-beldex-expose (opens new window) Bind Beldex daemon and wallet RPC to host loopback
opt-decred-expose (opens new window) Bind Decred wallet RPC to host loopback

The LND tuning fragments affect a selected LND service; some do not declare a formal generator prerequisite, so confirm LND is enabled.

# Network Services

Fragment Purpose and requirements
opt-add-tor (opens new window) Add Tor hidden services and selected onion connectivity; recommended automatically
opt-add-cloudflared (opens new window) Expose bundled Nginx through Cloudflare Tunnel and disable its local HTTPS companion; see the guide
opt-add-tor-relay (opens new window) Run a public non-exit relay on port 9001; requires contact details and legal review
opt-add-pihole (opens new window) Add Pi-hole DNS on TCP/UDP 53 for a trusted LAN; see the guide

# Applications and Integrations

Fragment Purpose and requirements
opt-add-btcqbo (opens new window) Add the QuickBooks connector at /btcqbo/
opt-add-chatwoot (opens new window) Add Chatwoot, Sidekiq, and Redis; requires a configuration file and dedicated host; see the guide
opt-add-fireflyiii (opens new window) Add Firefly III on a dedicated host; see the guide
opt-add-helipad (opens new window) Add Podcasting 2.0 Helipad; requires Bitcoin LND
opt-add-lightning-terminal (opens new window) Add Lightning Terminal; requires Bitcoin LND and LIT_PASSWD; see the guide
opt-add-ltcmweb (opens new window) Add the Litecoin MWEB plugin daemon; requires Litecoin
opt-add-mempool (opens new window) Add Mempool frontend/backend; requires ElectrumX, txindex, and an unpruned node
opt-add-nostr-relay (opens new window) Add a PostgreSQL-backed Nostr relay at /nostr
opt-add-shopify (opens new window) Add the internal Shopify app deployer
opt-add-sphinxrelay (opens new window) Add Sphinx Relay; requires Bitcoin LND and keysend
opt-add-taler-merchant (opens new window) Add the GNU Taler merchant backend
opt-add-tallycoin-connect (opens new window) Add Tallycoin Connect; requires Bitcoin LND; see the guide
opt-add-teos (opens new window) Add a TEOS watchtower on port 9814; requires Bitcoin and ZMQ
opt-add-thunderhub (opens new window) Add ThunderHub; requires Bitcoin LND
opt-add-woocommerce (opens new window) Add WordPress and WooCommerce on a dedicated host
opt-add-zammad (opens new window) Add the Zammad application stack; requires substantial additional resources

# Custom Fragments

For settings or services not represented here, create a .custom.yml fragment instead of editing generated Compose output. See Customization.