Umami is a simple, fast, privacy-focused alternative to Google Analytics.
 
 
 
 
Go to file
Mats 4abafd81a8
Added pm2 start and custom port
2020-08-19 08:57:53 +02:00
assets Enable public website sharing. 2020-08-15 01:17:15 -07:00
components Use portal for modals. Prisma disconnect after query. 2020-08-18 23:35:26 -07:00
hooks Added user button and menu. 2020-08-05 23:03:07 -07:00
lib Use portal for modals. Prisma disconnect after query. 2020-08-18 23:35:26 -07:00
pages Show active visitor count. 2020-08-18 00:51:32 -07:00
prisma Enable public website sharing. 2020-08-15 01:17:15 -07:00
public Moved cli to separate project. Separate database schemas. 2020-08-13 01:41:11 -07:00
redux Implement redux. 2020-08-04 22:45:05 -07:00
sql Fixed mysql schema import. 2020-08-18 15:22:07 -07:00
styles Show active visitor count. 2020-08-18 00:51:32 -07:00
tracker Created cli command. Updated tracker script. 2020-07-23 22:07:57 -07:00
.eslintrc.json Added world map component. 2020-08-01 03:34:56 -07:00
.gitignore Capture pushState events. 2020-07-18 22:51:17 -07:00
.prettierignore Add indexes to tables. 2020-07-17 19:33:40 -07:00
.prettierrc.json Initial commit. 2020-07-17 01:03:38 -07:00
.stylelintrc.json Initial commit. 2020-07-17 01:03:38 -07:00
LICENSE Added license. 2020-08-17 00:05:57 -07:00
README.md Added pm2 start and custom port 2020-08-19 08:57:53 +02:00
jsconfig.json Initial commit. 2020-07-17 01:03:38 -07:00
next.config.js Initial commit. 2020-07-17 01:03:38 -07:00
package.json Bump version. 2020-08-18 23:35:57 -07:00
postcss.config.js Initial commit. 2020-07-17 01:03:38 -07:00
rollup.tracker.config.js Build cli using rollup. 2020-07-24 17:00:56 -07:00
yarn.lock Enable public website sharing. 2020-08-15 01:17:15 -07:00

README.md

umami

Installation

Get the source code

git clone https://github.com/mikecao/umami.git

Go into the repo folder

cd umami

Install packages

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

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.

Generate database client

Depending on your database type, run the appropriate script.

For MySQL:

npm run build-mysql-client

For Postgresql:

npm run build-postgresql-client

Create a production build

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.

Start the application with pm2 and custom port

Add the custom port (here '-p 3010') at the start script:

"scripts": {
  "dev": "next dev",
  "build": "next build",
  "start": "next start -p 3010",
  "build-tracker": "rollup -c rollup.tracker.config.js",
  "build-mysql-schema": "dotenv prisma introspect -- --schema=./prisma/schema.mysql.prisma",
  "build-mysql-client": "dotenv prisma generate -- --schema=./prisma/schema.mysql.prisma",
  "build-postgresql-schema": "dotenv prisma introspect -- --schema=./prisma/schema.postgresql.prisma",
  "build-postgresql-client": "dotenv prisma generate -- --schema=./prisma/schema.postgresql.prisma"
},

Start the application with pm2:

pm2 start npm --name "unami" -- start

License

MIT