Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/aitorllj93/domus
The Docker Cloud Operating System for your home
https://github.com/aitorllj93/domus
docker domus home-cloud home-server iot media-center raspberry-pi self-hosted
Last synced: about 1 month ago
JSON representation
The Docker Cloud Operating System for your home
- Host: GitHub
- URL: https://github.com/aitorllj93/domus
- Owner: aitorllj93
- License: mit
- Created: 2023-11-19T15:51:56.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2023-12-01T23:29:19.000Z (about 1 year ago)
- Last Synced: 2024-05-01T17:48:57.001Z (9 months ago)
- Topics: docker, domus, home-cloud, home-server, iot, media-center, raspberry-pi, self-hosted
- Language: JavaScript
- Homepage:
- Size: 3.12 MB
- Stars: 4
- Watchers: 3
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Domus
![Domus Screenshot](https://raw.githubusercontent.com/aitorllj93/domus/main/docs/assets/screenshots/heimdall-launcher.png)
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
- [Portainer](https://www.portainer.io/) for managing the containers.
- [Homarr](https://github.com/ajnart/homarr) for the dashboard/admin panel.
- [Heimdall](https://heimdall.site/) for the home page.### Productivity
- [Shiori](https://github.com/go-shiori/shiori) for bookmarks.
- [Paperless](paperless-ngx.com) for documents.
- [Mealie](https://mealie.io/) for recipes and meal planning.
- [Home Assistant](https://www.home-assistant.io/) for home automation.### Entertainment
- [Plex](https://www.plex.tv/) for media streaming.
- [Calibre Web](https://github.com/janeczku/calibre-web) for ebooks and comics.
- [Audiobookshelf](https://www.audiobookshelf.org) for audiobooks and podcasts.## Pre-requisites
- [Docker](https://docs.docker.com/get-docker/)
- [Docker Compose](https://docs.docker.com/compose/install/)
- [Node.js >=18.16.0](https://nodejs.org/en/download/)## Running Setup
```sh
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.
```sh
domus -a Books,Audiobooks
```## Custom Setup
First of all, you need a copy of this repository.
```sh
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:
```sh
domus
```## Specification
Domus encourages some patterns found in other similar projects such as [CasaOS](https://github.com/IceWhaleTech/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`