bglug.it/README.md

2.0 KiB

bglug.it

BgLUG website

Development instructions

Clone repo with the command:

git clone --recurse-submodules ssh://git@git.libreschool.org:1022/bglug/bglug.it.git
cd bglug.it

If you did clone this repo in the usual way, you probably missed the theme's git submodule. To download the missing submodule:

cd bglug.it
git submodule update --init --recursive

Then start the hugo live server:

hugo server

or

docker run --rm -d --name hugo_ls -v "$PWD:/src" -p "1313:1313" git.libreschool.org/bglug/hugo-extended:latest serve -s /src --gc --minify --bind 0.0.0.0

You can produce the complete website with:

hugo

The complete website will be placed in the public directory.

Building the container image

This website can be used as a container image; to do so in docker:

docker build -t bglug-website .

Then you can run the image:

docker run -d -p 6080:80 bglug-website

With the above command, the website will be reachable via HTTP to port 6080.

It's also possible do bind mount the container's /logs directory, to expose nginx logs.

Using the container image

Plain docker invocation

docker run -d --name bglug_website -p 6080:80 git.libreschool.org/bglug/bglug.it:latest

Via docker compose

version: "3.9"
services:
  web:
    image: git.libreschool.org/libreschool/bglug.it:latest
    restart: always
    container_name: bglug_website
    volumes:
      - ./logs:/logs
    ports:
      - 6080:80

Configure log rotation

By default logs are stored in a volume mounted on /logs directory inside the container. The access log file is /logs/nginx.access.log and it is rotate daily with a configurable retention, 7 days by default.

version: "3.9"
services:
  web:
    image: git.libreschool.org/bglug/bglug.it:latest
    restart: always
    container_name: bglug_website
    volumes:
      - ./logs:/logs
    environment:
      LOG_DAYS: 14
    ports:
      - 6080:80