Skip to content

A comprehensive Docker Compose stack for securing home servers, featuring Authelia, CrowdSec, Traefik, DIUN, Portainer, Watchtower, and Homepage.

License

Notifications You must be signed in to change notification settings

TenovanDigital/ServerSecurityStack

Repository files navigation

Contributors Forks Stargazers Issues License

Server Security Stack

A comprehensive Docker Compose stack for securing home servers with Authelia, CrowdSec, Traefik, and more.
View YouTube Tutorial Series · Report Bug · Request Feature

Table of Contents
  1. About The Project
  2. Built With
  3. Getting Started
  4. Usage
  5. License
  6. Contact

About The Project

Server Security Stack Screen Shot

ServerSecurityStack is a comprehensive Docker Compose stack designed to help home server owners secure their environment. This stack combines several best-in-class security applications that work together seamlessly to protect your server from unauthorized access and malicious activities.

This stack provides:

  • Secure authentication with Authelia
  • Real-time threat detection with CrowdSec
  • Automated container updates with Watchtower
  • Reverse proxy with SSL/TLS using Traefik
  • Monitoring and management through Portainer and Diun
  • A customizable dashboard with Homepage

You can use this stack as a foundation and add your favorite applications while maintaining strong security controls. The comprehensive security layer ensures that only authorized users and services can access your server, even when exposed to the internet.

Built With

The following applications are included in this stack:

Authelia CrowdSec Traefik Socket Proxy Portainer Watchtower DIUN Homepage

Getting Started

This repository contains the complete Docker Compose stack for server security, but it doesn't contain all of the extra steps to secure your server such as:

  • Setting a Static IP
  • Installing and configuring Uncomplicated Firewall (UFW)
  • Generating Authelia encryption secrets
  • Setting up Authelia user account
  • Adding Traefik as a CrowdSec bouncer
  • Updating Traefik config.yml and traefik.yml (See "# TODO:" comments)
  • Getting various api keys / access tokens for everything to report to Homepage

For a walkthrough setting all these up, please refer to our YouTube tutorial series:

Server Security Series on YouTube

Alternative: Automated Setup with Citadel

If you prefer a more streamlined and automated process, consider using Citadel, our automated setup script. Citadel handles the tedious configuration steps for you, reducing errors and saving time. All you need to do is:

  • Complete a few initial configurations
  • Create Portainer Access Token for Homepage to use (Couldn't automate this)
  • Import CrowdSec Cyber Threat Insights dashboard into Grafana (Couldn't automate this)

Plus Citadel sets up a bonus Grafana dashboard for CrowdSec that is not included in this repository. While you'll have to do the final import, Citadel sets up everything the dashboard needs for you.

Learn More About Citadel:

Citadel: Your Fortress for Home Server Security

Prerequisites

  • Configurations for the server to use:
    • Custom domain name to access the server
    • Email address(es) for notifications and SSL certification generation
    • Email Relay to send emails
  • Basic understanding of Docker and Docker Compose
  • Basic familiarity with terminal usage
  • A server with internet access

Usage

This Server Security Stack is designed to help you protect your home server while maintaining accessibility and functionality. Here are some common use cases and reasons why you'd want to use this stack:

Why Secure Your Server?

  • Access from anywhere: Safely access your server resources from any location using secure authentication and encryption.
  • Protect sensitive data: Keep your personal files, media, and applications safe from unauthorized access and malicious attacks.
  • Host multiple services: Add additional applications like:
    • Media servers (Plex, Emby)
    • Automation tools (N8n, Home Assistant)
    • Local AI services
    • Custom web pages and apps
    • File servers (Nextcloud, Filebrowser)
  • Peace of mind: Know that your server is protected by enterprise-grade security tools while still being accessible for legitimate use.

License

Distributed under the MIT License. See LICENSE for more information.

Contact

Tenovan Digital LLC - https://digital.tenovan.com - [email protected]

Project Link: https://github.com/TenovanDigital/ServerSecurityStack

If you have questions or need help, feel free to ask in the repository's Discussions section or refer to our YouTube tutorials.

Acknowledgments

Special thanks to:

  • The Docker community
  • Authelia team
  • CrowdSec developers
  • Traefik maintainers
  • And all other open-source contributors who made this stack possible

About

A comprehensive Docker Compose stack for securing home servers, featuring Authelia, CrowdSec, Traefik, DIUN, Portainer, Watchtower, and Homepage.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published