Git Product home page Git Product logo

docker-home-infra's Introduction

docker-home-infra

This repo consists mainly in a docker-composed file ready to spin up a bunch of useful media, file-sharing, programming, web tools, databases... All the persistent data is stored in the ./config folder and Duplicati is provided in order to backup all data.

Screenshots

heimdall sceenshot

Organizr sceenshot

Tools included:

  • Traefik: Reverse proxy to be in front of all web services
  • Nextcloud: Nextcloud is the most deployed on-premises file share and collaboration platform.
  • MariaDB: Database required by nextcloud
  • Organizr: Organizr allows you to setup "Tabs" that will be loaded all in one webpage.
  • Pi-hole: The Pi-hole® is a DNS sinkhole that protects your devices from unwanted content, without installing any client-side software.
  • Heimdall: Heimdall Application Dashboard is a dashboard for all your web applications.
  • Calibre: calibre is a powerful and easy to use e-book manager
  • Calibre-web: Calibre-Web is a web app providing a clean interface for browsing, reading and downloading eBooks using an existing Calibre database.
  • Portainer: allows you to easily build, manage and maintain Docker environments.
  • Netdata: Instantly diagnose slowdowns and anomalies in your infrastructure with thousands of metrics, interactive visualizations, and insightful health alarms.
  • Guacamole: clientless, web-based remote desktop gateway. It supports standard protocols like VNC, RDP, and SSH.
  • Transmission: BitTorrent client.
  • Restyaboard: Kanban board, management tool.
  • Duplicati: Backup tool
  • Postgresql: Database needed for Restyaboard
  • Adminer: Database management tool.
  • Bazarr, Sonarr, Radarr, Lidarr: download managers
  • Jackett: indexer scrapping
  • Plex: Media file organizer and streamer.
  • Watchtower: A process for automating Docker container base image updates.
  • Duplicati: Free backup software to store encrypted backups online. Configured to backup the persistent data of the other containers.
  • sftp: FTP server
  • Postfix: Mail sender
  • HomeAssistant: Open source home automation that puts local control and privacy first. Powered by a worldwide community of tinkerers and DIY enthusiasts.
  • OpenHab: a vendor and technology agnostic open source automation software for your home.

Prerequisites:

- Some domain
- Docker installed
- Docker-compose installed

Installation

  1. Create docker network
    docker network create nextcloud_network
  2. Setup the credentials and storage path in .env file
  3. Launch docker compose setup
    docker-compose up -d

Post-instalation configuration

  1. First, disable and stop Ubuntu's DNS resolver using the following two commands, otherwise pi-hole can't start because port 53 will be in use:

    sudo systemctl disable systemd-resolved.service
    sudo systemctl stop systemd-resolved.service

    Open network manager configuration using the following command for editing:

    sudo nano /etc/NetworkManager/NetworkManager.conf

    Add dns=default under [main] so that the file contents look like what is shown below:

    	[main]
    	plugins=ifupdown,keyfile
    	dns=default
    

    Then, remove or even better rename /etc/resolv.conf file (it is a symbolic link) using the the following command:

    sudo mv /etc/resolv.conf /etc/resolv.conf.bak
    
    restart your network manager using the following command.
    
    sudo service network-manager restart
  2. Set your domain as trusted domain on Nextcloud config If you try to access your nextcloud instance right now, you will receive a message telling that this is not a trusted domain. To fix this you should setup your domain in two parameters of the file "app/config/config.php": first one under 'trusted_domains' => and the other one at 'overwrite.cli.url'

    Setting up External Storage

    'check_data_directory_permissions' => false,
    

    Needed to go through the reverse proxy:

    ‘overwriteprotocol’ => ‘https’,
    
  3. IMPORTANT: Remember to setup passwords at first deployment to sonarr, radarr and lidarr, otherwise they will be exposed to the internet without password.

docker-home-infra's People

Contributors

mpascu avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.