Code Monkey home page Code Monkey 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

Watchers

 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.