Umami is a simple, fast, website analytics alternative to Google Analytics.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Mike Cao 405766d829
Merge pull request #512 from mikecao/dev
9 months ago
.github Convert buttons to links. 1 year ago
assets Updated log table rendering. 1 year ago
components Updated date formatting for locales. 9 months ago
hooks Fix basePath references. 10 months ago
lang pref: improve simplified chinese translation. 9 months ago
lib Merge pull request #504 from gnarlex/fix-domain-regex 9 months ago
pages Remove domain parameter from queries. 9 months ago
prisma Enable public website sharing. 1 year ago
public Added country name file. 10 months ago
redux Created share token hook. 1 year ago
scripts Fix broken loadtest 10 months ago
sql Fix charset issues on mySQL (fixes #388) 1 year ago
styles fix: the page content jitters when the page jumps. 9 months ago
tracker Update tracker script. 10 months ago
.dockerignore for better local building performance 1 year ago
.eslintrc.json Updated pages and referrer filters to merge urls. 1 year ago
.gitignore Updated log display. 1 year ago
.prettierignore Add indexes to tables. 1 year ago
.prettierrc.json Initial commit. 1 year ago
.stylelintrc.json Initial commit. 1 year ago
Dockerfile disable telemetry of yarn and next by default 1 year ago
LICENSE Added license. 1 year ago
Procfile Add Procfile to tell Heroku how to start the app 1 year ago Added page not found string. 1 year ago
docker-compose.yml Update docker-compose.yml 1 year ago
jsconfig.json Initial commit. 1 year ago
lang-ignore.json Added Czech language. 1 year ago
next.config.js Add environment variable for basePath. 1 year ago
package.json Bump version. 9 months ago
postcss.config.js Initial commit. 1 year ago
rollup.tracker.config.js Updated api fetch to return an object. 1 year ago
yarn.lock Updated packages. 9 months ago


Umami is a simple, fast, website analytics alternative to Google Analytics.

Getting started

A detailed getting started guide can be found at

Installing from source


  • A server with Node.js 10.13 or newer
  • A database (MySQL or Postgresql)

Get the source code and install packages

git clone
cd umami
npm install

Create database tables

Umami supports MySQL and Postgresql. Create a database for your Umami installation and install the tables with the included scripts.

For MySQL:

mysql -u username -p databasename < sql/schema.mysql.sql

For Postgresql:

psql -h hostname -U username -d databasename -f sql/schema.postgresql.sql

This will also create a login account with username admin and password umami.

Configure umami

Create an .env file with the following

DATABASE_URL=(connection url)
HASH_SALT=(any random string)

The connection url is in the following format:



The HASH_SALT is used to generate unique values for your installation.

Build the application

npm run build

Start the application

npm 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

To build the umami container and start up a Postgres database, run:

docker-compose up

Alternatively, to pull just the Umami Docker image with PostgreSQL support:

docker pull

Or with MySQL support:

docker pull

Getting updates

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

git pull
npm install
npm run build