diff --git a/README.md b/README.md index 04d79404..ef23a41e 100644 --- a/README.md +++ b/README.md @@ -1,11 +1,11 @@ -# ScaleTail - Secure Self-Hosting Made Simple +# ScaleTail - Secure self-hosting made simple [![GitHub stars](https://img.shields.io/github/stars/tailscale-dev/ScaleTail)](https://github.com/tailscale-dev/ScaleTail/stargazers) [![License](https://img.shields.io/github/license/tailscale-dev/ScaleTail)](LICENSE) [![Docker](https://img.shields.io/badge/Docker-2496ED?logo=docker&logoColor=fff)](https://www.docker.com/) [![Tailscale](https://img.shields.io/badge/Tailscale-cccccc?logo=tailscale&logoColor=fff)](https://tailscale.com/) -ScaleTail provides ready-to-run [Docker Compose](https://docs.docker.com/compose) stacks that instantly connect your self-hosted applications to your [Tailnet](https://tailscale.com/docs/concepts/tailnet). By using a Docker sidecar configuration, your applications get an [URL](https://grokipedia.com/page/URL) with automatic [HTTPS](https://grokipedia.com/page/HTTPS), for example: `https://application.tail-net.ts.net`. +ScaleTail provides ready-to-run [Docker Compose](https://docs.docker.com/compose) stacks that connect self-hosted applications to your [Tailnet](https://tailscale.com/docs/concepts/tailnet). Each stack runs a Tailscale sidecar container, so the application joins your Tailnet as its own device. Most stacks publish the application at an HTTPS address such as `https://vaultwarden..ts.net`, reachable from your Tailnet only. ## Featured by Tailscale @@ -15,279 +15,326 @@ ScaleTail provides ready-to-run [Docker Compose](https://docs.docker.com/compose ## Quick Start -**Requirement:** *Docker Compose and [Git](https://git-scm.com/) must be installed. Preferably on a Linux operating system.* +You need: -1. **Get an Auth Key** +- A Linux host with [Docker Engine](https://docs.docker.com/engine/install/), Docker Compose 2.23.1 or later, and [Git](https://git-scm.com/). Check the Compose version with `docker compose version`. +- [MagicDNS](https://tailscale.com/kb/1081/magicdns) and [HTTPS certificates](https://tailscale.com/kb/1153/enabling-https) enabled for your Tailnet, on the [DNS](https://console.tailscale.com/admin/dns) page of the admin console. Without them, the `https://` address of a stack does not work. With HTTPS enabled, device names appear in public certificate transparency logs. - Go to the [Tailscale Admin Console โ†’ Keys](https://login.tailscale.com/admin/settings/keys) and generate a new auth key. +1. **Create an auth key** on the [Keys](https://console.tailscale.com/admin/settings/keys) page of the admin console. -2. **Clone and Choose a Service** + - Leave **Ephemeral** off. Tailscale removes an ephemeral device 30 to 60 minutes after it goes offline, for example when you stop the stack. + - Turn on **Pre-approved** if your Tailnet uses [device approval](https://tailscale.com/kb/1099/device-approval). + - Turn on **Reusable** to use the key for more than one stack. - Clone the repository and change directory to your desired service with the following command: +2. **Get the stacks and choose a service.** - ``` bash + ```sh git clone https://github.com/tailscale-dev/ScaleTail.git - cd ScaleTail/services/YourDesiredService + cd ScaleTail/services/ ``` -3. **Configure and Launch** + Replace `` with the directory from the **Details** link in [Available configurations](#available-configurations), for example `uptime-kuma`. - - Open the `.env` file in your chosen service directory. - - Add your auth key after the line `TS_AUTHKEY=`. - - Start the Docker compose stack: +3. **Read the service README.** "Before you start" lists what the service needs beyond these steps, such as secrets to generate. Until you set them, Compose stops with an error such as `required variable DB_PASSWORD is missing a value`. - ``` bash +4. **Edit `.env`.** Open the hidden file `.env`, for example with `nano .env`. Paste your auth key after `TS_AUTHKEY=` and set the values that the service README asks for. + +5. **Start the stack.** + + ```sh docker compose up -d + docker compose ps ``` -Every stack starts from the same [standard setup](documentation/standard-setup.md), which explains the containers, the Tailnet address, and the settings in `.env`. - -## Table of Contents - -- [ScaleTail - Secure Self-Hosting Made Simple](#scaletail---secure-self-hosting-made-simple) - - [Featured by Tailscale](#featured-by-tailscale) - - [Quick Start](#quick-start) - - [Table of Contents](#table-of-contents) - - [Available Configurations](#available-configurations) - - [๐ŸŒ Networking and Security](#-networking-and-security) - - [๐ŸŽฅ Media and Entertainment](#-media-and-entertainment) - - [๐Ÿ’ผ Productivity and Collaboration](#-productivity-and-collaboration) - - [๐Ÿ“Š Dashboards and Visualization](#-dashboards-and-visualization) - - [๐Ÿ› ๏ธ Development Tools](#development-tools) - - [๐Ÿ“ˆ Monitoring and Analytics](#-monitoring-and-analytics) - - [๐Ÿ  Smart Home](#-smart-home) - - [๐Ÿ“ฑ Utilities](#-utilities) - - [๐Ÿฝ๏ธ Food \& Wellness](#food-wellness) - - [Tailscale Information](#tailscale-information) - - [Tailscale Funnel vs. Tailscale Serve](#tailscale-funnel-vs-tailscale-serve) - - [Tailscale Funnel](#tailscale-funnel) - - [Tailscale Serve](#tailscale-serve) - - [Tailscale Documentation](#tailscale-documentation) - - [Contributors](#contributors) - - [Contributing](#contributing) - - [Star History](#star-history) - - [License](#license) - -## Available Configurations - -### ๐ŸŒ Networking and Security - -| ๐ŸŒ Service | ๐Ÿ“ Description | ๐Ÿ”— Link | -| ---------------------------------- | ------------------------------------------------------------------------------------ | ------------------------------------------------ | -| ๐Ÿ›ก๏ธ **AdGuard Home** | Network-wide software for blocking ads and tracking. | [Details](services/adguardhome) | -| ๐Ÿ”„ **AdGuardHome Sync** | A tool for syncing configuration across multiple AdGuard Home instances. | [Details](services/adguardhome-sync) | -| ๐ŸŒ **Caddy** | Caddy is an extensible server platform that uses TLS by default. | [Details](services/caddy) | -| ๐ŸŒ **DDNS Updater** | A self-hosted solution to keep DNS A/AAAA records updated automatically. | [Details](services/ddns-updater) | -| ๐ŸŒ **Flaresolverr** | A proxy server to bypass Cloudflare and DDoS-GUARD protection. | [Details](services/flaresolverr) | -| ๐Ÿ” **Nessus** | A powerful vulnerability scanner with a free Essentials model for home use. | [Details](services/nessus) | -| ๐Ÿ—ƒ๏ธ **Netbox** | NetBox is the leading solution for modeling and documenting modern networks. | [Details](services/netbox) | -| ๐Ÿงฉ **Pi-hole** | A network-level ad blocker that acts as a DNS sinkhole. | [Details](services/pihole) | -| ๐Ÿ†” **Pocket ID** | A self-hosted OIDC provider that signs users in to your services with passkeys. | [Details](services/pocket-id) | -| ๐ŸŒ **Rustdesk Server** | RustDesk is an open source remote control alternative for self-hosting and security. | [Details](services/rustdesk-server) | -| ๐Ÿ”’ **Technitium DNS** | An open-source DNS server that can be used for self-hosted DNS services. | [Details](services/technitium) | -| ๐ŸŒ **Traefik** | A modern reverse proxy and load balancer for microservices. | [Details](services/traefik) | -| ๐ŸŒ **Tailscale App Connector Node** | Configure a device to act as a App connector node for your Tailscale network. | [Details](services/tailscale-app-connector-node) | -| ๐Ÿš€ **Tailscale Exit Node** | Configure a device to act as an exit node for your Tailscale network. | [Details](services/tailscale-exit-node) | -| ๐ŸŒ **Tailscale Subnet Router Node** | Configure a device to act as a subnet router node for your Tailscale network. | [Details](services/tailscale-subnet-router-node) | - -### ๐ŸŽฅ Media and Entertainment - -| ๐ŸŽฅ Service | ๐Ÿ“ Description | ๐Ÿ”— Link | -| -------------------- | ------------------------------------------------------------------------------------------------------- | ---------------------------------- | -| ๐ŸŽต **ArtistTrackarr** | A self-hosted dashboard for tracking upcoming and newly released albums and EPs. | [Details](services/artisttrackarr) | -| ๐ŸŽง **Audiobookshelf** | A self-hosted audiobook and podcast server with multi-user support and playback syncing. | [Details](services/audiobookshelf) | -| ๐ŸŽฅ **Bazarr** | A companion tool to Radarr and Sonarr for managing subtitles. | [Details](services/bazarr) | -| ๐Ÿ“š **BookLore** | A self-hosted application for managing and reading books. | [Details](services/booklore) | -| ๐Ÿ“ฐ **FreshRSS** | A customizable feed reader with themes, extensions, and no separate database. | [Details](services/freshrss) | -| ๐ŸŽฅ **Frigate** | A self-hosted NVR with real-time AI object detection for IP cameras and local video monitoring. | [Details](services/frigate) | -| ๐ŸŽฎ **Hytale** | A self-hosted Hytale game server. | [Details](services/hytale) | -| โ›๏ธ **Minecraft** | A self-hosted Minecraft Java Edition server for private Tailnet multiplayer. | [Details](services/minecraft) | -| ๐Ÿ–ผ๏ธ **Immich** | A self-hosted Google Photos alternative with face recognition and mobile sync. | [Details](services/immich) | -| ๐Ÿ“บ **Jellyfin** | An open-source media system that puts you in control of managing and streaming your media. | [Details](services/jellyfin) | -| ๐Ÿ“– **Kavita** | An open-source, self-hosted digital library for comics, manga, and ebooks. | [Details](services/kavita) | -| ๐Ÿ“ป **Miniflux** | A minimalist and opinionated feed reader. | [Details](services/miniflux) | -| ๐ŸŽถ **Navidrome** | Your Personal Streaming Service self-hosted. | [Details](services/navidrome) | -| ๐ŸŽถ **Swing Music** | A fast, beautiful, self-hosted music streaming server for your local audio library. | [Details](services/swingmx) | -| ๐ŸŽฌ **Seerr** | A request management and media discovery tool for Plex, Jellyfin and Emby. | [Details](services/seerr) | -| ๐Ÿ“š **Paperless-ngx** | An open-source document management system that transforms physical documents into a searchable archive. | [Details](services/paperless) | -| ๐ŸŽต **Picard** | MusicBrainz Picard is a cross-platform music tagger for organizing and tagging music files. | [Details](services/picard) | -| ๐ŸŽฌ **Plex** | A media server that organizes video, music, and photos from personal media libraries. | [Details](services/plex) | -| ๐Ÿ“ฅ **qBittorrent** | An open-source BitTorrent client. | [Details](services/qbittorrent) | -| ๐Ÿ“ก **Prowlarr** | An indexer manager and proxy for applications like Radarr, Sonarr, and Lidarr. | [Details](services/prowlarr) | -| ๐ŸŽž๏ธ **Radarr** | A movie collection manager for Usenet and BitTorrent users. | [Details](services/radarr) | -| ๐Ÿ“ก **Sonarr** | A PVR for Usenet and BitTorrent users to manage TV series. | [Details](services/sonarr) | -| ๐Ÿ”— **Slink** | A fast, self-hosted alternative to ShareDrop for secure local file sharing. | [Details](services/slink) | -| ๐Ÿ“Š **Tautulli** | A monitoring and tracking tool for Plex Media Server. | [Details](services/tautulli) | -| ๐Ÿ“บ **Metube** | A self-hosted YouTube downloader with playlist support. | [Details](services/metube) | -| โš™๏ธ **Configarr** | Manage and sync configuration for Radarr, Sonarr, and related services. | [Details](services/configarr) | -| ๐Ÿ–ผ๏ธ **Posterizarr** | Automatically generates and updates posters/artwork for media libraries. | [Details](services/posterizarr) | -| โ™ป๏ธ **Recyclarr** | Tools for managing, migrating, and maintaining indexers and quality profiles. | [Details](services/recyclarr) | - -### ๐Ÿ’ผ Productivity and Collaboration - -| ๐Ÿ’ผ Service | ๐Ÿ“ Description | ๐Ÿ”— Link | -| ------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------- | -| ๐Ÿ’ฐ **Actual Budget** | A self-hosted personal finance and budgeting app focused on privacy and full data ownership. | [Details](services/actual-budget) | -| ๐Ÿง  **AFFiNE** | A self-hosted workspace for documents, whiteboards, and databases. | [Details](services/affine) | -| โš“ **Anchor** | An offline-first, self-hosted note-taking app with sync, attachments, sharing, and optional OIDC authentication. | [Details](services/anchor) | -| ๐Ÿ“„ **BentoPDF** | A lightweight, self-hosted web app for viewing and managing PDF documents. | [Details](services/bentopdf) | -| โœ‚๏ธ **ClipCascade** | A self-hosted clipboard manager for syncing and organizing clipboard history. | [Details](services/clipcascade) | -| ๐Ÿ—‚๏ธ **Copyparty** | A self-hosted file server with accelerated resumable uploads. | [Details](services/copyparty) | -| โœ… **Donetick** | A self-hosted task and checklist manager for productivity. | [Details](services/donetick) | -| ๐Ÿ“š **Docmost** | A self-hosted, real-time collaborative wiki with rich editing, diagrams, permissions, and full-text search. | [Details](services/docmost) | -| โœ… **DumbDo** | A self-hosted, minimalistic task manager for simple to-do lists. | [Details](services/dumbdo) | -| โœ… **Eigenfocus** | A self-hosted task and project management tool for productivity. | [Details](services/eigenfocus) | -| ๐Ÿ—‚๏ธ **EspoCRM** | A CRM for Sales, support and marketing. | [Details](services/espocrm) | -| ๐Ÿ“ **Excalidraw** | A virtual collaborative whiteboard tool. | [Details](services/excalidraw) | -| ๐Ÿ“ **Flatnotes** | A simple, self-hosted note-taking app using Markdown files. | [Details](services/flatnotes) | -| ๐Ÿ‘จ๐Ÿผโ€๐Ÿ’ป **Forgejo** | A community-driven, self-hosted Git service. | [Details](services/forgejo) | -| ๐Ÿ“‹ **Formbricks** | A self-hosted, open-source platform for collecting user feedback, surveys, and NPS. | [Details](services/formbricks) | -| ๐Ÿ‘จ๐Ÿผโ€๐Ÿ’ป **Gitea** | A lightweight, self-hosted Git service with repository hosting, pull requests, and issue tracking. | [Details](services/gitea) | -| โœ๏ธ **Ghost** | A modern, open-source publishing platform for blogs and newsletters. | [Details](services/ghost) | -| ๐Ÿง‘โ€๐Ÿง‘โ€๐Ÿง’โ€๐Ÿง’ **Gramps Web** | A web-based genealogy platform for collaborative family tree browsing, editing, AI-powered chat, media tagging, mapping, charts, search, and reporting. | [Details](services/grampsweb) | -| ๐Ÿ”– **Haptic** | Haptic is a new local-first & privacy-focused, open-source home for your markdown notes. | [Details](services/haptic) | -| ๐ŸŒฟ **Isley** | A self-hosted cannabis grow journal for tracking plants and managing grow data. | [Details](services/isley) | -| ๐Ÿ—’๏ธ **Karakeep** | A self-hosted, collaborative note-taking app โ€” a private alternative to Google Keep. | [Details](services/karakeep) | -| ๐Ÿ—‚๏ธ **Kaneo** | A modern, self-hosted project management platform focused on simplicity. | [Details](services/kaneo) | -| ๐Ÿง  **LanguageTool** | An open-source proofreading software for multiple languages. | [Details](services/languagetool) | -| ๐Ÿ”– **Linkding** | A self-hosted bookmark manager to save and organize links. | [Details](services/linkding) | -| ๐Ÿ“ฅ **Mattermost** | A self-hosted collaborative workflow and communication tool. | [Details](services/mattermost) | -| ๐Ÿ“ **Memos** | A lightweight, self-hosted note-taking and knowledge management platform for capturing ideas, daily notes, and personal knowledge. | [Details](services/memos) | -| ๐Ÿ“ **Nanote** | A lightweight, self-hosted note-taking app with Markdown support. | [Details](services/nanote) | -| ๐Ÿ“‚ **NextExplorer** | A self-hosted file explorer for managing mounted directories. | [Details](services/next-explorer) | -| ๐Ÿค– **Open WebUI** | A self-hosted AI platform with a ChatGPT-style interface for local and cloud-based models. | [Details](services/open-webui) | -| ๐Ÿ”— **Pingvin Share** | **PROJECT ARCHIVED** A self-hosted file sharing platform. | [Details](services/pingvin-share) | -| ๐Ÿ“… **Radicale** | A lightweight CalDAV and CardDAV server for self-hosted calendar, to-do, and contact sync. | [Details](services/radicale) | -| ๐Ÿ”„ **Resilio Sync** | A fast, reliable, and simple file sync and share solution. | [Details](services/resilio-sync) | -| ๐Ÿ“ **Seafile** | A self-hosted file syncing and collaboration platform with file sharing, versioning, and team library support. | [Details](services/seafile) | -| ๐Ÿ—‚๏ธ **Stirling-PDF** | A web application for managing and editing PDF files. | [Details](services/stirlingpdf) | -| ๐Ÿ’ฐ **Sure Finance** | A self-hosted personal finance and budgeting app with optional AI insights. | [Details](services/sure) | -| ๐Ÿฆ **Subtrackr** | A self-hosted web app to track subscriptions, renewal dates, costs, and payment methods. | [Details](services/subtrackr) | -| ๐Ÿ—ƒ๏ธ **Vaultwarden** | An unofficial Bitwarden server implementation written in Rust. | [Details](services/vaultwarden) | -| โœ… **Vikunja** | A self-hosted task and project management platform with projects, reminders, labels, recurring tasks, and collaboration features. | [Details](services/vikunja) | -| ๐Ÿ’ธ **Wallos** | An open-source, self-hostable web app to track and manage your recurring subscriptions and expenses, with multi-currency support, customizable categories, and statistics. | [Details](services/wallos) | -| ๐Ÿ“š **XWiki** | XWiki offers a generic platform for developing projects and collaborative applications using the wiki paradigm. | [Details](services/xwiki) | - -### ๐Ÿ“Š Dashboards and Visualization - -| ๐Ÿ“Š Service | ๐Ÿ“ Description | ๐Ÿ”— Link | -| ------------------------ | ------------------------------------------------------------------------------------------------------------------- | -------------------------------------- | -| ๐Ÿงญ **Glance** | A concise, customizable dashboard for self-hosted services and personal metrics. | [Details](services/glance) | -| ๐Ÿ  **Homepage** | A modern, highly customizable homepage for organizing links and monitoring services. | [Details](services/homepage) | -| ๐Ÿ–ผ๏ธ **NewWallpaperWhoDis** | A lightweight, self-hosted wallpaper management server and dynamic rotation engine built on flat-file architecture. | [Details](services/newwallpaperwhodis) | + The application starts after the `tailscale` container reports `healthy`. If a container is not running, read the logs with `docker compose logs`. + +6. **Open the service.** From a device in your Tailnet, open the web interface from "At a glance" in the service README, usually `https://..ts.net`. `` is the value of `SERVICE` in `.env`, and `` is your [Tailnet DNS name](https://tailscale.com/kb/1217/tailnet-name). The first request can take up to a minute, because Tailscale requests the certificate at that moment. Then follow "First run" in the service README. Some stacks have no web interface, and their service README says how to reach them. + +7. **Keep the device connected.** Its node key expires after 180 days by default. To prevent that, disable key expiry for the device on the [Machines](https://console.tailscale.com/admin/machines) page. + +Every stack starts from the same [standard setup](documentation/standard-setup.md), which explains the containers, the Tailnet address, the data folders, and the settings in `.env`. + +## Table of contents + +- [Featured by Tailscale](#featured-by-tailscale) +- [Quick Start](#quick-start) +- [Available configurations](#available-configurations) + - [๐ŸŒ Networking and security](#-networking-and-security) + - [๐ŸŽฅ Media and entertainment](#-media-and-entertainment) + - [๐Ÿ’ผ Productivity and collaboration](#-productivity-and-collaboration) + - [๐Ÿ“Š Dashboards and visualization](#-dashboards-and-visualization) + - [๐Ÿ› ๏ธ Development tools](#development-tools) + - [๐Ÿ“ˆ Monitoring and analytics](#-monitoring-and-analytics) + - [๐Ÿ  Smart home](#-smart-home) + - [๐Ÿ“ฑ Utilities](#-utilities) + - [๐Ÿฝ๏ธ Food \& wellness](#food-wellness) +- [Update a stack](#update-a-stack) +- [Remove a stack](#remove-a-stack) +- [Get help](#get-help) +- [Tailscale Serve and Funnel](#tailscale-serve-and-funnel) +- [Documentation](#documentation) +- [Contributors](#contributors) +- [Contributing](#contributing) +- [Star history](#star-history) +- [License](#license) + +## Available configurations + +### ๐ŸŒ Networking and security + +| ๐ŸŒ Service | ๐Ÿ“ Description | ๐Ÿ”— Link | +| ----------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------ | +| ๐Ÿ›ก๏ธ **AdGuard Home** | A network-wide DNS server that blocks ads and trackers. | [Details](services/adguardhome) | +| ๐Ÿ”„ **AdGuardHome Sync** | A tool for syncing configuration across multiple AdGuard Home instances. | [Details](services/adguardhome-sync) | +| ๐ŸŒ **Caddy** | A web server and reverse proxy with automatic HTTPS. | [Details](services/caddy) | +| ๐ŸŒ **DDNS Updater** | A self-hosted solution to keep DNS A/AAAA records updated automatically. | [Details](services/ddns-updater) | +| ๐ŸŒ **FlareSolverr** | A proxy server to bypass Cloudflare and DDoS-GUARD protection. | [Details](services/flaresolverr) | +| ๐Ÿ” **Nessus** | A vulnerability scanner from Tenable, with a limited free license called Nessus Essentials. | [Details](services/nessus) | +| ๐Ÿ—ƒ๏ธ **NetBox** | A source of truth for documenting IP addresses, racks, devices, connections, and circuits. | [Details](services/netbox) | +| ๐Ÿงฉ **Pi-hole** | A network-level ad blocker that acts as a DNS sinkhole. | [Details](services/pihole) | +| ๐Ÿ†” **Pocket ID** | A self-hosted OIDC provider that signs users in to your services with passkeys. | [Details](services/pocket-id) | +| ๐ŸŒ **RustDesk Server** | A self-hosted ID and relay server for RustDesk remote desktop clients. | [Details](services/rustdesk-server) | +| ๐ŸŒ **Tailscale App Connector Node** | Configure a device to act as an app connector for your Tailscale network. | [Details](services/tailscale-app-connector-node) | +| ๐Ÿš€ **Tailscale Exit Node** | Configure a device to act as an exit node for your Tailscale network. | [Details](services/tailscale-exit-node) | +| ๐ŸŒ **Tailscale Subnet Router Node** | Configure a device to act as a subnet router node for your Tailscale network. | [Details](services/tailscale-subnet-router-node) | +| ๐Ÿ”’ **Technitium DNS** | An open-source DNS server with ad blocking, forwarders, and your own DNS zones. | [Details](services/technitium) | +| ๐ŸŒ **Traefik** | A reverse proxy and load balancer that routes requests to Docker containers by label. | [Details](services/traefik) | + +### ๐ŸŽฅ Media and entertainment + +| ๐ŸŽฅ Service | ๐Ÿ“ Description | ๐Ÿ”— Link | +| --------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------- | +| ๐ŸŽต **ArtistTrackarr** | A self-hosted dashboard for tracking upcoming and newly released albums and EPs. | [Details](services/artisttrackarr) | +| ๐ŸŽง **Audiobookshelf** | A self-hosted audiobook and podcast server with multi-user support and playback syncing. | [Details](services/audiobookshelf) | +| ๐ŸŽฅ **Bazarr** | A companion tool to Radarr and Sonarr for managing subtitles. | [Details](services/bazarr) | +| ๐Ÿ“š **BookLore** | A self-hosted application for managing and reading books. | [Details](services/booklore) | +| โš™๏ธ **Configarr** | A tool that syncs TRaSH Guides and your own YAML configuration to Radarr, Sonarr, and related services. | [Details](services/configarr) | +| ๐Ÿ“ฐ **FreshRSS** | A customizable feed reader with themes, extensions, and no separate database. | [Details](services/freshrss) | +| ๐ŸŽฎ **Hytale** | A self-hosted Hytale game server. | [Details](services/hytale) | +| ๐Ÿ–ผ๏ธ **Immich** | A self-hosted Google Photos alternative with face recognition and mobile sync. | [Details](services/immich) | +| ๐Ÿ“บ **Jellyfin** | An open-source media system that puts you in control of managing and streaming your media. | [Details](services/jellyfin) | +| ๐Ÿ“– **Kavita** | An open-source, self-hosted digital library for comics, manga, and ebooks. | [Details](services/kavita) | +| ๐Ÿ“บ **MeTube** | A self-hosted web UI for yt-dlp that downloads video and audio from YouTube and many other sites. | [Details](services/metube) | +| โ›๏ธ **Minecraft** | A self-hosted Minecraft Java Edition server for private Tailnet multiplayer. | [Details](services/minecraft) | +| ๐Ÿ“ป **Miniflux** | A minimalist and opinionated feed reader. | [Details](services/miniflux) | +| ๐ŸŽถ **Navidrome** | A self-hosted music server that streams your collection to its web player and Subsonic-compatible apps. | [Details](services/navidrome) | +| ๐ŸŽต **Picard** | A music tagger that looks up your files in MusicBrainz and writes tags and cover art, used through your browser. | [Details](services/picard) | +| ๐ŸŽฌ **Plex** | A media server that organizes video, music, and photos from personal media libraries. | [Details](services/plex) | +| ๐Ÿ–ผ๏ธ **Posterizarr** | A tool that creates matching posters, backgrounds, and title cards for Plex, Jellyfin, and Emby libraries. | [Details](services/posterizarr) | +| ๐Ÿ“ก **Prowlarr** | An indexer manager and proxy for applications like Radarr, Sonarr, and Lidarr. | [Details](services/prowlarr) | +| ๐Ÿ“ฅ **qBittorrent** | An open-source BitTorrent client. | [Details](services/qbittorrent) | +| ๐ŸŽž๏ธ **Radarr** | A movie collection manager for Usenet and BitTorrent users. | [Details](services/radarr) | +| โ™ป๏ธ **Recyclarr** | A tool that syncs TRaSH Guides quality profiles and custom formats to Radarr and Sonarr. | [Details](services/recyclarr) | +| ๐ŸŽฌ **Seerr** | A request management and media discovery tool for Plex, Jellyfin, and Emby. | [Details](services/seerr) | +| ๐Ÿ”— **Slink** | A self-hosted image hosting and sharing platform with shareable links. | [Details](services/slink) | +| ๐Ÿ“ก **Sonarr** | A PVR for Usenet and BitTorrent users to manage TV series. | [Details](services/sonarr) | +| ๐ŸŽถ **Swing Music** | A self-hosted music player and streaming server for your local audio library. | [Details](services/swingmx) | +| ๐Ÿ“Š **Tautulli** | A monitoring and tracking tool for Plex Media Server. | [Details](services/tautulli) | + +### ๐Ÿ’ผ Productivity and collaboration + +| ๐Ÿ’ผ Service | ๐Ÿ“ Description | ๐Ÿ”— Link | +| ----------------------- | --------------------------------------------------------------------------------------------------------------------- | --------------------------------- | +| ๐Ÿ’ฐ **Actual Budget** | A self-hosted personal finance and budgeting app focused on privacy and full data ownership. | [Details](services/actual-budget) | +| ๐Ÿง  **AFFiNE** | A self-hosted workspace for documents, whiteboards, and databases. | [Details](services/affine) | +| โš“ **Anchor** | An offline-first, self-hosted note-taking app with sync, attachments, sharing, and optional OIDC authentication. | [Details](services/anchor) | +| ๐Ÿ“„ **BentoPDF** | A privacy-first PDF toolkit that merges, splits, compresses, converts, and edits PDFs in the browser. | [Details](services/bentopdf) | +| โœ‚๏ธ **ClipCascade** | A self-hosted server that syncs your clipboard across devices with end-to-end encryption. | [Details](services/clipcascade) | +| ๐Ÿ—‚๏ธ **Copyparty** | A self-hosted file server with accelerated resumable uploads. | [Details](services/copyparty) | +| ๐Ÿ“š **Docmost** | A self-hosted, real-time collaborative wiki with rich editing, diagrams, permissions, and full-text search. | [Details](services/docmost) | +| โœ… **Donetick** | A self-hosted task and chore manager for households and small groups. | [Details](services/donetick) | +| โœ… **DumbDo** | A self-hosted, minimalistic task manager for simple to-do lists. | [Details](services/dumbdo) | +| โœ… **Eigenfocus** | A self-hosted project and task manager with boards and time tracking. | [Details](services/eigenfocus) | +| ๐Ÿ—‚๏ธ **EspoCRM** | A self-hosted CRM for sales, support, and marketing. | [Details](services/espocrm) | +| ๐Ÿ“ **Excalidraw** | A virtual whiteboard for sketching hand-drawn style diagrams. | [Details](services/excalidraw) | +| ๐Ÿ“ **flatnotes** | A simple, self-hosted note-taking app using Markdown files. | [Details](services/flatnotes) | +| ๐Ÿ‘จ๐Ÿผโ€๐Ÿ’ป **Forgejo** | A community-driven, self-hosted Git service. | [Details](services/forgejo) | +| ๐Ÿ“‹ **Formbricks** | A self-hosted, open-source platform for collecting user feedback, surveys, and NPS. | [Details](services/formbricks) | +| โœ๏ธ **Ghost** | An open-source publishing platform for blogs and newsletters. | [Details](services/ghost) | +| ๐Ÿ‘จ๐Ÿผโ€๐Ÿ’ป **Gitea** | A lightweight, self-hosted Git service with repository hosting, pull requests, and issue tracking. | [Details](services/gitea) | +| ๐Ÿง‘โ€๐Ÿง‘โ€๐Ÿง’โ€๐Ÿง’ **Gramps Web** | A web-based genealogy platform for browsing and editing family trees together. | [Details](services/grampsweb) | +| ๐Ÿ”– **Haptic** | A local-first, open-source Markdown note editor. | [Details](services/haptic) | +| ๐ŸŒฟ **Isley** | A self-hosted cannabis grow journal for tracking plants and managing grow data. | [Details](services/isley) | +| ๐Ÿ—‚๏ธ **Kaneo** | A self-hosted project management tool with boards and tasks, focused on simplicity. | [Details](services/kaneo) | +| ๐Ÿ—’๏ธ **Karakeep** | A self-hosted bookmark manager that archives links, notes, and images, with full-text search and optional AI tagging. | [Details](services/karakeep) | +| ๐Ÿง  **LanguageTool** | An open-source grammar, style, and spell checker server for many languages. | [Details](services/languagetool) | +| ๐Ÿ”– **linkding** | A self-hosted bookmark manager to save and organize links. | [Details](services/linkding) | +| ๐Ÿ“ฅ **Mattermost** | A self-hosted collaborative workflow and communication tool. | [Details](services/mattermost) | +| ๐Ÿ“ **Memos** | A lightweight, self-hosted Markdown note-taking app for quick notes on a timeline. | [Details](services/memos) | +| ๐Ÿ“ **Nanote** | A lightweight, self-hosted note-taking app with Markdown support. | [Details](services/nanote) | +| ๐Ÿ“‚ **NextExplorer** | A self-hosted file explorer for managing mounted directories. | [Details](services/next-explorer) | +| ๐Ÿค– **Open WebUI** | A self-hosted AI platform with a ChatGPT-style interface for local and cloud-based models. | [Details](services/open-webui) | +| ๐Ÿ“š **Paperless-ngx** | An open-source document management system that transforms physical documents into a searchable archive. | [Details](services/paperless) | +| ๐Ÿ”— **Pingvin Share** | **PROJECT ARCHIVED** A self-hosted file sharing platform. | [Details](services/pingvin-share) | +| ๐Ÿ“… **Radicale** | A lightweight CalDAV and CardDAV server for self-hosted calendar, to-do, and contact sync. | [Details](services/radicale) | +| ๐Ÿ”„ **Resilio Sync** | A peer-to-peer tool that syncs folders directly between your devices. | [Details](services/resilio-sync) | +| ๐Ÿ“ **Seafile** | A self-hosted file syncing and collaboration platform with file sharing, versioning, and team library support. | [Details](services/seafile) | +| ๐Ÿ—‚๏ธ **Stirling-PDF** | A web application for managing and editing PDF files. | [Details](services/stirlingpdf) | +| ๐Ÿฆ **SubTrackr** | A self-hosted web app to track subscriptions, renewal dates, costs, and payment methods. | [Details](services/subtrackr) | +| ๐Ÿ’ฐ **Sure** | A self-hosted personal finance and budgeting app with optional AI insights. | [Details](services/sure) | +| ๐Ÿ—ƒ๏ธ **Vaultwarden** | An unofficial Bitwarden server implementation written in Rust. | [Details](services/vaultwarden) | +| โœ… **Vikunja** | A self-hosted to-do and project management app with lists, boards, and reminders. | [Details](services/vikunja) | +| ๐Ÿ’ธ **Wallos** | A self-hosted tracker for recurring subscriptions and expenses, with multi-currency support. | [Details](services/wallos) | +| ๐Ÿ“š **XWiki** | A wiki platform for documentation and knowledge management, with structured pages and extensions. | [Details](services/xwiki) | + +### ๐Ÿ“Š Dashboards and visualization + +| ๐Ÿ“Š Service | ๐Ÿ“ Description | ๐Ÿ”— Link | +| ------------------------- | -------------------------------------------------------------------------------------------------------------- | -------------------------------------- | +| ๐Ÿงญ **Glance** | A lightweight, customizable dashboard that puts your feeds, such as RSS, weather, and markets, on one page. | [Details](services/glance) | +| ๐Ÿ–ฅ๏ธ **Homarr** | A customizable dashboard for your self-hosted services, with drag-and-drop configuration and app integrations. | [Details](services/homarr) | +| ๐Ÿ  **Homepage** | A highly customizable application dashboard with Docker and service integrations. | [Details](services/homepage) | +| ๐Ÿ–ผ๏ธ **NewWallpaperWhoDis** | A self-hosted wallpaper server that rotates your collection on browsers, tablets, smart TVs, and dashboards. | [Details](services/newwallpaperwhodis) | -### ๐Ÿ› ๏ธ Development Tools - -| ๐Ÿ› ๏ธ Service | ๐Ÿ“ Description | ๐Ÿ”— Link | -| ------------------------ | ----------------------------------------------------------------------------------------------------------- | ----------------------------------- | -| ๐Ÿงฐ **Arcane** | A self-hosted Docker management UI for Compose stacks; this repo includes a Tailscale sidecar example. | [Details](services/arcane) | -| ๐Ÿ–ฅ๏ธ **Changedetection.io** | A tool for monitoring website changes. | [Details](services/changedetection) | -| ๐Ÿ› ๏ธ **Coder** | Self-hosted cloud dev environments with browser IDEs, Terraform-managed workspaces. | [Details](services/coder) | -| ๐Ÿ”ง **Cyberchef** | A web app for encryption, encoding, compression, and data analysis. | [Details](services/cyberchef) | -| ๐Ÿณ **Dockhand** | A modern, lightweight Docker management UI for containers and Compose stacks. | [Details](services/dockhand) | -| ๐Ÿณ **Dockge** | A lightweight, self-hosted Docker Compose stack manager with a web UI. | [Details](services/dockge) | -| ๐Ÿ–ฅ๏ธ **Dozzle** | A real-time log viewer for Docker containers. | [Details](services/dozzle) | -| ๐Ÿ“ **Filebrowser** | A lightweight web file manager for a host directory. | [Details](services/filebrowser) | -| ๐Ÿ” **FossFLOW** | A self-hosted tool to make beautiful isometric infrastructure diagrams. | [Details](services/fossflow) | -| ๐Ÿ–ฅ๏ธ **GitSave** | A self-hosted service to back up your GitHub repositories via a simple REST API and scheduled runs. | [Details](services/gitsave) | -| ๐Ÿ–ฅ๏ธ **Gokapi** | A lightweight self-hosted file sharing platform. | [Details](services/gokapi) | -| ๐Ÿ–ฅ๏ธ **Homarr** | A sleek dashboard for all your Homelab services. | [Details](services/homarr) | -| ๐Ÿ–ฅ๏ธ **IT-Tools** | A collection of handy online tools for developers and sysadmins. | [Details](services/it-tools) | -| ๐Ÿ“ง **Mailpit** | A self-hosted email testing tool for capturing, viewing, and debugging outgoing emails during development. | [Details](services/mailpit) | -| ๐Ÿ–ฅ๏ธ **Node-RED** | A flow-based development tool for visual programming. | [Details](services/nodered) | -| ๐Ÿ–ฅ๏ธ **Portainer** | A lightweight management UI which allows you to easily manage your Docker environments. | [Details](services/portainer) | -| ๐Ÿ” **searXNG** | A free internet metasearch engine which aggregates results from various search services. | [Details](services/searxng) | -| ๐Ÿง  **Ollama** | A self-hosted solution for running open large language models (LLMs) locally with an OpenAI-compatible API. | [Details](services/ollama) | - -### ๐Ÿ“ˆ Monitoring and Analytics - -| ๐Ÿ“ˆ Service | ๐Ÿ“ Description | ๐Ÿ”— Link | -| ----------------------- | ---------------------------------------------------------------------------------------- | ------------------------------------- | -| ๐Ÿ“‰ **Beszel Hub** | The Beszel Hub provides historical monitoring data, Docker stats, and alerts. | [Details](services/beszel-hub) | -| ๐Ÿ›ฐ๏ธ **Beszel Agent** | The Beszel Agent collects stats and reports them back to the Hub. | [Details](services/beszel-agent) | -| ๐Ÿ”Ž **Portracker** | A simple, self-hosted port monitoring and tracking tool for auditing open ports. | [Details](services/portracker) | -| ๐Ÿš€ **Speedtest Tracker** | A self-hosted tool to monitor and log internet speed tests with detailed visualizations. | [Details](services/speedtest-tracker) | -| ๐Ÿ“Š **Umami** | An open-source web analytics platform that respects user privacy. | [Details](services/umami) | -| ๐Ÿ“Š **Uptime Kuma** | A self-hosted monitoring tool like "Uptime Robot". | [Details](services/uptime-kuma) | - -### ๐Ÿ  Smart Home - -| ๐Ÿ  Service | ๐Ÿ“ Description | ๐Ÿ”— Link | -| -------------------- | ---------------------------------------------------------------------- | ---------------------------------- | -| ๐Ÿก **Home Assistant** | An open-source home automation platform for controlling smart devices. | [Details](services/home-assistant) | +### ๐Ÿ› ๏ธ Development tools + +| ๐Ÿ› ๏ธ Service | ๐Ÿ“ Description | ๐Ÿ”— Link | +| ------------------- | ---------------------------------------------------------------------------------------------------------------- | ------------------------------- | +| ๐Ÿงฐ **Arcane** | A self-hosted web UI to manage Docker containers, images, networks, volumes, and Compose projects. | [Details](services/arcane) | +| ๐Ÿ› ๏ธ **Coder** | A self-hosted platform for development environments that you define as Terraform templates. | [Details](services/coder) | +| ๐Ÿ”ง **CyberChef** | A web app for encryption, encoding, compression, and data analysis. | [Details](services/cyberchef) | +| ๐Ÿณ **Dockge** | A lightweight, self-hosted Docker Compose stack manager with a web UI. | [Details](services/dockge) | +| ๐Ÿณ **Dockhand** | A lightweight Docker management UI for containers and Compose stacks on local and remote hosts. | [Details](services/dockhand) | +| ๐Ÿ–ฅ๏ธ **Dozzle** | A real-time log viewer for Docker containers. | [Details](services/dozzle) | +| ๐Ÿ“ **File Browser** | **PROJECT ARCHIVED** A web file manager for one folder on your server. Upstream gives no further security fixes. | [Details](services/filebrowser) | +| ๐Ÿ” **FossFLOW** | A self-hosted tool to draw isometric infrastructure diagrams. | [Details](services/fossflow) | +| ๐Ÿ–ฅ๏ธ **GitSave** | A self-hosted service that backs up your Git repositories from GitHub, GitLab, and others on a schedule. | [Details](services/gitsave) | +| ๐Ÿ–ฅ๏ธ **Gokapi** | A lightweight self-hosted file sharing platform. | [Details](services/gokapi) | +| ๐Ÿ–ฅ๏ธ **IT-Tools** | A collection of handy online tools for developers and sysadmins. | [Details](services/it-tools) | +| ๐Ÿ“ง **Mailpit** | A self-hosted email testing tool for capturing, viewing, and debugging outgoing emails during development. | [Details](services/mailpit) | +| ๐Ÿ–ฅ๏ธ **Node-RED** | A flow-based development tool for visual programming. | [Details](services/nodered) | +| ๐Ÿง  **Ollama** | A self-hosted solution for running open large language models (LLMs) locally with an OpenAI-compatible API. | [Details](services/ollama) | +| ๐Ÿ–ฅ๏ธ **Portainer** | A lightweight management UI which allows you to easily manage your Docker environments. | [Details](services/portainer) | +| ๐Ÿ” **SearXNG** | A free internet metasearch engine which aggregates results from various search services. | [Details](services/searxng) | + +### ๐Ÿ“ˆ Monitoring and analytics + +| ๐Ÿ“ˆ Service | ๐Ÿ“ Description | ๐Ÿ”— Link | +| ------------------------- | ------------------------------------------------------------------------------------------------------ | ------------------------------------- | +| ๐Ÿ›ฐ๏ธ **Beszel Agent** | An agent that collects system and Docker stats and reports them to a Beszel Hub. | [Details](services/beszel-agent) | +| ๐Ÿ“‰ **Beszel Hub** | A lightweight server monitoring hub with historical data, Docker stats, and alerts. | [Details](services/beszel-hub) | +| ๐Ÿ–ฅ๏ธ **changedetection.io** | A tool for monitoring website changes. | [Details](services/changedetection) | +| ๐Ÿ”Ž **Portracker** | A self-hosted tool that discovers the services on your systems and maps the ports they use. | [Details](services/portracker) | +| ๐Ÿš€ **Speedtest Tracker** | A self-hosted tool to monitor and log internet speed tests with detailed visualizations. | [Details](services/speedtest-tracker) | +| ๐Ÿ“Š **Umami** | An open-source web analytics platform that respects user privacy. | [Details](services/umami) | +| ๐Ÿ“Š **Uptime Kuma** | A self-hosted monitoring tool that checks your websites and services and alerts you when they go down. | [Details](services/uptime-kuma) | + +### ๐Ÿ  Smart home + +| ๐Ÿ  Service | ๐Ÿ“ Description | ๐Ÿ”— Link | +| --------------------- | ----------------------------------------------------------------------------------------------- | ---------------------------------- | +| ๐ŸŽฅ **Frigate** | A self-hosted NVR with real-time AI object detection for IP cameras and local video monitoring. | [Details](services/frigate) | +| ๐Ÿก **Home Assistant** | An open-source home automation platform for controlling smart devices. | [Details](services/home-assistant) | ### ๐Ÿ“ฑ Utilities -| ๐Ÿ“ฑ Service | ๐Ÿ“ Description | ๐Ÿ”— Link | -| ---------------- | ----------------------------------------------------------------------------------------------------------------- | ------------------------------- | -| ๐Ÿ” **ConvertX** | A fast, full-featured self-hosted conversion API for images, docs, videos, and more. | [Details](services/convertx) | -| ๐Ÿ”” **Gotify** | A simple server for sending and receiving messages in real-time. | [Details](services/gotify) | -| ๐Ÿ” **Hemmelig** | A self-hosted, zero-knowledge encrypted secret sharing platform with expiring secrets. | [Details](services/hemmelig) | -| ๐Ÿ“ฆ **Homebox** | A self-hosted home inventory and asset management system. | [Details](services/homebox) | -| ๐Ÿš— **LubeLogger** | Self-hosted vehicle maintenance tracker with private access. | [Details](services/lube-logger) | -| ๐Ÿ“ฑ **Mini-QR** | A minimal, self-hosted QR code generator with a mobile-friendly UI. | [Details](services/miniqr) | -| ๐Ÿ“ฃ **ntfy** | A simple HTTP-based pub/sub notification service for sending push notifications. | [Details](services/ntfy) | -| ๐Ÿš— **Tracktor** | Self-hosted vehicle maintenance tracker. | [Details](services/tracktor) | -| ๐Ÿ” **Transmute** | A self-hosted file conversion and transformation service for handling documents, media, and other format changes. | [Details](services/transmute) | +| ๐Ÿ“ฑ Service | ๐Ÿ“ Description | ๐Ÿ”— Link | +| ----------------- | ----------------------------------------------------------------------------------------------------------- | ------------------------------- | +| ๐Ÿ” **ConvertX** | A self-hosted online file converter for documents, images, audio, video, and over a thousand other formats. | [Details](services/convertx) | +| ๐Ÿ”” **Gotify** | A simple server for sending and receiving messages in real-time. | [Details](services/gotify) | +| ๐Ÿ” **Hemmelig** | **PROJECT ARCHIVED** A self-hosted, zero-knowledge encrypted secret sharing platform with expiring secrets. | [Details](services/hemmelig) | +| ๐Ÿ“ฆ **Homebox** | A self-hosted home inventory and asset management system. | [Details](services/homebox) | +| ๐Ÿš— **LubeLogger** | A self-hosted vehicle maintenance and fuel mileage tracker. | [Details](services/lube-logger) | +| ๐Ÿ“ฑ **Mini QR** | A self-hosted app to create, style, and scan QR codes. | [Details](services/miniqr) | +| ๐Ÿ“ฃ **ntfy** | A simple HTTP-based pub/sub notification service for sending push notifications. | [Details](services/ntfy) | +| ๐Ÿš— **Tracktor** | A self-hosted app to track your vehicles' fuel use, maintenance, insurance, and documents. | [Details](services/tracktor) | +| ๐Ÿ” **Transmute** | A self-hosted file converter and compressor for images, video, audio, and documents, with a web UI and API. | [Details](services/transmute) | -### ๐Ÿฝ๏ธ Food & Wellness +### ๐Ÿฝ๏ธ Food & wellness + +| ๐Ÿฝ๏ธ Service | ๐Ÿ“ Description | ๐Ÿ”— Link | +| ---------------------- | --------------------------------------------------------------------------------------------------------- | ------------------------------ | +| ๐Ÿฅ˜ **KitchenOwl** | A self-hosted grocery list and recipe manager with meal planning and expense tracking for households. | [Details](services/kitchenowl) | +| ๐Ÿฅ˜ **Mealie** | A self-hosted recipe manager and meal planner with features like shopping lists, scaling, and importing. | [Details](services/mealie) | +| ๐Ÿฅ˜ **Tandoor Recipes** | A self-hosted recipe manager and meal planner with shopping lists, nutrition tracking, and recipe import. | [Details](services/tandoor) | + +## Update a stack + +Most stacks use the `latest` image tag. To get newer images, run this from the service directory: + +```sh +docker compose pull +docker compose up -d +``` + +To get the latest version of the stacks, update your clone. Git does not overwrite files that you changed, such as `.env`, so set your changes aside first: + +```sh +git stash +git pull +git stash pop +``` + +If `git stash pop` reports a conflict in `.env`, open the file, keep your values, delete the `<<<<<<<`, `=======`, and `>>>>>>>` lines, then run `git reset` and `git stash drop`. + +Before you restart the stack, read the "Upgrading" section of the service README, if it has one. + +## Remove a stack + +From the service directory, run `docker compose down --volumes`. To remove the stack completely, also remove the device on the [Machines](https://console.tailscale.com/admin/machines) page and delete the service directory. It contains the Tailscale state in `./ts/state` and the application data. The containers create some of these folders as root, so deleting them may need `sudo`. + +## Get help + +- Read the "Troubleshooting" section of the service README, and check the logs with `docker compose logs`. +- Ask questions in the [Tailscale Discord](https://discord.gg/tailscale). +- Report a problem with a stack in a [GitHub issue](https://github.com/tailscale-dev/ScaleTail/issues/new/choose). + +## Tailscale Serve and Funnel -| ๐Ÿฅ˜ Service | ๐Ÿ“ Description | ๐Ÿ”— Link | -| --------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------ | -| ๐Ÿฅ˜ **Kitchenowl** | A self-hosted smart grocery list and recipe manager with features like expense tracking, weekly meal planner, rich recipe import options and OIDC support. | [Details](services/kitchenowl) | -| ๐Ÿฅ˜ **Mealie** | A self-hosted recipe manager and meal planner with features like shopping lists, scaling, and importing. | [Details](services/mealie) | -| ๐Ÿฅ˜ **Tandoor Recipes** | A self-hosted recipe manager that also serves as a meal planner that has features such as nutrient tracking, shopping lists, importing and AI. | [Details](services/tandoor) | +[Tailscale Serve](https://tailscale.com/kb/1312/serve) routes traffic from other devices in your Tailnet to a service on one device. [Tailscale Funnel](https://tailscale.com/kb/1223/funnel) routes traffic from the public internet to that service, so people without Tailscale can reach it. -## Tailscale Information +Stacks that use Serve keep Funnel off (`"AllowFunnel":{"$${TS_CERT_DOMAIN}:443":false}` in `compose.yaml`), so they are reachable from your Tailnet only. Umami has an opt-in public mode; see its README. -### Tailscale Funnel vs. Tailscale Serve +To make a service reachable from the internet: -Tailscale Funnel securely exposes services to the public internet. Tailscale Serve is for sharing content within a private Tailscale network (Tailnet). You'll need to decide how you want to expose the service, the configurations in this repository exposes the local Tailnet. +1. Add `funnel` to `nodeAttrs` in your Tailnet policy file for the device, as described in [Tailscale Funnel](https://tailscale.com/kb/1223/funnel). +2. In `compose.yaml`, change `false` to `true` in the `AllowFunnel` line. +3. Recreate the stack with `docker compose up -d --force-recreate`. -### Tailscale Funnel +Funnel is in beta and listens only on ports 443, 8443, and 10000. It requires MagicDNS and HTTPS certificates, as in the Quick Start. Anyone on the internet can then reach the application, so turn on its login first. -[Tailscale Funnel](https://tailscale.com/kb/1223/funnel) is a feature that lets you route traffic from the internet to a local service running on a machine in your Tailscale network (known as a Tailnet). You can think of this as publicly sharing a local service, like a web app, for anyone to accessโ€”even if they donโ€™t have Tailscale themselves. +![Diagram of Tailscale Funnel: a client on the public internet reaches a controlled gateway, which exposes one service in the Tailnet, while private services get no access.](images/tailscale-funnel.png) -![Tailscale Funnel](images/tailscale-funnel.png) +![Diagram of Tailscale Serve: a Tailnet node reaches a lightweight web service through Serve with private access only. Funnel, shown separately, is the only part that publishes a service to the public internet.](images/tailscale-serve.png) -### Tailscale Serve +## Documentation -[Tailscale Serve](https://tailscale.com/kb/1312/serve) is a feature that lets you route traffic from other devices on your Tailscale network (known as a Tailnet) to a local service running on your device. You can think of this as sharing the service, such as a website, with the rest of your Tailnet. +In this repository: -![Tailscale Serve](images/tailscale-serve.png) +- [The standard ScaleTail setup](documentation/standard-setup.md) +- [Free up port 53 on the Docker host](documentation/free-up-port-53.md) +- [Install Tailscale on an OpenPLi set-top box (without Docker)](documentation/tailscale-on-arm.md) -## Tailscale Documentation +From Tailscale: -- [Tailscale.com - Knowledge Base](https://tailscale.com/kb) -- [Tailscale.com - Funnel](https://tailscale.com/kb/1223/funnel) -- [Tailscale.com - Serve](https://tailscale.com/kb/1242/tailscale-serve) -- [Tailscale.com - Docker Tailscale Guide](https://tailscale.com/blog/docker-tailscale-guide) -- [Tailscale - for ARM / OpenPli Setupbox](documentation/tailscale-on-arm.md) +- [Tailscale documentation](https://tailscale.com/kb) +- [Docker](https://tailscale.com/kb/1282/docker) and its [configuration parameters](https://tailscale.com/docs/features/containers/docker/docker-params) +- [Tailscale Serve](https://tailscale.com/kb/1312/serve) +- [Tailscale Funnel](https://tailscale.com/kb/1223/funnel) +- [A deep dive into using Tailscale with Docker](https://tailscale.com/blog/docker-tailscale-guide) ## Contributors -A huge thank you to all our contributors! ScaleTail wouldnโ€™t be what it is today without your time, effort, and ideas! +A huge thank you to all our contributors! ScaleTail wouldn't be what it is today without your time, effort, and ideas! - ScaleTail contributors Made with [contrib.rocks](https://contrib.rocks). - ## Contributing See [CONTRIBUTING.md](CONTRIBUTING.md) for guidance on adding services with the [template](templates/service-template/) to keep Tailscale-sidecar setups consistent. -## Star History +## Star history -[![Star History Chart](https://star-history.dera.page/svg?repos=tailscale-dev/scaletail&type=Date)](https://star-history.dera.page/#tailscale-dev/scaletail&Date) +[![Star History Chart](https://api.star-history.com/svg?repos=tailscale-dev/scaletail&type=Date)](https://star-history.com/#tailscale-dev/scaletail&Date) ## License -[MIT](https://choosealicense.com/licenses/mit/) +[MIT](LICENSE) diff --git a/services/filebrowser/README.md b/services/filebrowser/README.md index 1ef8335f..f7b3f79f 100644 --- a/services/filebrowser/README.md +++ b/services/filebrowser/README.md @@ -2,6 +2,8 @@ [File Browser](https://filebrowser.org/) is a file manager for the browser. You upload, download, preview, rename, edit, and share the files of one folder on your server. +Upstream has archived the project. It gets no further releases and no security fixes, and upstream lists known unaddressed security issues in its README. The command runner has been off by default since File Browser v2.33.8. Keep it off, and do not enable Tailscale Funnel for this stack. + This stack runs File Browser with a Tailscale sidecar, as described in [the standard setup](../../documentation/standard-setup.md). ## At a glance @@ -40,5 +42,5 @@ The log line with the password looks like this: ## Links -- [File Browser documentation](https://filebrowser.org/) +- [File Browser documentation](https://github.com/filebrowser/filebrowser/tree/master/docs) - [File Browser source code](https://github.com/filebrowser/filebrowser) diff --git a/services/nessus/README.md b/services/nessus/README.md index 15d79753..340ee793 100644 --- a/services/nessus/README.md +++ b/services/nessus/README.md @@ -2,7 +2,7 @@ [Nessus](https://www.tenable.com/products/nessus) is a vulnerability scanner. It scans the systems in your network and reports vulnerabilities, configuration errors, and compliance issues. -[Nessus Essentials](https://www.tenable.com/products/nessus/nessus-essentials) is free for personal use and scans up to 16 IP addresses. +[Nessus Essentials](https://www.tenable.com/products/nessus/nessus-essentials) is a free license for personal use. It covers up to 5 IP addresses, has a 30-day license, gets plugin updates 30 days late, and cannot export reports. Check the page for the current terms. This stack runs Nessus with a Tailscale sidecar, as described in [the standard setup](../../documentation/standard-setup.md).