Paolo Asperti
2d01013fe1
Reviewed-on: LibreSchool/libreschool.org#22 Reviewed-by: omar <omarl@noreply.libreschool.org> |
||
---|---|---|
.gitea/workflows | ||
archetypes | ||
content | ||
docker/rootfs | ||
layouts | ||
static | ||
themes | ||
urls | ||
.dockerignore | ||
.gitignore | ||
.gitmodules | ||
config.yml | ||
Dockerfile | ||
LICENSE | ||
README.md |
libreschool.org
Libreschool website
Development instructions
Clone repo with the command:
git clone --recurse-submodules ssh://git@git.libreschool.org:1022/LibreSchool/libreschool.org.git
cd libreschool.org
If you did clone this repo in the usual way, you probably missed the theme's git submodule. To download the missing submodule:
cd libreschool.org
git submodule update --init --recursive
Then start the hugo live server:
hugo serve
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 libreschool-website .
Then you can run the image:
docker run -d -p 6080:80 libreschool-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 libreschool_website -p 6080:80 git.libreschool.org/libreschool/libreschool.org:latest
Via docker compose
version: "3.9"
services:
web:
image: git.libreschool.org/libreschool/libreschool.org:latest
restart: always
container_name: libreschool_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/libreschool/libreschool.org:latest
restart: always
container_name: libreschool_website
volumes:
- ./logs:/logs
environment:
LOG_DAYS: 14
ports:
- 6080:80