Running Tube Archivist: Self-Hosted YouTube Archive

YouTube videos disappear all the time. Channels get deleted, videos go private, content gets region-locked, and suddenly that tutorial or lecture you bookmarked six months ago is gone forever. Tube Archivist solves this by letting you build your own personal YouTube archive — complete with metadata, thumbnails, subtitles, and a slick search interface. What is Tube Archivist? Tube Archivist is an open-source, self-hosted YouTube media server. Think of it as Plex or Jellyfin, but specifically designed for YouTube content. It downloads videos using yt-dlp under the hood, indexes everything in Elasticsearch for fast full-text search, and presents it all through a clean web interface. ...

March 15, 2026 · 9 min · Self Host Setup

Self-Hosting Linkwarden: Bookmark Manager with AI

Bookmarks are broken. Browser bookmark folders turn into graveyards. Links rot. Pages disappear. You save something important and never find it again. Linkwarden fixes this by saving the actual content — not just the URL. It archives full pages, tags them with AI, and makes everything searchable. If the original page goes down, you still have it. Why Linkwarden? Full-page archiving — saves a copy of every page, not just the URL AI-powered tagging — automatically categorizes your bookmarks Full-text search — find anything by searching the page content Collections — organize bookmarks into shareable folders Collaboration — share collections with teams or family Browser extension — save links with one click PDF and screenshot capture — preserves pages in multiple formats RSS feed support — import from feeds automatically Prerequisites Docker and Docker Compose 1GB+ RAM (AI features use more) PostgreSQL (included in the compose file) Docker Setup mkdir -p ~/linkwarden && cd ~/linkwarden # docker-compose.yml version: "3.8" services: linkwarden: image: ghcr.io/linkwarden/linkwarden:latest container_name: linkwarden restart: unless-stopped ports: - "3000:3000" volumes: - linkwarden_data:/data/data environment: DATABASE_URL: postgresql://linkwarden:changeme_password@db:5432/linkwarden NEXTAUTH_SECRET: changeme_long_random_string NEXTAUTH_URL: http://localhost:3000 NEXT_PUBLIC_DISABLE_REGISTRATION: "false" ARCHIVING_ENABLED: "true" BROWSER_TIMEOUT: 15000 depends_on: - db db: image: postgres:16 container_name: linkwarden-db restart: unless-stopped volumes: - pgdata:/var/lib/postgresql/data environment: POSTGRES_USER: linkwarden POSTGRES_PASSWORD: changeme_password POSTGRES_DB: linkwarden volumes: linkwarden_data: pgdata: Generate proper secrets: ...

February 20, 2026 · 5 min · Self Host Setup