# 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 il nome utente, lo crea e lo aggiunge al gruppo `docker` - 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: ```bash sudo bash scripts/setup.sh ``` 3. Inserisci il nome utente quando richiesto. Lo script: - creerà l'utente (se non esiste) e imposterà la password - installerà Docker e aggiungerà l'utente al gruppo `docker` - 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 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`.