Giter Club home page Giter Club logo

home-server's Introduction

๐Ÿ  home-server

A repository to detail and document the general plan for my home server.

๐Ÿ–ฅ๏ธ specs

OS: Ubuntu Server (I don't particularly like this choice just because I think Arch has a larger install base for other tools I might need for a server (and Ubuntu has ads, boo), but because the server doesn't have too many demands (yet), this should do just fine)
CPU: Intel i5-3300 (4 cores @ 32.GHz)
RAM: 16GB
Motherboard: Veriton M6620G P21-A0
GPU: N/A
Main storage: 260GB HDD
Seconday storage: 10TB HDD
PSU: --

๐Ÿ› ๏ธ planning/staging area

Docker Best Practices

From servarr:
TL; DR: An eponymous user per daemon and a shared group with a umask of 002. Consistent path definitions between all containers that maintains the folder structure. Using one volume for Sonarr, Radarr and Lidarr so the download folder and library folder are on the same file system which makes hard links and instant moves possible. And most of all, ignore most of the Docker imageโ€™s path documentation!
I have read this so many times and it still takes me a minute to fully understand what it means.
Basically each Docker Container is its own user part of an overall docker group. This allows the containers to easily read and write files created by other containers but shield the containers from any outside program/file/folder.

PUID/PGID

We will use an arbitrary 123 for our group ID (PGID) and assign each container a PUID from 9000 to (9000 + n).

Permissions

For each containers corresponding folder (ex. ~/storage/media/tv for sonarr) we chown its owner to the PUID we set earlier and add it to our 123 docker PGID.

folder overview

storage
โ”œโ”€โ”€ torrents
โ”‚ โ”œโ”€โ”€ movies
โ”‚ โ”œโ”€โ”€ music
โ”‚ โ””โ”€โ”€ tv
โ”œโ”€โ”€ usenet
โ”‚ โ”œโ”€โ”€ movies
โ”‚ โ”œโ”€โ”€ music
โ”‚ โ””โ”€โ”€ tv
โ””โ”€โ”€ media
โ”œโ”€โ”€ movies
โ”œโ”€โ”€ music
โ”œโ”€โ”€ books
โ””โ”€โ”€ tv

Containers & Info

  • netdata / to view server hardware stats
  • samba / ftp for linux/Windows
  • sonarr / pvr for tv series
  • radarr / pvr for movies
  • qbittorrent / torrent client
  • homeassistant / for smart home development and management
  • tautulli / plex stats
  • jackett / torrent and usenet indexer
  • requestrr / chatbot (in discord) for requesting tv and movies
  • filebot / for managing and renaming media files
  • dozzle / docker container logs
  • duplicati / off-site and cloud backups
  • lidarr / pvr for music
  • unpackerr / this manages our sonarr/radarr/lidarr conatiners. technically, if we do every thing right, we wont need this container but I don't trust myself to do anything right
  • codeserver / remote vs code?? of course!
  • youtubedl / webui for YouTube DL
  • cloudcmd / filebrowser and shell
  • pyload / download client, might replace with jdownloader
  • nextcloud / **Google Drive alternative **
  • openvpnas / for routing containers through vpn
  • mylar3 / pvr for comics
  • nzbget / usenet download client
  • plex / media player
  • bazarr / subtitle fetching
  • heimdall / dashboard for containers
  • portainer / conatiner management tool
  • watchtower / automatically update conatiners

Docker .env Setup

Reverse Proxy

Port Forwarding

Home Assistant

Other apps

๐ŸŽฌ Setup

๐Ÿ” Security

๐Ÿ”ง Mainenance

๐Ÿ”ฎ Future Upgrades

home-server's People

Contributors

nana-boateng avatar

Stargazers

 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.