2020-08-13 10:41:11 +02:00
# umami
2020-08-19 23:35:38 +02:00
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/ ](https://umami.is/docs/ )
2020-08-23 04:05:07 +02:00
## Installing from source
2020-08-13 10:41:11 +02:00
2020-08-19 23:35:38 +02:00
### Requirements
- A server with Node.js 10.13 or newer
- A database (MySQL or Postgresql)
2020-08-20 05:51:35 +02:00
### Get the source code and install packages
2020-08-13 10:41:11 +02:00
```
git clone https://github.com/mikecao/umami.git
cd umami
2020-08-17 06:28:54 +02:00
npm install
```
2020-08-13 10:41:11 +02:00
### Create database tables
2020-08-17 06:28:54 +02:00
Umami supports [MySQL ](https://www.mysql.com/ ) and [Postgresql ](https://www.postgresql.org/ ).
Create a database for your Umami installation and install the tables with the included scripts.
2020-08-13 10:41:11 +02:00
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
```
2020-08-20 04:03:42 +02:00
This will also create a login account with username **admin** and password **umami** .
2020-08-13 10:41:11 +02:00
### 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
```
2020-08-18 01:46:13 +02:00
The `HASH_SALT` is used to generate unique values for your installation.
2020-08-17 06:28:54 +02:00
2020-08-21 11:22:07 +02:00
### Build the application
2020-08-13 10:41:11 +02:00
2020-09-06 07:44:56 +02:00
```bash
2020-08-13 10:41:11 +02:00
npm run build
2020-08-17 06:28:54 +02:00
```
### Start the application
2020-09-06 07:44:56 +02:00
```bash
2020-08-17 06:28:54 +02:00
npm start
```
By default this will launch the application on `http://localhost:3000` . You will need to either
[proxy ](https://docs.nginx.com/nginx/admin-guide/web-server/reverse-proxy/ ) requests from your web server
2020-08-17 09:05:57 +02:00
or change the [port ](https://nextjs.org/docs/api-reference/cli#production ) to serve the application directly.
2020-08-23 04:05:07 +02:00
## Installing with Docker
2020-08-19 06:23:04 +02:00
To build the umami container and start up a Postgres database, run:
2020-09-06 07:44:56 +02:00
```bash
2020-08-19 06:23:04 +02:00
docker-compose up
```
2020-09-25 08:37:08 +02:00
> If you only using the docker-compose file without cloning the directory, don't forget to copy the **sql/schema.postgresql.sql** folder and file in the same directory as your docker-compose file.
2020-09-06 07:44:56 +02:00
Alternatively, to pull just the Umami Docker image with PostgreSQL support:
```bash
docker pull ghcr.io/mikecao/umami:postgresql-latest
```
Or with MySQL support:
```bash
docker pull ghcr.io/mikecao/umami:mysql-latest
```
2020-09-04 01:32:09 +02:00
## Getting updates
2020-09-03 17:56:51 +02:00
To get the latest features, simply do a pull, install any new dependencies, and rebuild:
2020-09-06 07:44:56 +02:00
```bash
2020-09-03 17:56:51 +02:00
git pull
npm install
npm run build
```
2020-08-17 09:05:57 +02:00
## License
2020-09-06 07:44:56 +02:00
MIT