# HUGO SITE AVEC DOCKER

Cette branche à pour but de conteneurisé un site HUGO compilé avec un server NGINX.
La configuration pour le NGINX reverse proxy en front se trouve dans le dossir nginx-proxy.

## UTILISATION:

Pour l'utiliser avec un autre site Hugo, copier simplement la Dockerfile ou le docker-compose.yml
ainsi que les dossiers nginx-docker et nginx-proxy à la racine du projet Hugo (à côté du config.toml)
et éxécuter la commande pour construire le site:

```bash
hugo
```

Un dossier public s'est créé avec les fichiers statiques du site, il faut maintenant configurer
les Nginx (le proxy et celui dans l'image Docker:

## CONFIGURATION:

Editer le fichier de configuration
```bash
nano nginx-proxy/nginx.conf
```
 
/\ Attention, le nom de domaine (ici exemple.com) est à configuré dans le proxy NGINX !
Une fois tout bien renseigné

Redémarrer NGINX:

```bash
sudo systemctl restart nginx
```

## DEMARRER L'IMAGE:

### VIA DOCKER 

```bash
docker build -t hugo/hugo-site .
docker run -d -p 6666:80 --name hugo-site hugo/hugo-site
```

### VIA DOCKER-COMPOSE

```bash
docker-compose up -d
``` 

### HTTPS:

Via Certbot:
```bash
sudo apt install certbot -y
sudo certbot certonly -d example.com
```

Une fois le certificat obtenu, décommenter les 3 lignes concernant le SSL en vérifiant
le nom des certificats en fonction du nom de domaine:
```
   #ssl on;
   #ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
   #ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
```
Créer une redirection vers le HTTPS dans le bloc server HTTP:

```
return 301 https://$host$request_uri;
```
