bglug.it/README.md

109 lines
2.2 KiB
Markdown
Raw Normal View History

2024-04-09 20:10:09 +00:00
# bglug.it
BgLUG website
## Development instructions
Clone repo with the command:
```sh
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:
```sh
cd bglug.it
git submodule update --init --recursive
```
Then start the hugo live server:
```sh
hugo server
```
or
```sh
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:
```sh
hugo
```
The complete website will be placed in the `public` directory.
2024-04-16 21:33:34 +00:00
### Development misc notes
The imported posts are marked as "draft" and as such aren't rendered in the final output. If you want to render all the drafts, you can add the `-D` flag:
```sh
hugo server -D
```
2024-04-09 20:10:09 +00:00
## Building the container image
This website can be used as a container image; to do so in docker:
```sh
docker build -t bglug-website .
```
Then you can run the image:
```sh
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
```sh
docker run -d --name bglug_website -p 6080:80 git.libreschool.org/bglug/bglug.it:latest
```
### Via docker compose
```yaml
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.
```yaml
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
```