umami
Umami is a simple, fast, website analytics alternative to Google Analytics.
Getting started
A detailed getting started guide can be found at https://umami.is/docs/
Installing from source
Requirements
- A server with Node.js 10.13 or newer
- A database (MySQL or Postgresql)
Get the source code and install packages
git clone https://github.com/mikecao/umami.git
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:
postgresql://username:mypassword@localhost:5432/mydb
mysql://username:mypassword@localhost:3306/mydb
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 ghcr.io/mikecao/umami:postgresql-latest
Or with MySQL support:
docker pull ghcr.io/mikecao/umami:mysql-latest
Getting updates
To get the latest features, simply do a pull, install any new dependencies, and rebuild:
git pull
npm install
npm run build
License
MIT