Skip to content

stfnhh/homelab-docker

Repository files navigation

Home Lab Docker Compose Repository

Overview

This repository contains various Docker Compose files for configuring and managing a home lab environment. The services included in this repository provide media streaming, cloud storage, download management, and more.

Included Services

The following services are configured within this repository:

  • Aria2 - A lightweight multi-protocol & multi-source download utility.
  • FileGator - A web-based file manager for self-hosted solutions.
  • Heimdall - A dashboard for organizing web applications and services.
  • Invidious - A privacy-respecting alternative frontend for YouTube.
  • Jellyfin - A media server for streaming movies, TV shows, and music.
  • Minio - A high-performance object storage solution.
  • Portainer - A web interface for managing Docker environments.
  • Postgres - A powerful, open-source relational database.
  • Traefik - A modern reverse proxy and load balancer.

Hosts

This home lab is designed to run in a Docker Swarm environment and currently operates on the following hardware:

  • 2x HP 600 G2 Micro Computer Mini Tower PCs
    • CPU: Intel Quad Core i5-6500T
    • RAM: 16GB DDR4
    • Storage: 256GB NVMe SSD + 2TB HDD

Deployment Script

This repository includes a Bash script to streamline the deployment of services.

Usage

Run the script without arguments to deploy all services:

./deploy.sh

To deploy a specific service, provide its name as an argument:

./deploy.sh <service_name>

For example, to deploy Jellyfin:

./deploy.sh jellyfin

How It Works

  • If no argument is provided, the script iterates over all .yaml files in the directory and deploys each service.
  • If a specific service name is provided, it deploys only that service using its respective YAML file.
  • The deployment occurs via Docker Stack over SSH to the target machine.

Requirements

Ensure you have the following installed and configured before deploying:

  • Docker
  • Docker Compose
  • SSH access to the target machine
  • Properly configured YAML files for each service

License

This project is licensed under the MIT License.

Contributions

Feel free to open issues or submit pull requests to improve this repository.

About

Docker compose files for legacy homelab setup.

Topics

Resources

Stars

Watchers

Forks

Languages