Self Hosting
Openchangelog can be run on your own infrastructure with just a single yaml
config file. No database required!
Copy this minimal openchangelog.yml
config file.
Note that we have configured Openchangelog to load our release notes from the /release-notes
folder. When using Docker make sure to mount this folder.
Openchangelog can be started with docker run
:
Or with this basic docker-compose.yml
:
Once deployed, your changelog will be available at http://localhost:6001.
Configuration
The following sections describe how to configure all features of Openchangelog.
The configuration file is read from /etc/openchangelog.yml
Page
The page
section groups customizations of your changelog’s appearance.
Title
Subtitle
Color Scheme
The color scheme can be set to dark
, light
or system
.
Logo
Customize your logo with these attributes:
Auth
The auth
section can be used to enable password protection of the changelog.
Set passwordHash
with the bcrypt hash of your password. Do not use the actual password!
You can specify the authorize
URL parameter with your password to bypass the password screen.
Sources
Configure where your changelog articles are loaded from. Visit the Using Sources guide for detailed setup instructions for each supported source.
Cache
You can configure a cache to improve latency and avoid hitting rate limits from e.g. Github.
Internally httpcache is used to cache the requests to Github. You can choose between a memory
, disk
and s3
based cache.
Search
You can enable full text indexing of your changelog to make it easier to find relevant release notes.
This feature relies on the cache configuration to ensure the search index updates only when the release notes change. Without caching, the index would update on every request, leading to inefficiencies.
You can choose between memory
or disk
for the search index. It’s recommended to use the same storage type as your cache for consistency.
Analytics
Analytics enables tracking of each request to a changelog, capturing details like time
, city
, country
, continent
, lat
, lng
, and whether access was denied
if the changelog is protected.
Location data is available only when running behind Cloudflare with Visitor Location Headers enabled.
Tinybird
To send analytics events to Tinybird, simply configure your access token as follows:
Then, set up the datasource analytics_events.