Skip to content

Configuration Overview

Environment Variables

Plume allows customization through configuration. You can configure Plume in a few different ways. The simplest and recommended way to configure Plume is through environment variables.

TIP

You can find a list of environment variables and their function in the Environment Variables documentation.

Plume Compose

When using the Plume Compose installation method enviroment variables should be defined in the environment.d/plume.env file.

IMPORTANT

After modifying environment.d/plume.env you must restart your containers (i.e. docker compose up -d) for the changes to apply.

Docker Compose

For a manual Docker Compose installation, you may define environment variables with the environment attribute in your docker-compose.yaml file.

yaml
services:

  plume:
    image: phlak/plume:<version>
    environment: 
      SITE_TITLE: My Amazing Blog
      TIMEZONE: America/Phoenix
    ports:
      - <host_port>:80
    volumes:
      - ./data:/data
    restart: unless-stopped

IMPORTANT

After modifying your docker-compose.yaml file you must restart your containers (i.e. docker compose up -d) for the changes to apply.

Docker Run

You may pass environment variables to the docker run command via the --env flag. Multiple environment variables can be set by passing the --env flag multiple times for each option.

console
docker run --detach --publish 8080:80 --volume ./data:/data \
    --env SITE_TITLE="My Amazing Blog" --env TIMEZONE="America/Phoenix" \
    phlak/plume:latest

Manual Installation

When Plume is installed manually, environment variables should be defined in the .env file. You may copy .env.example to .env if the file is missing.

text
/path/to/plume
├── data
│   └── [your data]
├── docker-compose.yaml
├── .env
└── .env.example

The default .env file should look something like this:

dotenv
# SITE_TITLE="Yet another amazing blog"
# META_DESCRIPTION="Yet another amazing blog, published with Plume."

# PAGINATION=true
# POSTS_PER_PAGE=10

# FEATURED_IMAGES=collapsed

# TAGS_LINK=true
# AUTHORS_LINK=true

# DATE_FORMAT='Y-m-d H:i:s'
# TIMEZONE=

# USAGE_REPORTING=true

User Customization

Advanced user customization is currently in development.

If there's something you would like to be able to customize that isn't currently possible, open a feature request.

Custom JavaScript and CSS

Arbitrary code like CSS & JavaScript may be included in the HTML output of your site through the customizations.html file. This is particularly useful for including analytics tracking code from Google Analytics, Matomo Analytics, Umami Analytics or other similar analytics service.

To inject your customization into your page, create a file named customizations.html in the data directory and place your code into this file.

text
/path/to/plume
├── data
│   ├── [other files and folders]
│   └── customizations.html
└── docker-compose.yaml
html
<!-- Put your custom code here -->