Show HN: Hermes – Self-hosted video downloader

2 days ago 3

🎥 Download videos from YouTube and 1000+ sites with a robust API and beautiful, modern interface

Hermes is a self-hosted video downloader built on yt-dlp.

This tool is designed for content creators who wish to lawfully use freely available media under fair use (best explained by Tom Scott). Hermes does not endorse piracy, freebooting, or using downloads to bypass advertising.

hermes_demo.mp4
  • 🎥 Universal Support - Download from YouTube, Vimeo, TikTok, and 1000+ sites
  • Background Processing - Queue downloads and process them asynchronously
  • 🔒 Secure Authentication - JWT tokens with API key management
  • 🐳 Docker Ready - One-command deployment with Docker Compose

Docker Compose (Recommended)

# Clone the repository git clone https://github.com/techsquidtv/hermes.git cd hermes # Copy environment template (all environment variables are configured in the root .env file) cp .env.example .env # Edit .env and set a secure HERMES_SECRET_KEY nano .env # Start all services (includes Caddy reverse proxy) docker compose up -d

That's it! 🎉 Your Hermes instance will be available at:

For development with hot reload:

docker compose -f docker-compose.dev.yml up

Customizing the Reverse Proxy

The default setup uses Caddy as a reverse proxy. You can customize it by editing the Caddyfile:

nano Caddyfile # Add your domain for automatic HTTPS, custom routing, etc. docker compose restart proxy

See our Reverse Proxy Guide for integrating with existing setups (Traefik, nginx, etc.).

If you run into problems, please use our issue templates instead of generic issues:

These templates help us help you faster! 🚀

# Install dependencies pnpm install # Set up environment (all environment variables are configured in the root .env file) cp .env.example .env # Edit .env with your settings # Start development servers pnpm dev

We welcome contributions! Here's how to get involved:

Use our issue templates to report bugs and request features:

See our contribution guidelines for development setup, testing, and code standards.

See LICENSE for details.


This could be you! Bring Hermes to the world by hosting a public instance and getting featured here!

Read Entire Article