Skip to content
View in the app

A better way to browse. Learn more.

Unraid

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

[Support] SubVault - Self-hosted Subscription Manager

Featured Replies

SubVault is a self-hosted subscription management application built with Go and HTMX.
Track recurring expenses, visualize spending analytics, and get renewal reminders — all on your own server.

GitHub: https://github.com/YakGravity/subvault
Docker Image: ghcr.io/yakgravity/subvault:latest
Template Repo: https://github.com/YakGravity/unraid-templates


Features

  • Dashboard with monthly/annual spending overview and category breakdown

  • Subscription tracking with automatic logo fetching

  • Calendar view with iCal export (RFC 7986 colors)

  • Multi-currency support — 30+ currencies with automatic ECB exchange rates

  • 12 themes (6 color palettes × light/dark mode), accent colors, collapsible sidebar

  • Email (SMTP) and push notifications via Shoutrrr (Pushover, Telegram, Discord, Slack, etc.)

  • REST API with key-based authentication

  • Data export — CSV, JSON, iCal, and encrypted backup format

  • Import from Wallos and SubTrackr

  • Internationalization (English and German)

  • Mobile responsive

  • SQLite database, no external dependencies


Screenshots

Dashboard Light

Dashboard Dark

Subscriptions

Calendar


Installation

Option 1: Template Repository

Add this URL as a template repository in Unraid (Docker → Template Repositories):

https://github.com/YakGravity/unraid-templates

Then search for "SubVault" when adding a new container.

Option 2: Docker Compose

services:
  subvault:
    image: ghcr.io/yakgravity/subvault:latest
    ports:
      - "8080:8080"
    volumes:
      - /mnt/user/appdata/subvault:/app/data
    environment:
      - TZ=Europe/Berlin
    restart: unless-stopped

Option 3: Docker CLI

docker run -d \
  --name subvault \
  -p 8080:8080 \
  -v /mnt/user/appdata/subvault:/app/data \
  -e TZ=Europe/Berlin \
  --restart unless-stopped \
  ghcr.io/yakgravity/subvault:latest

Open http://YOUR-SERVER-IP:8080 — no initial setup required.


Configuration

Variable

Description

Default

TZ

Container timezone

UTC

HTTPS_ENABLED

Set to "true" behind a TLS-terminating reverse proxy (required for secure CSRF cookies)

false

GIN_MODE

Gin framework mode

release

Data is stored in a single SQLite file at /app/data/subvault.db. Mount /app/data to persist your database across container updates.


Reverse Proxy

Works with Nginx Proxy Manager, Caddy, Traefik, or any reverse proxy. Set HTTPS_ENABLED=true when using TLS termination so that CSRF cookies are configured correctly.


Tech Stack

Go 1.24, Gin, SQLite (GORM), HTMX, custom CSS design system
Multi-arch Docker image (amd64 + arm64), ~47 MB compressed

License: AGPL-3.0
Documentation: https://github.com/YakGravity/subvault/tree/main/docs


Changelog

v1.3.1 (2026-02-08)

  • Fixed Wallos import format compatibility

  • Added German README

  • Documented ECB exchange rate source

v1.3.0

  • Import/category display fixes

  • Version tracking improvements

v1.2.0

  • Calendar view with iCal export

  • 12 themes with light/dark mode

v1.1.0

  • Multi-currency with ECB exchange rates

  • Push notifications via Shoutrrr

Full changelog: https://github.com/YakGravity/subvault/blob/main/CHANGELOG.md

Edited by YakGravity

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.