Docker Gems: Tools That Actually Earn Their Keep
Docker Gems: Tools That Actually Earn Their Keep
In this post, you'll find a list of Docker containers that I personally find to be very useful to always have running. In case you never heard of Docker, this content is probably not for you. I'm going to assume that you're already somewhat familiar with Docker, and have it running on whatever OS you're using. I also assume that you're not afraid to use the command line or console to enter some commands, and that you know how to work with a Docker compose file to start an instance.
For most of the items on the list below, I included a basic method, that I copied from the official documentation, to run the particular instance. This can be a one-liner command that you only need to copy & paste, and in some cases I simply show a link to a docker-compose file example in the official documentation. Please keep in mind that these "getting started" methods are often the most basic, and perhaps limited way to run them, while many options that you can customize are there for you to change. I strongly advise you to check out the link that I included to the official pages so you can find out what options you can edit, and how to do so.
Here's a jump list to all the Docker gems in this post:
Uptime-Kuma
Think of this as your own personal IT watchdog. It sits quietly in the background, barking only when something goes wrong. Whether it's your website, a home server, or even your smart coffee machine, Uptime-Kuma gives you peace of mind without all the noise. Check out a live demo over here.
docker run -d --restart=unless-stopped -p 3001:3001 -v uptime-kuma:/app/data --name uptime-kuma louislam/uptime-kuma:1
Why it's a gem: Simple, lightweight, and does exactly what it promises - monitors your services and alerts you when they're down. Perfect for both personal projects and small business monitoring.
ConvertX
Ever had a file that just won't cooperate? ConvertX is that friend who speaks every format's language. It's fast, reliable, and saves you from hours of "why won't this open?" frustration. Supports 1000+ formats.
docker run -p 3000:3000 -v ./data:/app/data ghcr.io/c4illin/convertx
Why it's a gem: File conversion can be a nightmare, but ConvertX makes it painless. Whether you need to convert documents, images, or media files, this tool has you covered without the need for multiple specialized applications.
UpSnap
Self-hosted Wake-on-LAN has never looked so clean. UpSnap lets you power up your machines from anywhere, whether you're on the couch or halfway across the world. It's like having a remote control for your entire network.
Docker Compose: View the official docker-compose.yml file
Why it's a gem: Power management is crucial for energy efficiency and remote access. UpSnap provides a beautiful, simple interface to wake up any machine on your network, saving you from running to the computer room or leaving machines on 24/7.
Gotify
Push notifications without the big tech middleman. Gotify keeps you instantly updated, whether it's your server screaming for attention or your scripts giving a thumbs up. Minimal fuss, maximum awareness.
docker run -p 80:80 -v /var/gotify/data:/app/data gotify/server
Why it's a gem: In a world where every service wants to send notifications through different channels, Gotify provides a unified, self-hosted solution. It's lightweight, fast, and gives you complete control over your notification system.
Web-Shot
Need a quick snapshot of a webpage? Web-Shot makes it effortless. Perfect for archiving, sharing, or just proving that something really did look that ugly before the redesign.
docker run -it -d -p 3000:3000 -e PASSWORD_PROTECT=1 -e PASSWORD=YOURPASSWORD flowko1/website-shot
Why it's a gem: Sometimes you need to capture how a webpage looks at a specific moment. Whether for documentation, design reference, or just keeping a visual record, Web-Shot provides a simple, reliable way to take screenshots of any webpage.
ArchiveBox
The internet forgets, but you don't have to. ArchiveBox is your digital time capsule, letting you save entire pages, videos, and content for when they inevitably disappear. Basically, you can run your own internet archive with this tool. It's the librarian of your self-hosted world. Take a look at a live demo here.
Docker Compose: View the official docker-compose.yml file
Why it's a gem: Link rot is real, and important content disappears from the web every day. ArchiveBox gives you the power to preserve digital content, creating your personal archive of the web that you control completely.
YoutubeDL-Material
Sometimes you just need that video from YouTube offline. Or maybe you just want to extract the audio from a YouTube video? YoutubeDL-Material wraps the powerful youtube-dl tool in a slick, easy interface, turning "I wish I saved that" into "I already did." This is probably the easiest tool to download content from YouTube.
Here's what I used for my docker-compose.yml file:
services:
ytdl_material:
environment:
ytdl_use_local_db: 'true'
write_ytdl_config: 'true'
restart: unless-stopped
volumes:
- youtubedl-material/appdata:/app/appdata
- youtubedl-material/audio:/app/audio
- youtubedl-material/video:/app/video
- youtubedl-material/subscriptions:/app/subscriptions
- youtubedl-material/users:/app/users
ports:
- "17442:17442"
image: tzahi12345/youtubedl-material:latest
Official template: View the official docker-compose.yml file
Why it's a gem: Content preservation and offline access are increasingly important. This tool provides a beautiful, feature-rich interface for downloading and organizing YouTube content, complete with subscription management and user accounts.
n8n
Automation without the cloud tax. n8n is like having a personal assistant that connects all your apps and services, building clever workflows without handing your data to someone else. This tool is very powerful, if you know how to use it. It's easy to learn, and many things are very intuitive. When combined with a local running AI, like Ollama, it can be greatly enhanced to automatically take care of a wide variety of tasks for you.
Build your own workflows, or use any of the pre-built, importable workflows, that can be found here. n8n has built in connectivity for many platforms, like Discord, Telegram, WhatsApp, Most Google services, OpenAI or any other AI, Slack, WordPress, and many more. This very website is actually maintained by n8n for all its updates and some other things. I'm a huge fan of n8n! It's truly an awesome tool.
docker volume create n8n_data
docker run -it --rm --name n8n -p 5678:5678 -v n8n_data:/home/node/.n8n docker.n8n.io/n8nio/n8n
Why it's a gem: Automation shouldn't require cloud subscriptions or giving up your data. n8n provides a powerful, self-hosted alternative to services like Zapier or IFTTT, with an incredible number of integrations and a visual workflow builder that makes complex automation accessible.
Open-WebUI
AI shouldn't feel like a black box. Open-WebUI gives your models a friendly face, making them accessible and easy to interact with, whether you're experimenting or building something big.
Open-WebUI is an extensible, feature-rich, and user-friendly self-hosted AI platform designed to operate entirely offline. It supports various LLM runners like Ollama and OpenAI-compatible APIs, with built-in inference engine for RAG, making it a powerful AI deployment solution.
docker run -d -p 8080:8080 -v open-webui:/app/backend/data --name open-webui ghcr.io/open-webui/open-webui:main
Why it's a gem: As AI becomes more important, having control over your AI interfaces is crucial. Open-WebUI provides a beautiful, ChatGPT-like interface for local AI models, making it easy to experiment with and deploy AI capabilities without relying on external services.
Watchtower
With Watchtower you can update the running version of your containerized app simply by pushing a new image to the Docker Hub or your own image registry. Watchtower will pull down your new image, gracefully shut down your existing container and restart it with the same options that were used when it was deployed initially.
docker run --detach \
--name watchtower \
--volume /var/run/docker.sock:/var/run/docker.sock \
containrrr/watchtower
Why it's a gem: Keeping Docker containers updated can be a tedious task. Watchtower automates this process, ensuring your containers always run the latest versions without manual intervention. It's a set-it-and-forget-it solution for container maintenance.
Wrapping Up
That concludes my random list of favorite Docker apps. I'll probably add some more later. I hope some of you found it useful. These tools represent the best of what the Docker ecosystem has to offer - practical, well-maintained solutions that solve real problems while respecting your privacy and giving you control over your data.
What makes these tools special is that they each solve a specific problem elegantly, without unnecessary complexity or resource consumption. They're the kind of tools that, once you start using them, you wonder how you ever lived without them.
Quick Reference Summary
- Monitoring: Uptime-Kuma - Keep an eye on your services
- File Conversion: ConvertX - Convert between 1000+ formats
- Remote Power: UpSnap - Wake-on-LAN made simple
- Notifications: Gotify - Self-hosted push notifications
- Web Capture: Web-Shot - Take webpage screenshots
- Archiving: ArchiveBox - Your personal internet archive
- Media Download: YoutubeDL-Material - Download YouTube content
- Automation: n8n - Connect everything and automate
- AI Interface: Open-WebUI - Beautiful local AI interface
- Container Updates: Watchtower - Automatic container updates
Remember to always check the official documentation for each tool to explore advanced configuration options and stay updated with new features. The Docker ecosystem is constantly evolving, and these tools are regularly improved with new capabilities.
Till next time!
Fun Fact
The idea behind this post was to have an AI write some content, based on a list of my favorite Docker tools that I provided. But instead of writing a prompt, I started to write the introduction below, to give the AI something to start from. Unexpectedly I entered hyper-focus mode, continued writing while in the flow, and before I knew it, I had written the entire thing myself. I suppose this was my 100% the greenest way of using an AI, ever.
Have suggestions for other Docker gems that should be on this list? Feel free to leave a comment below!