From 85a9a24085e5fec8ec6196cab11fe03e3d7b2e29 Mon Sep 17 00:00:00 2001 From: Simon C Date: Sun, 10 May 2020 15:40:26 +0200 Subject: [PATCH] feat: Add config --- .dockerignore | 3 +++ .gitignore | 3 +++ Dockerfile | 4 ++++ README.md | 31 +++++++++++++++++++++++++ config.toml | 6 ++--- content/_index.md | 4 ++++ docker-compose.yml | 47 +++++++++++++++++++++++++++++++++++++ run | 58 ++++++++++++++++++++++++++++++++++++++++++++++ 8 files changed, 153 insertions(+), 3 deletions(-) create mode 100644 .dockerignore create mode 100644 .gitignore create mode 100644 Dockerfile create mode 100644 README.md create mode 100644 content/_index.md create mode 100644 docker-compose.yml create mode 100755 run diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..392c3c8 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,3 @@ +** +!public +!.env diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..4000091 --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +resources +public +.env diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..55977d1 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,4 @@ +FROM registry.lamelio.fr/nginx-lowtech:0.0.5 + +# Copie des sources du site +COPY public /usr/share/nginx/html diff --git a/README.md b/README.md new file mode 100644 index 0000000..810299a --- /dev/null +++ b/README.md @@ -0,0 +1,31 @@ +# Slides + +## Install + +``` +git clone https://gitea.lamelio.fr/kosssi/slides.lamelio.fr.git --recurse-submodules +``` + +## Dev + +``` +./run dev +``` + +## Build + +``` +./run build +``` + +## Docker + +``` +./run docker +``` + +## Deploy + +``` +./run deploy +``` diff --git a/config.toml b/config.toml index 76d8f00..64772d5 100644 --- a/config.toml +++ b/config.toml @@ -1,6 +1,6 @@ -baseURL = "http://example.org/" -languageCode = "en-us" -title = "My New Hugo Site" +baseURL = "https://slides.lamelio.fr/" +languageCode = "fr-fr" +title = "Présentation" theme = "reveal-hugo" diff --git a/content/_index.md b/content/_index.md new file mode 100644 index 0000000..de5ab11 --- /dev/null +++ b/content/_index.md @@ -0,0 +1,4 @@ +--- +title: Présentation +layout: slidelist +--- diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..da981a9 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,47 @@ +version: "3.7" + +volumes: + slides-log: + name: slides-log + slides-stats: + name: slides-stats + +services: + slides-logs: + container_name: slides-logs + image: registry.lamelio.fr/goaccess + restart: always + volumes: + - slides-log:/var/log/nginx + - slides-stats:/usr/share/nginx/html/stats + labels: + com.centurylinklabs.watchtower.enable: true + + slides: + container_name: ${NAME} + image: registry.lamelio.fr/slides + restart: always + environment: + - TZ=${TIMEZONE} + volumes: + - slides-log:/var/log/nginx + - slides-stats:/usr/share/nginx/html/stats + labels: + traefik.enable: "true" + + traefik.http.routers.slides.rule: "Host(`${URL}`)" + traefik.http.routers.slides.entrypoints: "websecure" + traefik.http.routers.slides.tls.certResolver: "letsencrypt" + + # Redirect https://www to https:// + traefik.http.routers.slides-redirect-www.rule: "Host(`www.${URL}`)" + traefik.http.routers.slides-redirect-www.entrypoints: "websecure" + traefik.http.routers.slides-redirect-www.tls.certResolver: "letsencrypt" + traefik.http.routers.slides-redirect-www.middlewares: "redirect-www@docker" + + com.centurylinklabs.watchtower.enable: true + +networks: + default: + external: + name: traefik diff --git a/run b/run new file mode 100755 index 0000000..b3b6b81 --- /dev/null +++ b/run @@ -0,0 +1,58 @@ +#!/bin/bash + +# -e Exit immediately if a command exits with a non-zero status. +# -u Treat unset variables as an error when substituting. +set -eu + +START=`date +%s` +PROJECT=slides + +build_production() { + echo "👷 Construction du site en mode production" + rm -rf public + hugo --environment production --minify +} + +help() { + echo "💡 Aide" + echo "-------" + echo + echo "Commandes :" + echo "- ./run install 📦 Installation des dépendances" + echo "- ./run dev 🚧 Lancement du serveur pour le développement" + echo "- ./run build 👷 Construction du site en mode production" + echo "- ./run docker 🐳 Création de l'image Docker" + echo "- ./run deploy 🚀 Déploiement avec docker-compose" + echo +} + +install() { + echo "📦 Installation des dépendances" + git submodule update --init +} + +if [ $# -ge 1 ]; then + if [ $1 == "dev" ]; then + echo "🚧 Lancement du serveur pour le développement" + hugo server -D + elif [ $1 == "build" ]; then + build_production + elif [ $1 == "docker" ]; then + echo "🐳 Création de l'image Docker" + echo + docker build . -t kosssi/$PROJECT + docker tag kosssi/$PROJECT registry.lamelio.fr/$PROJECT + docker push registry.lamelio.fr/$PROJECT + elif [ $1 == "deploy" ]; then + echo "🚀 Déploiement avec docker-compose" + echo + docker-compose up -d + elif [ $1 == "install" ]; then + install + fi +else + help +fi + +END=`date +%s` +echo "✨ Done in $((END-START))s"