Источники

Связанные статьи

Установка

Подготавливаем директорию

1
2
3
4
mkdir /dconf/hugo
cd /dconf/hugo
chmod -R 770 /dconf/hugo
chown -R quasinas:quasinas /dconf/hugo

Удаление

1
2
3
4
5
6
rm -rf /dconf/hugo; \
mkdir /dconf/hugo

docker stop hugo; \
docker rm hugo; \
docker rmi klakegg/hugo:ext-debian

Генерация шаблона сайта. Контейнер должен отработать и удалиться благодаря опции --rm.

1
2
3
4
5
6
docker run -it \
  --rm \
  --name="hugo" \
  -v /dconf/hugo:/src \
klakegg/hugo:ext-debian \
  new site /src

Выбор темы

Необходимо определиться с темой для сайта. Выбрать их можно тут. Я выбрал тему одну из тем и отредактировал ее под себя - Anya. Выбранную тему скачиваем и добавляем в нашу директорию themes. Удобно это сделать через git submodule.

1
2
3
4
cd /dconf/hugo
git init
git submodule add git@github.com:Limbend/hugo-anya.git themes/hugo-tania
echo theme = \"hugo-anya\" >> config.toml

С темами идут примеры сайтов. Отталкиваясь от него настраивать будет проще. Копируем их в корень директории.

1
cp -r themes/hugo-tania/exampleSite/* .

Первичный запуск

1
2
3
4
5
6
7
8
9
docker run -it \
  --rm \
  --name="hugo" \
  -e PUID=1024 \
  -e PGID=1024 \
  -p 1313:1313 \
  -v /dconf/hugo:/src \
klakegg/hugo:ext-debian \
  server --bind=<your_host> --baseURL=http://<your_host>:1313 --disableFastRender -D

Git

Подключаем удаленный сервер git и выгружаем туда сайт.

1
2
3
cd /dconf/hugo
git remote add origin git@github.com:<your_name>/hugo-main.git
git push origin main

Для развертывания сайта в другом месте теперь просто клонируем репозиторий, и обновляем подмодули.

1
2
3
4
cd /dconf/hugo
git clone git@github.com:<your_name>/hugo-main.git .
git submodule update --init --recursive
git submodule foreach git pull origin main

Запуск средствами Docker-compose

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
---
version: "3"
services:

  hugo:
    image: klakegg/hugo:ext-debian
    container_name: hugo
    hostname: https://dotgs.ru
    command: server --baseURL=https://dotgs.ru --disableFastRender --appendPort=false
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Europe/Moscow
    volumes:
      - /dconf/hugo:/src
    ports:
      - 1313:1313
    restart: unless-stopped
1
2
docker compose pull
docker compose up -d

CLI Запуск

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
docker run -d \
  --name="hugo" \
  -e PUID=1000 \
  -e PGID=1000 \
  -p 1313:1313 \
  -v /dconf/hugo:/src \
  -e TZ=Europe/Moscow \
  --restart unless-stopped \
klakegg/hugo:ext-debian \
  server --baseURL=https://dotgs.ru --disableFastRender --appendPort=false

Удаление

1
2
3
docker stop hugo ;\
docker rm hugo ;\
docker rmi klakegg/hugo:ext-debian