Thanks to visit codestin.com
Credit goes to github.com

Skip to content

phillips-jon/umami

Β 
Β 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

6,164 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Umami Logo

Umami

Umami is a simple, fast, privacy-focused alternative to Google Analytics.

GitHub Release MIT License Build Status Umami Demo


🍴 Fork Changes

This is a fork of umami-software/umami with the following additions:

Custom Tracking Domains

Allows each tracked website to use a custom subdomain (e.g. t.yourdomain.com) for tracking scripts and link URLs, so analytics requests appear first-party and are less likely to be blocked by ad blockers.

  • Add and remove custom domains per website under Website Settings β†’ Custom Domains
  • One-click DNS verification (checks that your subdomain CNAMEs to the Umami host)
  • Verified domains appear as selectable options in the tracking code snippet, link creation form, and pixel creation form
  • Feature is opt-in via environment variable:
ENABLE_CUSTOM_DOMAINS=true
CUSTOM_DOMAIN_CNAME_TARGET=your-umami-hostname.com  # defaults to APP_URL hostname

Your reverse proxy (Caddy, Nginx, Cloudflare, etc.) must be configured to accept requests on the custom hostnames. SSL termination is handled at the infrastructure level, not by Umami. See docs/custom-domains.md for infrastructure setup examples.

Editable Link Slugs

When creating or editing a tracked link, you can now type a custom slug instead of always getting an auto-generated one. The slug field is editable inline with the base URL shown as a prefix. The refresh button still generates a random slug if you prefer. Slugs must contain only letters, numbers, hyphens, and underscores.

Link URLs Without /q/ Prefix

Tracked links now resolve at /:slug (e.g. go.yourdomain.com/my-campaign) instead of /:slug previously at /q/:slug. Any existing /q/:slug URLs redirect permanently (301) to the new path.

Bulk Link Import

Import multiple tracked links at once from a CSV file via Links β†’ Import Links.

Supported CSV columns (header names are case-insensitive, parenthetical notes like "(optional)" are ignored):

Column Required Description
Name Yes Display name for the link
Destination URL Yes The URL to redirect to
Tracking Domain No A verified custom domain to use for this link
Link Slug No Custom slug; auto-generated if omitted

The import dialog shows a preview table before submitting. Rows with validation errors are flagged and skipped; valid rows are imported immediately.


πŸš€ Getting Started

A detailed getting started guide can be found at umami.is/docs.


πŸ›  Installing from Source

Requirements

  • A server with Node.js version 18.18+.
  • A PostgreSQL database version v12.14+.

Get the source code and install packages

git clone https://github.com/umami-software/umami.git
cd umami
pnpm install

Configure Umami

Create an .env file with the following:

DATABASE_URL=connection-url

The connection URL format:

postgresql://username:mypassword@localhost:5432/mydb

Build the Application

pnpm run build

The build step will create tables in your database if you are installing for the first time. It will also create a login user with username admin and password umami.

Start the Application

pnpm run start

By default, this will launch the application on http://localhost:3000. You will need to either proxy requests from your web server or change the port to serve the application directly.


🐳 Installing with Docker

Umami provides Docker images as well as a Docker compose file for easy deployment.

Docker image:

docker pull docker.umami.is/umami-software/umami:latest

Docker compose (Runs Umami with a PostgreSQL database):

docker compose up -d

πŸ”„ Getting Updates

To get the latest features, simply do a pull, install any new dependencies, and rebuild:

git pull
pnpm install
pnpm build

To update the Docker image, simply pull the new images and rebuild:

docker compose pull
docker compose up --force-recreate -d

πŸ›Ÿ Support

GitHub Twitter LinkedIn Discord

About

Umami is a modern, privacy-focused analytics platform. An open-source alternative to Google Analytics, Mixpanel and Amplitude.

Resources

License

Contributing

Stars

3 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • TypeScript 97.1%
  • JavaScript 2.3%
  • Other 0.6%