This project is a directus extension for integrating Umami analytics. It's configurable using environment variables.
There are two options to install this extension:
- Using the extension marketplace inside Directus
- Using npm (run
npm install directus-extension-umamiinside your directus installation)
To configure the extension, you need to set the following environment variables:
UMAMI_SRC: The source of your umami analytics script (example:https://umami.yourdomain.com/script.js)UMAMI_WEBSITE_ID: The ID of your websiteCONTENT_SECURITY_POLICY_DIRECTIVES__SCRIPT_SRC: This is needed to allow loading your umami script. It's value should be:'self' 'unsafe-eval' 'https://umami.yourdomain.com'
The following variables are optional:
UMAMI_HOST_URL: The source of your umami analytics script (example:https://umami.yourdomain.com)UMAMI_AUTO_TRACK: The source of your umami analytics script (example:false)UMAMI_CACHE: If the umami script should cache events (example:true)UMAMI_DOMAINS: The domains the script should send events about (example:www.yourdomain.com,yourdomain.com)UMAMI_DEBUG: If the extension should log debug messages (example:true)
For more info you can check the umami docs
You can find an example environment file at .env.example.
When configured correctly you should be able to see events pop up in your umami installation.
- Clone the repository:
git clone https://github.com/egidiusmengelberg/directus-extension-umami.git && cd directus-extension-umami - Install dependencies:
npm install - Copy .env.example file to .env:
cp .env.example .env - Configure environment variables in .env (check configuration for detailed explanation)
- Run directus in docker:
docker compose up - Run
npm run devto watch and build the extension
Contributions are welcome! Please create a PR and use the provided linting script inside the package.json (npm run lint)
This project is licensed under the MIT License.
