Skip to content

shariqh/home-server-docker-compose

Repository files navigation

Getting Started

Each docker-compose will have its own section below to help with getting started as needed.


  1. In general you'll need to add your environment variables either in the shell or in your /etc/environment file and source it or restart your box. Otherwise you can always hardcode them in the docker-compose files.

Sample /etc/environement

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin"

# user added variables
export TZ='America/Chicago'
export DUCKDNS_URL='shariq-dev.duckdns.org'
export DUCKDNS_TOKEN='{enter your token here}'
export ELASTICSEARCH_USERNAME='elastic'
export ELASTICSEARCH_PASSWORD='MagicPassword'

Sourcing from an updated file

source /etc/environment
  1. Now you can clone down the repository with HTTPS or SSH if you've set up your key

Cloning with SSH

git clone https://github.com/shariqh/home-server-docker-compose.git
  1. Navigate to your newly cloned repo and run docker-compose up -d to run the file names docker-compose.yml. You'll need to specify the filename otherwise

Running a specific docker-compose file

docker-compose -f media-compose.yml up -d

P.S. use the containerupdater.sh to automatically keep your images up to date. Schedule a cronjob for ease of use

docker-compose.yml

This is the base infrastructure using SWAG, DuckDNS, and Duplicati

Swag (Secure Web Application Gateway)

A combination of Nginx, Certbot, PHP, and Fail2Ban. Check out the SWAG starter guide. P.S. it used to be called letsencrypt. Here's the SWAG Docker image documentation.

Nginx

Reverse proxy

Certbot

Free, auto-renewing SSL

PHP

Hosting webpages

Fail2ban

Intrustion prevention, since you're exposed... to the internet

DuckDNS

Since my WiFi router does not support Dynamic DNS, I use DuckDNS to bind my public IP to a DuckDNS DNS and then use the DuckDNS Docker image to update my public DNS to DuckDNS every five minutes.

Authelia

Coming soon, maybe... 2FA with https://github.com/authelia/authelia

media-compose.yml

Coming Soon

Plex Here's the documentation: https://hub.docker.com/r/linuxserver/plex This is important: https://docs.docker.com/network/host/

[Transmission + OpenVPN]https://github.com/haugene/docker-transmission-openvpn) And docs: https://haugene.github.io/docker-transmission-openvpn/run-container/

Tautulli

op-compose.yml

Used to set up 1Password Secrets Automation. First, you'll need to follow this guide and manually copy the 1password-credentials.json over. More detailed instuctions can be found on the official github repo.

About

A host of docker-compose files to set up stuff the way I like. Now with comments!

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages