Skip to content

aitorllj93/domus

Repository files navigation

Domus

Domus Screenshot

Domus is a highly opitionated distribution of docker-compose files to deploy a home server with a single command.

Features

Some of the features included are:

Administration

Productivity

Entertainment

Pre-requisites

Running Setup

npx @central-factory/domus
# or
npm i -g @central-factory/domus
domus

Installing Applications

You can pass the -a flag to the setup command to directly install a set of applications.

domus -a Books,Audiobooks

Custom Setup

First of all, you need a copy of this repository.

npx degit aitorllj93/domus my-domus
cd my-domus
npm install
npm link

You can modify the templates in portainer/templates folder to fit your needs. You can also customize the default applications to install in lib/node/constants.js.

Then, you can run the setup with:

domus

Specification

Domus encourages some patterns found in other similar projects such as CasaOS to make the setup and integrations as easy as possible.

Docker Compose

The docker-compose files are located in the portainer/templates folder. Each service has its own folder with the docker-compose.yml file and optionally a data folder for the persistent data.

docker-compose.yml

The docker-compose file is a standard docker-compose file with some extra features under the x-domus keys.

Volumes

All the volumes are mounted under the /DATA folder in the host machine.

Config & Databases

Config and databases are stored in the /DATA/AppData folder, with the name of the service as the folder name.

Media

Media is stored in the /DATA/Media folder, and structured based on the type of media.

  • /DATA/Media/Audiobooks
  • /DATA/Media/Books
  • /DATA/Media/Documents
  • /DATA/Media/Movies
  • /DATA/Media/Music
  • /DATA/Media/Podcasts
  • /DATA/Media/TV Shows