Umami is a simple, fast, privacy-focused alternative to Google Analytics.
A detailed getting started guide can be found at https://umami.is/docs/
A fast way to get up and running is to use Railway
See Running on Railway to get started.
- A server with Node.js 12 or newer
- A database (MySQL or Postgresql)
git clone https://github.com/mikecao/umami.git
cd umami
npm install
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.
Create an .env
file with the following
DATABASE_URL=(connection url)
HASH_SALT=(any random string)
The connection url is in the following format:
postgresql://username:mypassword@localhost:5432/mydb
mysql://username:mypassword@localhost:3306/mydb
The HASH_SALT
is used to generate unique values for your installation.
npm run build
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.
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 ghcr.io/mikecao/umami:postgresql-latest
Or with MySQL support:
docker pull ghcr.io/mikecao/umami:mysql-latest
To get the latest features, simply do a pull, install any new dependencies, and rebuild:
git pull
npm install
npm run build
To update the Docker image, simply pull the new images and rebuild:
docker-compose pull
docker-compose up --force-recreate
MIT