75 lines
1.4 KiB
Markdown
75 lines
1.4 KiB
Markdown
# libreschool.org
|
|
|
|
Libreschool website
|
|
|
|
## Development instructions
|
|
|
|
Clone repo with the command:
|
|
|
|
```sh
|
|
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:
|
|
|
|
```sh
|
|
cd libreschool.org
|
|
git submodule update --init
|
|
```
|
|
|
|
Then start the hugo live server:
|
|
|
|
```sh
|
|
hugo serve
|
|
```
|
|
|
|
You can produce the complete website with:
|
|
|
|
```sh
|
|
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:
|
|
|
|
```sh
|
|
docker build -t libreschool-website .
|
|
```
|
|
|
|
Then you can run the image:
|
|
|
|
```sh
|
|
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
|
|
|
|
```sh
|
|
docker run -d -p 6080:80 git.libreschool.org/libreschool/libreschool.org:latest
|
|
```
|
|
|
|
### Via docker compose
|
|
|
|
```yaml
|
|
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
|
|
```
|