MasterpieceDockerCompose/homer/README.md

173 lines
4.5 KiB
Markdown
Raw Normal View History

2021-06-03 11:10:44 +02:00
# Homer
2021-11-12 15:57:16 +01:00
2021-06-03 11:10:44 +02:00
<div align="center">
<img src="https://camo.githubusercontent.com/a6fa77187477b033cecca67ab4b2477009051578322e9df8df6aa5c5982a3a5c/68747470733a2f2f692e696d6775722e636f6d2f6872676774635a2e706e67" />
</div>
## Descrizione
2021-11-12 15:57:16 +01:00
[![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/)
2021-06-03 11:10:44 +02:00
Homer è una semplice pagina per tutti i vostri servizi (locali e non):
2021-11-12 15:57:16 +01:00
2021-06-03 11:10:44 +02:00
- **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...
2021-06-03 11:10:44 +02:00
## Struttura file e cartelle
2021-11-12 15:57:16 +01:00
2021-06-03 11:10:44 +02:00
```
/home/
└── docker/
└── homer/
├── assets/
│ └── tools/
├── .env
├── config.yml
└── docker-compose.yml
```
2021-11-12 15:57:16 +01:00
- `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
2021-06-03 11:10:44 +02:00
**N.B. Tutti i file e le cartelle devono essere creati a mano.**
## Esempi
2021-11-12 15:57:16 +01:00
2021-06-03 11:10:44 +02:00
Semplice esempio per iniziare ad usare subito il container
### network
2021-11-12 15:57:16 +01:00
`docker`
2021-11-12 15:57:16 +01:00
```bash
docker network create custom-bridge
```
`podman`
2021-11-12 15:57:16 +01:00
```bash
podman network create custom-bridge
```
2021-06-03 11:10:44 +02:00
### docker-compose
2021-11-12 15:57:16 +01:00
2021-06-03 11:10:44 +02:00
`docker-compose.yml`
2021-11-12 15:57:16 +01:00
2021-06-03 11:10:44 +02:00
```yml
version: "3.5"
services:
homer:
container_name: homer
image: b4bz/homer
security_opt:
- no-new-privileges:true
2021-06-03 11:10:44 +02:00
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`
2021-11-12 15:57:16 +01:00
2021-06-03 11:10:44 +02:00
```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
2021-11-12 15:57:16 +01:00
2021-06-03 11:10:44 +02:00
`config.yml`
2021-11-12 15:57:16 +01:00
2021-06-03 11:10:44 +02:00
```yml
title: "Homepage"
subtitle: "Homer"
logo: "assets/logo.png"
icon: "fas fa-skull-crossbones"
2021-11-12 15:57:16 +01:00
footer: "<p>un piè di pagina meno brutto</p>"
2021-06-03 11:10:44 +02:00
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"
2021-06-03 11:10:44 +02:00
url: "https://grafana.example.com"
- name: "Portainer"
logo: "/assets/tools/portainer.png"
subtitle: "Docker Manager"
url: "https://portainer.example.com"
```
## Aggiornamento
2021-11-12 15:57:16 +01:00
2021-06-03 11:10:44 +02:00
### Automatico
2021-11-12 15:57:16 +01:00
2021-06-03 11:10:44 +02:00
Se usate [watchtower](../watchtower) il container si aggiorna automaticamente
### Manuale
2021-11-12 15:57:16 +01:00
1. `docker-compose up -d`
2. `docker image prune`
2021-06-03 11:10:44 +02:00
## Backup e ripristino
2021-11-12 15:57:16 +01:00
2021-06-03 11:10:44 +02:00
### Backup
2021-11-12 15:57:16 +01:00
Usate [borg](../borg) per fare i backup giornalieri dell'intera cartella `homer`
2021-06-03 11:10:44 +02:00
### Ripristino
2021-11-12 15:57:16 +01:00
Per una maggiore spiegazione sui passaggi da fare, controllate [qua](../borg#user-content-controllare-la-cartella-dei-backup)
2021-11-12 15:57:16 +01:00
2021-06-03 11:10:44 +02:00
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`
---
2021-11-12 15:57:16 +01:00
Licenza: [CC BY-SA 4.0](https://creativecommons.org/licenses/by-sa/4.0/legalcode.txt)