How to configure GoBlog
Most settings for GoBlog (still) have to be configured using a YAML configuration file. See example-config.yaml
for the available options. It’s recommended to just set the settings you really need, so it’s best to start from a blank configuration file. There are defaults for most settings. Some settings can be configured using a web UI (with the path of /settings
).
Sections
You can add, remove or update sections and the default section using the web UI.
Sections can have a title, description (with support for markdown) and a path template which gets used when creating a new post without a pre-setted path. The syntax for the path template is gets parsed as a Go template. Available variables are: .Section
, .Slug
, .Year
, .Month
, .Day
and .BlogPath
.
Example for the path template:
Setting Up GoBlog with nginx
The following is a minimal example configuration for GoBlog running behind an nginx reverse proxy and using the certbot plugin to generate TLS certificates.
config.yml
# Web server
server:
port: 8080 # GoBlog Port
publicAddress: https://yourdomain.tld # Public address of your blog
# User
user:
nick: user # Username for login (can be changed later using the settings web UI)
password: password # Password for login
# Blogs
defaultBlog: main # Default blog name (needed because you can define multiple blogs)
blogs:
main: # Blog name
path: / # Path of blog
lang: en # Language of blog
title: My Cool Blog # Blog title
description: "Welcome to this blog." # Blog description
# Taxonomies
taxonomies:
- name: tags # Code of taxonomy (used via post parameters)
title: Tags # Name
description: "**Tags** on this blog" # Description
# Menus
menus:
# Main menu
main:
items:
- title: Home # Title
link: / # Site-relative or absolute links
- title: Posts
link: /posts
example-nginx.conf
server {
server_name yourdomain.tld;
location / {
proxy_set_header Host $http_host;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_max_temp_file_size 0;
proxy_pass http://localhost:8080;
proxy_redirect http:// https://;
client_max_body_size 30M;
}
}
Generate SSL certificates with the nginx certbot plugin by running:
$ certbot --nginx -d yourdomain.tld -d www.yourdomain.tld