GoBlog/docs/install.md

46 lines
1.6 KiB
Markdown

# How to install and run GoBlog
It's recommended to install GoBlog using Docker (Compose). You can simply pull the latest image from `ghcr.io/jlelse/goblog:latest` (basic image) or `ghcr.io/jlelse/goblog:tools` (for when you want to use `sqlite3`, `bash` or `curl` in hook commands) when there are updates. Those images are tested and contain all necessary libraries and tools.
Create your config file (`./config/config.yml`) with inspiration from `example-config.yml` and create a new data directory (`./data`). For static files, you can also create a directory at `./static`.
Then you can use Docker Compose to run GoBlog. Here's an example `docker-compose.yml` file:
```yaml
version: "3"
services:
goblog:
container_name: goblog
image: ghcr.io/jlelse/goblog:latest # or :tools
restart: unless-stopped # auto restart the container
volumes:
- ./config:/app/config # Config directory
- ./data:/app/data # Data directory, used for database, keys, uploads etc.
- ./static:/app/static # Static directory, if you want to publish static files
environment:
- TZ=Europe/Berlin # You timezone
```
If you don't want to use a reverse proxy (like Caddy) you can also publish the ports directly from the GoBlog container. Remember to enable public https in the config, so GoBlog gets Let's Encrypt certificates.
```yaml
goblog:
container_name: goblog
...
ports:
- 80:80
- 443:443
```
Start the container:
```bash
docker-compose up -d
```
Update the container with a newer image:
```bash
docker-compose pull
docker-compose up -d
```