Files
linux-server-setup/README.md
Francesco Picone 0510afa009 Utente opzionale e proposta di estensione LVM nel setup
- La creazione dell'utente non è più obbligatoria: lasciando vuoto il
  nome si usa l'utente corrente (SUDO_USER o root)
- Clona lvm-volume-enlarger in /opt e, se la root è un LV ext* con spazio
  libero nel VG, propone l'esecuzione di enlarge.sh
- Corregge il codename Ubuntu non espanso in docker.sources

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-13 12:19:52 +02:00

2.7 KiB

Setup Ubuntu Server + Docker + Portainer

Questo repository contiene uno script per configurare rapidamente un server Ubuntu:

  • Aggiorna il sistema e installa pacchetti base
  • Configura repository e installa Docker (CE, CLI, containerd, buildx, compose plugin)
  • Chiede un nome utente da creare (opzionale: lasciando vuoto usa l'utente corrente) e lo aggiunge al gruppo docker
  • Scarica lvm-volume-enlarger e, se il volume LVM di root può essere allargato, propone di eseguire lo script
  • Esegue una post-installazione tramite make
  • Clona il repo Portainer e ne esegue il deploy via Docker

In aggiunta, applica misure di hardening (senza SSH hardening):

  • Impostazione timezone (default: Europe/Rome)
  • Auto-aggiornamenti di sicurezza (unattended-upgrades)
  • Fail2ban: jail sshd abilitata con limiti prudenziali
  • Docker: daemon.json con live-restore e rotazione log

Requisiti

  • Esegui su Ubuntu Server (root/sudo necessario)
  • Connettività Internet

Uso

  1. Copia la cartella linux-server-setup sul server Ubuntu.
  2. Esegui lo script di setup:
sudo bash scripts/setup.sh
  1. Inserisci il nome utente quando richiesto, oppure premi Invio per usare l'utente corrente (quello che ha lanciato sudo, o root). Lo script:
    • creerà l'utente (se non esiste) e imposterà la password
    • clonerà lvm-volume-enlarger in /opt/lvm-volume-enlarger; se la root è un volume LVM ext4 e il volume group ha spazio libero, chiederà se eseguire enlarge.sh
    • installerà Docker e aggiungerà l'utente al gruppo docker (non necessario se l'utente è root)
    • eseguirà make postinstall per utilità post-installazione
    • clonerà https://git.pyconetwork.it/francesco/portainer.git in /opt/portainer e tenterà il deploy con docker compose up -d

Note

  • Dopo l'aggiunta al gruppo docker, è necessario fare logout/login per applicare i permessi.
  • Se rifiuti l'estensione del disco, puoi eseguirla in seguito con sudo bash /opt/lvm-volume-enlarger/enlarge.sh. Lo script usa solo lo spazio già libero nel volume group: se hai ingrandito il disco virtuale, prima vanno estesi la partizione e il PV (growpart + pvresize).
  • Se il repository Portainer non contiene un docker-compose.yml/compose.yml, lo script proverà make deploy se presente; altrimenti mostrerà un avviso.
  • Il target postinstall installa: vim, tmux, net-tools, wget, jq, tree, ufw, fail2ban, software-properties-common, htop, lsof, e abilita UFW + Fail2ban.
  • Il target postinstall installa: vim, tmux, net-tools, wget, jq, tree, fail2ban, software-properties-common, htop, lsof.