MasterpieceDockerCompose/homer/README.md

173 lines
4.5 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Homer
<div align="center">
<img src="https://camo.githubusercontent.com/a6fa77187477b033cecca67ab4b2477009051578322e9df8df6aa5c5982a3a5c/68747470733a2f2f692e696d6775722e636f6d2f6872676774635a2e706e67" />
</div>
## Descrizione
[![Sorgente](https://img.shields.io/static/v1.svg?color=555555&logoColor=ffffff&logo=github&style=flat&label=&message=Sorgente)](https://github.com/bastienwirtz/homer) [![Docker Hub](https://img.shields.io/static/v1.svg?color=555555&logoColor=ffffff&logo=docker&style=flat&label=&message=Docker Hub)](https://hub.docker.com/r/b4bz/homer) [![Demo](https://img.shields.io/static/v1.svg?color=555555&logoColor=ffffff&logo=jekyll&style=flat&label=&message=Demo)](https://homer-demo.netlify.app/)
Homer è una semplice pagina per tutti i vostri servizi (locali e non):
- **1** solo file di configurazione in formato yaml
- Scorciatoie da tastiera
- Supporto alla divisione in gruppi e per una ricerca più veloce
- Personalizzazione dei colori, font, etc...
## Struttura file e cartelle
```
/home/
└── docker/
└── homer/
├── assets/
│ └── tools/
├── .env
├── config.yml
└── docker-compose.yml
```
- `assets/` - cartella dove risiedono i dati che servono a homer
- `.env` - file contenenti le variabili environment per il docker-compose
- `config.yml` - file di configurazione base, da usare come esempio
- `docker-compose.yml` - file usato per creare il container
**N.B. Tutti i file e le cartelle devono essere creati a mano.**
## Esempi
Semplice esempio per iniziare ad usare subito il container
### network
`docker`
```bash
docker network create custom-bridge
```
`podman`
```bash
podman network create custom-bridge
```
### docker-compose
`docker-compose.yml`
```yml
version: "3.5"
services:
homer:
container_name: homer
image: b4bz/homer
security_opt:
- no-new-privileges:true
networks:
- custom-bridge
restart: unless-stopped
ports:
- ${HOMER_WEBUI_PORT:-8080}:8080
env_file: .env
volumes:
- ${HOMER_ASSETS:-/home/docker/homer/assets}:/www/assets:ro
- ${HOMER_CONFIG:-/home/docker/homer/config.yml}:/www/config.yml:ro
networks:
custom-bridge:
name: custom-bridge
driver: bridge
```
`.env`
```bash
# Generale
HOMER_WEBUI_PORT=8080
HOMER_ASSETS=/home/docker/homer/assets
HOMER_CONFIG=/home/docker/homer/config.yml
# Homer
TZ=Europe/Amsterdam
```
### config.yml
`config.yml`
```yml
title: "Homepage"
subtitle: "Homer"
logo: "assets/logo.png"
icon: "fas fa-skull-crossbones"
footer: "<p>un piè di pagina meno brutto</p>"
links:
- name: "Font Awesome Icons Gallery"
icon: "fab fa-fort-awesome"
url: "https://fontawesome.com/icons?d=gallery"
- name: "Libredd.it /r/SelfHosted"
icon: "fab fa-reddit"
url: "https://libredd.it/r/selfhosted/"
services:
- name: "Main"
icon: "fab fa-docker"
items:
- name: "Bookstack"
logo: "/assets/tools/bookstack.png"
subtitle: "Appunti e altro"
url: "https://book.example.com"
- name: "Bitwarden"
logo: "/assets/tools/bitwarden.png"
subtitle: "Password Manager"
url: "https://passwd.example.com"
- name: "Nextcloud"
logo: "/assets/tools/nextcloud.png"
subtitle: "File Sync & Share"
url: "https://nextcloud.example.com"
- name: "Monitor"
icon: "fas fa-heartbeat"
items:
- name: "Prometheus + Grafana"
logo: "/assets/tools/grafana.png"
subtitle: "Analytiche & Dashboard"
url: "https://grafana.example.com"
- name: "Portainer"
logo: "/assets/tools/portainer.png"
subtitle: "Docker Manager"
url: "https://portainer.example.com"
```
## Aggiornamento
### Automatico
Se usate [watchtower](../watchtower) il container si aggiorna automaticamente
### Manuale
1. `docker-compose up -d`
2. `docker image prune`
## Backup e ripristino
### Backup
Usate [borg](../borg) per fare i backup giornalieri dell'intera cartella `homer`
### Ripristino
Per una maggiore spiegazione sui passaggi da fare, controllate [qua](../borg#user-content-controllare-la-cartella-dei-backup)
1. fermare il container `docker-compose down`
2. cancellare l'intera cartella `homer`
3. dal backup copiare la cartella `homer`
4. far ripartire il container `docker-compose up -d`
---
Licenza: [CC BY-SA 4.0](https://creativecommons.org/licenses/by-sa/4.0/legalcode.txt)