40 lines
1.9 KiB
Markdown
40 lines
1.9 KiB
Markdown
# 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`.
|
|
|