Hardware FixRecommendedDevice not working? Your driver may be the problemCheck updates for common hardware issues.Fix DriversHalloween DealsAmazon USHalloween week deals: useful picks before month-endAmazon US: current deals, useful picks and tech finds.Check DealsWindows FixRecommendedWindows errors stealing your time? Find the fix fastScan stability, cleanup and performance issues.Fix Now×
Skip to content
World desk12 min

How to Self-Host SilverBullet Notes on a VPS

A practical guide to running SilverBullet Notes on a VPS: choose Docker or the standalone binary, persist /data, configure authentication, add Caddy HTTPS, and test backups.
Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

The simplest reliable setup is a small Linux VPS running SilverBullet in Docker, with its /data directory on persistent local storage, Caddy handling HTTPS, and authentication enabled before the server is exposed. Point a domain or subdomain at the VPS, proxy it to SilverBullet’s local port, and back up the same directory that stores your space. SilverBullet also runs as a self-contained server binary on common 64-bit Intel and ARM machines, while a managed service such as PikaPods removes most server administration.

What self-hosting SilverBullet involves

Self-hosting means you rent or operate a machine, install SilverBullet, and remain responsible for the operating system, firewall, updates, authentication, backups and recovery. The notes themselves are stored in a directory called the SilverBullet space. In a Docker deployment, that directory is normally the host path mounted at /data.

As an Amazon Associate I earn from qualifying purchases.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

A practical internet-facing layout has four layers:

  1. A Linux VPS with a public IP address and persistent disk.
  2. SilverBullet running on the VPS, normally listening on port 3000.
  3. Caddy listening on ports 80 and 443 and forwarding the hostname to SilverBullet.
  4. Your browser connecting to a domain such as silverbullet.example.com over HTTPS.

Keeping SilverBullet behind a reverse proxy avoids publishing its application port directly and gives you automatic certificate management. The same design works whether you use Docker or the standalone server binary.

#1 Best Overall
Sale
TOZO A1 Wireless Earbuds Bluetooth 5.3 Light Weight in Ear Headphones | IPX5 Waterproof,2 Mics for AI Calls,Immersive Premium Sound Bass Headset with Charging Case,32 EQ via App Black
  • [Ultra-Lightweight Ear Buds Designed for Small Ears] Each earbud weighs only 3.7g and features a compact, ergonomic in-ear design made especially for small ears. Secure, low-profile, and comfortable for workouts, all-day wear or overnight sleeping.The ultra-slim profile sits flush in your ear with no hard edges poking or rubbing, so you can even sleep on your side without discomfort.
  • [Immersive Stereo Sound with TOZO OrigX Technology] TOZO OrigX tuning delivers clear vocals, balanced mids, and natural stereo sound for music, podcasts, and videos.
  • [Long Battery Life for Daily Use] Get up to 7 hours of playtime on a single charge, with up to 32 hours total using the charging case—ideal for workdays, commuting, and extended listening sessions.
  • [Bluetooth 5.3 & Stable Connection] Bluetooth 5.3 provides fast pairing, stable wireless performance, and reduced dropouts as you move around home or office.
  • [Deep Bass with Clear Vocals] High-performance drivers produce punchy bass while keeping vocals clean and detailed for everyday listening.

Hardware, operating system and network requirements

CPU architecture

SilverBullet’s installation documentation says it can run on essentially any Intel-compatible 64-bit or ARM 64-bit machine with terminal access. That covers ordinary x86-64 cloud instances and 64-bit ARM VPS plans. A 32-bit VPS is outside that documented support statement.

Memory and disk

The project documentation says a few hundred megabytes of RAM is sufficient; it specifically notes that even a Raspberry Pi can run the server. Your notes, attachments, logs, Docker images, backups and the operating system still need disk space, so choose storage with room to grow rather than sizing the disk to the minimum application footprint.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Required access

  • A Linux VPS with administrator or sudo access.
  • A public IPv4 address, and an IPv6 address if you intend to publish an AAAA record.
  • A domain or subdomain whose DNS you can edit.
  • Persistent VPS storage for the directory mounted to /data.
  • Firewall control for SSH and, once the proxy is ready, TCP ports 80 and 443.

Use the VPS’s local disk for the primary space unless you have verified that another filesystem preserves timestamps and case correctly. Replicate backups to a separate location.

Choose Docker or the self-contained server binary

Docker

Docker is usually the easiest repeatable deployment. The image contains the application runtime, upgrades are explicit, and the only application data you must preserve is the host directory mounted into /data (plus your deployment configuration and secrets).

Standalone binary

The self-contained server binary is useful when you do not want a container runtime. Download the release matching your VPS architecture from the current SilverBullet installation documentation, place it in a protected directory, and run it under a dedicated service account. The binary still needs a persistent space directory, authentication, a firewall and a reverse proxy; avoiding Docker does not remove those responsibilities.

For either method, keep the application on a private local listener when Caddy is on the same VPS. The proxy is then the only public application entry point.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Plan the hostname and DNS first

  1. Choose a hostname, for example silverbullet.example.com.
  2. Create an A record pointing that name to the VPS’s public IPv4 address. Add an AAAA record only when IPv6 routing and firewall rules are configured correctly.
  3. Wait for the record to resolve before requesting a certificate. A free DuckDNS subdomain can be used when you do not own a domain, but you still need control of the resulting hostname and its DNS behavior.
  4. Keep the VPS firewall closed to the public until authentication and the proxy configuration are ready. SSH should be restricted to the administration addresses you actually use.

A certificate authority can validate the hostname only when the DNS record reaches the VPS and the required HTTP or TLS challenge traffic can reach Caddy.

Rank #2
Sale
Smart Watch for Men Women Compatible with iPhone Samsung Android Phone 1.69 inch Full Touch Screen IP68 Waterproof Bluetooh Fitness Tracker Heart Rate/Sleep Monitor (Black)
  • 【IP68 Waterproof Multifunctinal Smart Watch】Torjalph fitness activity tracker smart watch is IP68 waterproof technology ,you can wear it when swimming,handwashing,it's rain-proof which means that you perform multiple exercise modes outside without worrying about sweat or rain corroding your fitness smart watch,and this watch equipped with a 230 mAh large capacity battery magnetic charging ,and this sports activity tracker watch can be used 5-7 days If fully charged.
  • 【Larger 1.83'' Full Screen Watch & Multi-dial Selection】1.83 inch full HD color touch screen smart watch for men / women provides excellent 240*284 resolution image quality ,This Bluetooth smart watch offers a better touch experience and remarkable immersion and ,more than 200 watch faces for you to choose from App"Da Fit ", you can change the dial style according to your mood to wear keeping the world on your wrist
  • 【Accurate Activity Tracker Smart Watch 】sports watch activity tracker uses sweat and dust resistant breathable silicone strap, our Fitness Tracker Smart Watch for Android iOS Phones supports 12 sports modes,walking,running,bicycle,swimming,badminton,basketball,football,rope skipping. This bluetooth calls smart watch for men women is lightweight and stylish, bringing more convenient and relaxing sports experience while also providing more protection.
  • 【Your 24 Hour Personal Daily Health Monitor】Fitness watch for women men full touch screen IP67 waterproof bluetooth smartwatch for Android iOS Phones with heart rate blood pressure monitor multifunction Andriod smart watch with steps counter sleep monitor sports fitness watch, monitoring blood oxygen saturation allows you to understand your physical condition in real time to track fitness progress ,to know your health status in time.
  • 【More Functions Bluetooth Call Smart Watch】This fitness activity smart watch full screen for iPhone and Android phones includes a bunch of new features including:The bluetooth smart watch can hang up the phone, receive and display WhatsAPP /Text /Facebook /Twitter /Messenger reminder.Support sedentary reminder, alarm clock, stopwatch, timer,weather information,music control, remote camera control compatible with Android 5.0 and above or iOS 9.0 and above smartphones.

Install SilverBullet with Docker

1. Install Docker and create a data directory

Install the Docker Engine package supplied for your Linux distribution, enable its service, and create a directory owned by the account that will maintain the deployment. Keep this directory on the VPS’s local, case-sensitive filesystem.

mkdir -p ~/silverbullet/data
cd ~/silverbullet

The exact host path is your choice. What matters is that it is persistent and that you know which path must be included in backups.

2. Run the documented image

SilverBullet’s installation documentation supplies this Docker pattern:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
docker run -d --restart unless-stopped 
  --name silverbullet 
  -p 3000:3000 
  -v ./data:/data 
  ghcr.io/silverbulletmd/silverbullet:latest

The -v ./data:/data mapping is the important storage setting. Without it, replacing the container can remove the application’s writable space. The restart policy brings the container back after a reboot or a Docker service restart.

3. Bind the application to the local interface

When Caddy runs on the same VPS, prefer a loopback-only port mapping so the application is not directly reachable from the internet:

docker rm -f silverbullet
docker run -d --restart unless-stopped 
  --name silverbullet 
  -p 127.0.0.1:3000:3000 
  -v /home/your-user/silverbullet/data:/data 
  ghcr.io/silverbulletmd/silverbullet:latest

Replace the host path with the real absolute path. The first command removes only the container; data remains in the bind-mounted directory. If you deliberately need direct LAN access during initial testing, the documented 3000:3000 mapping exposes the port on all interfaces, so remove that exposure once Caddy is working.

4. Check the container

docker ps
docker logs --tail 100 silverbullet

You should see a running container and no repeated startup errors. Test locally from the VPS with a request to http://127.0.0.1:3000 before changing public DNS or opening the web ports.

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Rank #3
New Bee Guitar Cable 10ft Electric Instrument Bass AMP Cord
  • [Low Noise High Fidelity] New bee guitar cord with 22AWG oxygen-free-copper center conductors provides enhanced signal transfer, the PVC insulation material and the high-density stranded copper double shield provide noise rejection for quiet operation
  • [Ideal for Choice] New bee 1/4 straight and right angle metal connectors, ensures a secure connection in any instrument, pedal, or amp jack. L shape great fro on stage guitar stands
  • [Wide Compatible] Suitable for mixer, power amplifier, microphone, effector, decoder, equalizer, electoronic organ, electric guitar, electric bass and other electronic equipments. Widely used in the installation of smart home, karaoke speaker, professional stage audio, etc
  • [Easy Disassemble] Making incidental repairs quick and easy! Very nice, flexible cable
  • [Dont Hesite to Order] 24 hours customer services and professional technology team are standing by

5. Treat the image tag as a release decision

latest is a moving tag. It is convenient for a first installation but does not provide reproducible upgrades. For production, pin a tested release tag according to your update policy, record the tag in your deployment notes, and read the current release documentation before changing versions. Keep the previous image tag available until you have verified startup, login, synchronization and backup recovery.

Enable authentication before public access

Do not expose an unauthenticated SilverBullet instance. Configure authentication while the container is still reachable only from the VPS or a trusted administration network, then open the firewall.

Configuration variables

Variable Purpose How to use it
SB_USER Single-user credentials Set it using the credential format documented for the SilverBullet release you install.
SB_AUTH_TOKEN Bearer authentication for the HTTP API Generate and protect a strong token; treat it like a password.
SB_PORT Listening port Leave the default unless your proxy and firewall plan requires another local port.
SB_URL_PREFIX Hosting under a URL prefix Use it only when the service is intentionally published below a path rather than at its own hostname.
SB_LOCKOUT_LIMIT Failed-login threshold Set a limit that slows repeated guessing without locking out normal users too easily.
SB_LOCKOUT_TIME Lockout duration Choose a period appropriate to your access and recovery procedures.

The configuration reference documents these variables, but the accepted value format can vary by release. Put secrets in an environment file readable only by the service account or inject them through your service manager; do not publish them in shell history, a public repository or a web page.

Authenticated HTTP API endpoints require a valid session cookie or bearer token. The documented exceptions are a small set of login, health and service-worker paths. This is not a reason to omit authentication: those paths are needed for login and service operation, not for reading your notes.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Put Caddy in front of SilverBullet

1. Install Caddy and open the web ports

Install Caddy using the package instructions for your Linux distribution. Allow inbound TCP 80 and 443 in both the VPS provider firewall and the operating system firewall. Keep SilverBullet’s port 3000 restricted to loopback when both services share the host.

2. Add the reverse-proxy site

Create a Caddy site for the hostname that resolves to your VPS:

silverbullet.example.com {
    reverse_proxy localhost:3000
}

Validate the configuration with Caddy’s configuration check, reload the service, and watch its logs for certificate or upstream errors. Caddy can request and install a Let’s Encrypt certificate automatically, then renew it without a manual copy-and-paste certificate process.

Rank #4
BSIMB 15.6" Digital Family Calendar & Chore Chart, No Subscription Fees
  • Digital Family Calendar: BSIMB digital calendar wall touch screen puts an end to your chaotic life. Designed for busy families, the digital calendar keeps you organised and in step with your family. Assign different colours and tasks to each family member to make family scheduling easier and more intuitive.
  • Easy Setup and Auto-Sync: Plug in, connect to WLAN and auto-syn your electric calendar in minutes. Digital wall calendar compatible with Google calendar, iCloud calendar, Outlook calendar, Cozi calendar and Yahoo calendar. Add events directly on the device or through the ecalendar app. Electronic calendar stays current whether you're at work or traveling—no manual updates needed.
  • All-In-One Home Assistant: Smart calendar builds habits and encourage independence with personalised chores. Display daily meal plan to reduce the daily ‘What's for dinner?’ stress. To-do lists keep track of everything you want. Turning chores into valuable achievements with stars and rewards, making life easier and more enjoyable.
  • Manage Anytime Anywhere: BSIMB electronic calendar for family stay connected with the powerful ecalendar app. Access and manage your digital wall calendar anytime, anywhere with free features like stars & rewards, photo screensaver, chore charts, meals plans, to-do lists etc. Electronic planner paid features like Magic Import tailor advanced tools for users with special needs.
  • Stay in Touch with Loved Ones: Share photos or videos from your phone to electronic wall calendar with app, instantly update your life moment, and keep in touch with your family, especially those who are far away; you can also surprise your smart calendar digital wall by sending him a wish card; it's also great for keeping tech-illiterate elders in touch with the youngsters.

3. Test the complete path

  1. Resolve the hostname from a separate network and confirm it returns the VPS address.
  2. Visit the HTTPS URL and verify that the browser shows a valid certificate.
  3. Sign in with the account you configured before creating or syncing sensitive notes.
  4. Confirm that the browser reaches SilverBullet through Caddy while the direct port 3000 remains inaccessible from the public internet.

Why HTTPS is not optional for a public deployment

SilverBullet’s TLS documentation says plain HTTP on a LAN IP or hostname works mostly in online-only mode, while HTTPS enables the full feature set, including offline use and local encryption. With plain HTTP, offline startup, cached file access, offline synchronization, local data encryption and OIDC/SSO are disabled. Credentials and traffic can also be intercepted or modified on the network. A public VPS should therefore use HTTPS rather than treating HTTP as a permanent shortcut.

Store and protect the SilverBullet space

The /data mount is the critical asset

Everything written under the host directory mapped to /data must survive container replacement. Back up that directory, not merely the container image. Also preserve the Docker command or service definition, the image tag, Caddy configuration, DNS details and any authentication secrets required to recreate the service.

Filesystem requirements

SilverBullet assumes a case-sensitive filesystem. The installation documentation warns that unreliable timestamp persistence on some NAS, synchronization or experimental filesystems can cause synchronization problems. A local VPS filesystem is the safer primary location. If you replicate to a NAS or sync service, treat that copy as a backup and verify that filenames, case and modification times survive intact.

A backup routine that can actually restore

  1. Stop or quiesce writes when your backup method requires a consistent snapshot.
  2. Copy the complete host directory mapped to /data to storage separate from the VPS.
  3. Save the deployment configuration and a protected copy of required secrets alongside, but not publicly with, the backup.
  4. Retain multiple dated generations so an accidental deletion or bad synchronization can be rolled back.
  5. Periodically create a separate test instance, restore a backup into its /data directory, start SilverBullet, and verify that pages, links and attachments open.

A backup that has never been restored is an assumption, not a recovery plan. Test restoration separately from the production service so the test cannot overwrite the live space.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Updates, monitoring and routine administration

Plan upgrades

Before an upgrade, record the current image tag and take a fresh backup. Pull the new image, recreate the container with the same persistent mount and authentication settings, then check logs and perform a browser login. Keep the old tag available for rollback until synchronization and offline behavior have been checked.

docker pull ghcr.io/silverbulletmd/silverbullet:tested-release
docker stop silverbullet
docker rm silverbullet
# Recreate the container with the same /data mount and settings

Use a real tested release tag in place of tested-release; do not copy a tag without checking the current release notes. Never run an upgrade that silently points at a new empty data directory.

Monitor the boundaries

  • Check that the container is running after VPS reboots.
  • Review Caddy logs for certificate renewal and upstream failures.
  • Watch available disk space, especially when attachments or backup archives grow.
  • Confirm that backups complete and that at least one recent restore test succeeded.
  • Review failed-login events and adjust lockout settings if legitimate users are repeatedly blocked.

Troubleshoot the common failure modes

The hostname does not open

Check the A or AAAA record first. An old address, an incorrect AAAA record or a DNS record that has not propagated will send the browser somewhere other than the VPS. Confirm that ports 80 and 443 are allowed by both firewalls and that Caddy is running.

Caddy returns a 502 Bad Gateway

A 502 normally means Caddy cannot reach its upstream. Verify that the SilverBullet container is running, that it listens on port 3000, and that the Caddy upstream matches the Docker binding. If you mapped 127.0.0.1:3000:3000, use localhost:3000 in Caddy on the same host.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

The certificate cannot be issued

Make sure the hostname resolves publicly to this VPS, TCP 80 or 443 is reachable as required by the challenge, and another service is not occupying those ports. Correct DNS and firewall problems before repeatedly requesting certificates.

Login fails or the account is locked

Check the container’s environment settings without exposing the secret in logs. Confirm that the credential format matches the current configuration reference. If the failed-login limit was reached, wait for the configured lockout period or use the documented administrative recovery path, then correct the underlying password or client configuration.

Synchronization behaves strangely

Inspect the filesystem behind /data. Case-insensitive storage and filesystems that do not reliably preserve timestamps can create synchronization problems. Move the primary space to reliable local VPS storage, restore a known-good backup, and use remote copies only after verifying their filesystem behavior.

Offline features are missing

Check that the browser is using the HTTPS hostname rather than an HTTP address. Plain HTTP intentionally disables offline startup, cached file access, offline synchronization and local data encryption, so changing the proxy to HTTPS is the remedy rather than a client-side toggle.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Self-managed VPS versus managed hosting

A VPS gives you control over the operating system, release timing, network layout and location of the Markdown space. It also makes you responsible for every maintenance and recovery task. A managed host handles more of the operational work but introduces provider dependence and less control over upgrades and infrastructure.

Decision area Self-managed VPS Managed service
Administration You install Docker or the binary, Caddy, firewall rules and updates. The provider handles deployment and routine platform work.
Backups You select the destination, retention and restore tests. The service documentation says backups are handled for you.
Network exposure You control DNS, HTTPS, firewall and proxy placement. The provider controls the public service boundary.
Upgrade control You can pin and schedule tested releases. Updates follow the provider’s schedule and controls.
Portability You retain the Markdown space and can copy the /data directory. You gain convenience but depend on export procedures and provider availability.
Indicative cost Documentation cited about €3.5/month for Hetzner Cloud and about $2.5/month for Vultr at the time written. Documentation cited about $2/month for PikaPods at the time written.

Those prices are historical indications from the project documentation, whose pages do not state a publication year. Cloud plans, taxes, storage, bandwidth, backup options and commercial terms change, so check current pricing before choosing a provider. PikaPods is documented as handling deployment, upgrades and backups and contributing part of its revenue back to SilverBullet; the trade-off is reduced infrastructure control and provider dependence.

Security checklist before you share the URL

  • Set a strong SilverBullet password or account configuration before opening public access.
  • Use HTTPS through Caddy and verify the certificate in a browser.
  • Bind SilverBullet to loopback when the reverse proxy is local.
  • Allow only the ports you need: SSH for administration, and 80/443 for the proxy.
  • Set failed-login lockout behavior with SB_LOCKOUT_LIMIT and SB_LOCKOUT_TIME.
  • Protect SB_AUTH_TOKEN and other secrets as credentials.
  • Keep the /data directory on persistent, case-sensitive storage.
  • Back up the space, deployment configuration and recovery secrets to separate storage.
  • Test a restore before relying on the VPS as your only copy.
  • Pin a tested release when reproducibility matters, and review release documentation before upgrading.

Which setup should you choose?

Choose Docker on a VPS when you want control, a portable Markdown space and the ability to schedule upgrades yourself. Use the standalone binary when avoiding Docker is more important than containerized repeatability. Choose managed hosting when paying for less server administration is worth relying on a provider for deployment, backups and upgrades.

For most technically comfortable users, the durable baseline is a small 64-bit Linux VPS, a persistent local /data directory, loopback-only SilverBullet, Caddy with automatic HTTPS, authentication configured before exposure, and an independently tested backup. That arrangement addresses the application’s documented storage and TLS requirements without tying your notes to an ephemeral container or an unencrypted public port.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

Leave a Reply

Your email address will not be published. Required fields are marked *

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

More from the Wire

  1. World desk4 min
    How to Spot an AI Voice Scam Before Sending MoneyDon’t rely on how a caller sounds. Pause, call back through a known number, and verify the emergency with another trusted person before sending money.
  2. Mountain View desk4 min
    Google’s SynthID Detector: How to Check AI-Generated Images, Video and AudioGoogle’s SynthID Detector looks for an embedded watermark in supported images, video and audio. Here is what its results do—and do not—show.
  3. Redmond desk20 min
    How to create a link to File or Folder in Windows 11Windows 11 gives you several ways to point to a file or folder without moving or duplicating it. You can create a desktop shortcut,…
Recommended PC Tool
Recommended PC Tool
PC Slower Than It Used to Be?Free scan - under a minute
Outdated Drivers Are Slowing You DownFree scan - exact matches

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.