MasterpieceDockerCompose/homer
miracle091 282aa11a70 Aggiunta la flag no-new-privileges:true per una maggiore sicurezza per l'host e il container 2021-06-10 09:56:26 +02:00
..
assets Aggiunto homer dashboard 2021-06-03 11:10:44 +02:00
.env Aggiunto homer dashboard 2021-06-03 11:10:44 +02:00
README.md Aggiunta la flag no-new-privileges:true per una maggiore sicurezza per l'host e il container 2021-06-10 09:56:26 +02:00
config.yml Aggiunto config.yml per homer e borg_backup.sh per borg 2021-06-06 11:33:31 +02:00
docker-compose.yml Aggiunta la flag no-new-privileges:true per una maggiore sicurezza per l'host e il container 2021-06-10 09:56:26 +02:00

README.md

Homer

Descrizione

Repo (Github) - Demo

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

docker-compose

docker-compose.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

# 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

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 il container si aggiorna automaticamente

Manuale

  1. docker-compose pull
  2. docker-compose up -d
  3. docker image prune

Backup e ripristino

Backup

Usate borg per fare i backup giornalieri dell'intera cartella homer

Ripristino

Per una maggiore spiegazione sui passaggi da fare, controllate qua

  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

Todo

Implementare: