# jamesturland/jimsgarage

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/jamesturland-jimsgarage).**

4,439 stars · 848 forks · Shell

## Links

- GitHub: https://github.com/JamesTurland/JimsGarage
- awesome-repositories: https://awesome-repositories.com/repository/jamesturland-jimsgarage.md

## Description

JimsGarage is a collection of shell scripts and automation tools designed to help individuals deploy and manage a wide range of self-hosted services on their own hardware. It provides a structured approach to setting up containerized applications, from media servers and document management systems to VPNs and monitoring stacks, all through automated Docker-based configurations.

The project distinguishes itself by offering a comprehensive library of deployment recipes that cover the full lifecycle of a home server environment. This includes not just the services themselves, but also the supporting infrastructure such as reverse proxies with automatic SSL, authentication portals, DNS-level ad blocking, and secure remote access through WireGuard or mesh VPNs. It also addresses hardware-specific needs like GPU passthrough for transcoding or compute workloads, and integrates with cloud storage for backup and synchronization.

Beyond individual service deployment, JimsGarage provides tools for orchestrating multi-node Docker Swarm clusters, managing DNS records, and setting up monitoring dashboards to track service health. The collection also covers specialized use cases like video surveillance with AI object detection, Zigbee home automation bridges, and self-hosted identity providers for single sign-on across services. The documentation and scripts are organized to guide users through each deployment step, from initial server setup to ongoing maintenance and updates.

## Tags

### Development Tools & Productivity

- [Self-Hosted Authentication Gateways](https://awesome-repositories.com/f/development-tools-productivity/developer-portals/portal-authentication/self-hosted-authentication-gateways.md) — Provides scripts to deploy a self-hosted authentication portal with single sign-on and two-factor authentication for securing internal web services. ([source](https://github.com/JamesTurland/JimsGarage/tree/main/Authelia))
- [Portal Authentication](https://awesome-repositories.com/f/development-tools-productivity/developer-portals/portal-authentication.md) — Sets up a web-based login gateway that authenticates users before they access other self-hosted services. ([source](https://github.com/JamesTurland/JimsGarage/tree/main/Tinyauth))
- [Document Management Systems](https://awesome-repositories.com/f/development-tools-productivity/documentation-discovery-metadata/knowledge-documentation-management/documentation-knowledge-tools/documentation-generators/document-management-systems.md) — Automates the deployment of Paperless-ngx for document ingestion, classification, and search. ([source](https://github.com/JamesTurland/JimsGarage/tree/main/Paperless-ngx))

### DevOps & Infrastructure

- [Containerized Reverse Proxy Infrastructure](https://awesome-repositories.com/f/devops-infrastructure/containerized-reverse-proxy-infrastructure.md) — Sets up Caddy as a containerized reverse proxy to route external traffic to internal services with automatic TLS. ([source](https://github.com/JamesTurland/JimsGarage/tree/main/BunkerWeb))
- [Containerized Service Deployment](https://awesome-repositories.com/f/devops-infrastructure/containerized-service-deployment.md) — Automates the installation and configuration of Docker-based server services on personal hardware. ([source](https://github.com/JamesTurland/JimsGarage/blob/main/README.md))
- [Containerized Service Deployments](https://awesome-repositories.com/f/devops-infrastructure/containerized-service-deployments.md) — Runs pre-configured sets of containerized services from a single compose file. ([source](https://github.com/JamesTurland/JimsGarage/tree/main/Checkmate))
- [Containerized Service Orchestration](https://awesome-repositories.com/f/devops-infrastructure/containerized-service-orchestration.md) — Manages the setup and coordination of containerized server services and administrative tools on personal hardware. ([source](https://github.com/JamesTurland/JimsGarage/blob/main/README.md))
- [Docker Swarm Orchestration](https://awesome-repositories.com/f/devops-infrastructure/docker-swarm-orchestration.md) — Provides shell scripts to initialize a multi-node Docker Swarm cluster for orchestrating containerized services. ([source](https://github.com/JamesTurland/JimsGarage/tree/main/Docker-Swarm))
- [Declarative Infrastructure Provisioning](https://awesome-repositories.com/f/devops-infrastructure/cloud-infrastructure-deployment/managed-infrastructure-deployment/infrastructure-deployment-provisioning/declarative-infrastructure-provisioning.md) — Provides scripts for provisioning infrastructure using Terraform declarative configuration files. ([source](https://github.com/JamesTurland/JimsGarage/tree/main/Terraform))
- [Self-Hosted Note-Taking Servers](https://awesome-repositories.com/f/devops-infrastructure/self-hosted-chat-servers/sync-servers/note-taking/self-hosted-note-taking-servers.md) — Provides a Docker Compose file to deploy a self-hosted hierarchical note-taking application for personal knowledge management. ([source](https://github.com/JamesTurland/JimsGarage/tree/main/Trilium))
- [Self-Hosted Git Services](https://awesome-repositories.com/f/devops-infrastructure/version-control-management/version-control-platforms/self-hosted-git-services.md) — Provides scripts to deploy a self-hosted Git repository server with a web interface using Docker Compose. ([source](https://github.com/JamesTurland/JimsGarage/tree/main/Gitea))

### Networking & Communication

- [Reverse Proxies](https://awesome-repositories.com/f/networking-communication/reverse-proxies.md) — Sets up Traefik as a reverse proxy to route external traffic to internal containerized services. ([source](https://github.com/JamesTurland/JimsGarage/tree/main/Traefik))
- [Proxy Traffic Management](https://awesome-repositories.com/f/networking-communication/traffic-proxying/proxy-traffic-management.md) — Uses Traefik to direct incoming web requests to the correct containerized service. ([source](https://github.com/JamesTurland/JimsGarage/tree/main/Popup-Homelab))
- [Automated TLS Reverse Proxies](https://awesome-repositories.com/f/networking-communication/traffic-proxying/proxy-traffic-management/automated-tls-reverse-proxies.md) — Sets up Traefik as a reverse proxy that automatically provisions TLS certificates for secure connections to containerized services. ([source](https://github.com/JamesTurland/JimsGarage/tree/main/Traefik-Secure))
- [WireGuard VPN Orchestrators](https://awesome-repositories.com/f/networking-communication/wireguard-vpn-orchestrators.md) — Automates the deployment of a WireGuard VPN server using Docker Compose for secure remote access to a home network. ([source](https://github.com/JamesTurland/JimsGarage/tree/main/Wireguard))
- [Domain-Based Routing](https://awesome-repositories.com/f/networking-communication/network-infrastructure-routing/network-infrastructure-configuration/network-and-server-infrastructure/domain-name-system-services/domain-based-routing.md) — Directs incoming requests to the correct backend service based on the requested domain name. ([source](https://github.com/JamesTurland/JimsGarage/tree/main/Traefik))
- [DNS-Based Ad Blockers](https://awesome-repositories.com/f/networking-communication/network-infrastructure-routing/network-infrastructure-configuration/network-infrastructure/dns-based-ad-blockers.md) — Sets up Pi-hole in a Docker container to block advertisements and trackers across all devices on a home network. ([source](https://github.com/JamesTurland/JimsGarage/tree/main/Piholev6))
- [Mesh VPN Coordination Servers](https://awesome-repositories.com/f/networking-communication/vpn-infrastructure/personal-vpn-deployments/mesh-vpn-coordination-servers.md) — Sets up a self-hosted Tailscale-compatible coordination server using Headscale for secure peer-to-peer networking. ([source](https://github.com/JamesTurland/JimsGarage/tree/main/Headscale))
- [Mesh VPN Coordination Servers](https://awesome-repositories.com/f/networking-communication/wireguard-vpn-orchestrators/mesh-vpn-coordination-servers.md) — Deploys a Headscale coordination server that manages WireGuard peers for a private mesh overlay network. ([source](https://github.com/JamesTurland/JimsGarage/tree/main/Headscale2))

### Security & Cryptography

- [Self-Hosted Identity Providers](https://awesome-repositories.com/f/security-cryptography/self-hosted-identity-providers.md) — Provides scripts to deploy a containerized identity provider for managing users and single sign-on across self-hosted services. ([source](https://github.com/JamesTurland/JimsGarage/tree/main/Pocket-ID))
- [SSL/TLS Certificate Management](https://awesome-repositories.com/f/security-cryptography/cryptography/ssl-tls-certificate-management.md) — Configures SSL certificates to encrypt traffic between clients and proxied services. ([source](https://github.com/JamesTurland/JimsGarage/tree/main/Nginx))
- [Reverse Proxy Authentication](https://awesome-repositories.com/f/security-cryptography/reverse-proxy-authentication.md) — Integrates an identity-aware proxy that validates user sessions before routing traffic to backend container services. ([source](https://github.com/JamesTurland/JimsGarage/tree/main/Authelia))
- [Cloudflare Tunnels](https://awesome-repositories.com/f/security-cryptography/secure-remote-connectivity-tools/secure-tunneling/cloudflare-tunnels.md) — Routes external traffic through a Cloudflare tunnel to expose local services without opening firewall ports. ([source](https://github.com/JamesTurland/JimsGarage/tree/main/Cloudflare-HTTPS))
- [SSL Certificate Automation](https://awesome-repositories.com/f/security-cryptography/ssl-certificate-automation.md) — Automates the provisioning and renewal of Let's Encrypt SSL certificates for all proxied services. ([source](https://github.com/JamesTurland/JimsGarage/tree/main/Traefik))
- [Web Application Firewalls](https://awesome-repositories.com/f/security-cryptography/web-application-firewalls.md) — Ships a containerized web application firewall to inspect and filter HTTP traffic before it reaches protected services. ([source](https://github.com/JamesTurland/JimsGarage/tree/main/SafeLine))

### Artificial Intelligence & ML

- [Video Surveillance Systems](https://awesome-repositories.com/f/artificial-intelligence-ml/video-surveillance-systems.md) — Automates the deployment of Frigate as a containerized NVR with AI object detection. ([source](https://github.com/JamesTurland/JimsGarage/tree/main/Frigate))

### Part of an Awesome List

- [Self-Hosted Photo Platforms](https://awesome-repositories.com/f/awesome-lists/media/anime-and-manga/self-hosted-servers/photo-server-managers/self-hosted-photo-platforms.md) — Provides a Docker Compose file to deploy a self-hosted photo management platform for private photo storage and sharing. ([source](https://github.com/JamesTurland/JimsGarage/tree/main/Ente))

### Content Management & Publishing

- [Media Servers](https://awesome-repositories.com/f/content-management-publishing/media-management/media-servers.md) — Provides a script to deploy a Plex media server for streaming personal media collections. ([source](https://github.com/JamesTurland/JimsGarage/tree/main/Plex))

### System Administration & Monitoring

- [Uptime Dashboard Deployments](https://awesome-repositories.com/f/system-administration-monitoring/monitoring-and-observability/observability-platforms/availability-uptime-trackers/service-uptime-monitors/uptime-dashboard-deployments.md) — Deploys a containerized uptime monitoring service with a web dashboard to track service availability. ([source](https://github.com/JamesTurland/JimsGarage/tree/main/UptimeKuma))
- [Observability Stack Deployments](https://awesome-repositories.com/f/system-administration-monitoring/observability-stack-deployments.md) — Launches Prometheus, Grafana, and Telegraf containers to collect and visualize system metrics from self-hosted services. ([source](https://github.com/JamesTurland/JimsGarage/tree/main/Grafana-Monitoring))
- [Server Health Monitoring](https://awesome-repositories.com/f/system-administration-monitoring/server-health-monitoring.md) — Sets up Checkmk as a containerized service to monitor infrastructure health and alert on issues. ([source](https://github.com/JamesTurland/JimsGarage/tree/main/Checkmk))
