Installation
Plume Compose
Requirements
For a long-term installation we provide Plume Compose as a quick and easy way of getting up and running with a pre-configured Docker Compose configuration.
Clone the repository to a location of your choosing
consolecd /your/chosen/path/ git clone https://github.com/PHLAK/plume-compose.gitSwitch to the
plume-composedirectory and initialize the configuration filesconsolecd plume-compose make initModify the environment variables in
.envfor your installationRun
docker compose configto validate and confirm your configurationRun
docker compose up -dto start the containers
Docker Compose
Requirements
If you prefer a manual Docker Compose installation you may create a directory for your Plume app and, in that directory, add a docker-compose.yaml file and a folder (e.g. data) to contain your data.
/path/to/plume
├── data
│ └── [your data will go here]
└── docker-compose.yamlservices:
plume:
image: phlak/plume:latest
environment:
SITE_TITLE: My Amazing Blog
# See configuration docs for additional variables
ports:
- <host_port>:80
volumes:
- ./data:/var/www/html/data
- ./themes:/var/www/html/themes
- plume-cache:/var/www/html/cache/app
user: www-data
restart: unless-stopped
volumes:
plume-cache: {}IMPORTANT
Replace <host_port> with the port on which you would like the application to be exposed.
TIP
See Environment Variables for a full list of the available environment variables.
Once created, start the container by running docker compose up -d from the same directory as the docker-compose.yaml file.
Docker Run
Requirements
You may use docker run to launch a stand-alone Docker container from the official Docker image. This is a good way to test Plume for the first time but is not recommended for long-term use. Instead we recommend using either the Plume Compose or Docker Compose installation method instead.
docker run --detach --publish <host_port>:80 \
[--env ENVIRONMENT_VARIABLE=value] \
--volume ./data:/var/www/html/data \
phlak/plume:latestIMPORTANT
Replace <host_port> with the port on which you would like the application to be exposed.
TIP
You may pass multiple environment variables by repeating the --env flag.
Reverse Proxy
It's recommended to run Plume behind a reverse proxy. The following examples assume Plume is accessible on the host at 127.0.0.1:8076.
TIP
Replace 8076 with the port you configured for your Plume installation.
NGINX
server {
listen 80;
server_name example.com;
location / {
proxy_pass http://127.0.0.1:8076;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}Apache
<VirtualHost *:80>
ServerName example.com
ProxyPass / http://127.0.0.1:8076/
ProxyPassReverse / http://127.0.0.1:8076/
</VirtualHost>Caddy
example.com
reverse_proxy 127.0.0.1:8076