Skip to content

Commit

Permalink
Merge pull request #2794 from umami-software/dev
Browse files Browse the repository at this point in the history
v2.12.0
  • Loading branch information
mikecao committed Jun 20, 2024
2 parents 7a75639 + 2969435 commit 87a0378
Show file tree
Hide file tree
Showing 304 changed files with 16,024 additions and 2,324 deletions.
111 changes: 83 additions & 28 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,69 +1,93 @@
# umami
<p align="center">
<img src="https://umami.is/images/umami-logo.png" alt="Umami Logo" width="100">
</p>

Umami is a simple, fast, privacy-focused alternative to Google Analytics.
<h1 align="center">Umami</h1>

## Getting started
<p align="center">
<i>Umami is a simple, fast, privacy-focused alternative to Google Analytics.</i>
</p>

A detailed getting started guide can be found at [https://umami.is/docs/](https://umami.is/docs/)
<p align="center">
<a href="https://github.com/umami-software/umami/releases">
<img src="https://img.shields.io/github/release/umami-software/umami.svg" alt="GitHub Release" />
</a>
<a href="https://github.com/umami-software/umami/blob/master/LICENSE">
<img src="https://img.shields.io/github/license/umami-software/umami.svg" alt="MIT License" />
</a>
<a href="https://github.com/umami-software/umami/actions">
<img src="https://img.shields.io/github/actions/workflow/status/umami-software/umami/ci.yml" alt="Build Status" />
</a>
<a href="https://analytics.umami.is/share/LGazGOecbDtaIwDr/umami.is" style="text-decoration: none;">
<img src="https://img.shields.io/badge/Try%20Demo%20Now-Click%20Here-brightgreen" alt="Umami Demo" />
</a>
</p>

## Installing from source
---

## 🚀 Getting Started

A detailed getting started guide can be found at [umami.is/docs](https://umami.is/docs/).

---

## 🛠 Installing from Source

### Requirements

- A server with Node.js version 16.13 or newer
- A database. Umami supports [MySQL](https://www.mysql.com/) (minimum v8.0) and [Postgresql](https://www.postgresql.org/) (minimum v12.14) databases.
- A database. Umami supports [MySQL](https://www.mysql.com/) (minimum v8.0) and [PostgreSQL](https://www.postgresql.org/) (minimum v12.14) databases.

### Install Yarn

```
```bash
npm install -g yarn
```

### Get the source code and install packages
### Get the Source Code and Install Packages

```
```bash
git clone https://github.com/umami-software/umami.git
cd umami
yarn install
```

### Configure umami
### Configure Umami

Create an `.env` file with the following
Create an `.env` file with the following:

```
```bash
DATABASE_URL=connection-url
```

The connection url is in the following format:
The connection URL format:

```
```bash
postgresql://username:mypassword@localhost:5432/mydb
mysql://username:mypassword@localhost:3306/mydb
```

### Build the application
### Build the Application

```bash
yarn build
```

The build step will also create tables in your database if you are installing for the first time. It will also create a login user with username **admin** and password **umami**.
*The build step will create tables in your database if you are installing for the first time. It will also create a login user with username **admin** and password **umami**.*

### Start the application
### Start the Application

```bash
yarn 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
or change the [port](https://nextjs.org/docs/api-reference/cli#production) to serve the application directly.
*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 or change the [port](https://nextjs.org/docs/api-reference/cli#production) to serve the application directly.*

## Installing with Docker
---

To build the umami container and start up a Postgres database, run:
## 🐳 Installing with Docker

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

```bash
docker compose up -d
Expand All @@ -81,7 +105,9 @@ Or with MySQL support:
docker pull docker.umami.is/umami-software/umami:mysql-latest
```

## Getting updates
---

## 🔄 Getting Updates

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

Expand All @@ -98,7 +124,36 @@ docker compose pull
docker compose up --force-recreate
```

## License

MIT

---

## 🛟 Support

<p align="center">
<a href="https://github.com/umami-software/umami">
<img src="https://img.shields.io/badge/GitHub--blue?style=social&logo=github" alt="GitHub" />
</a>
<a href="https://twitter.com/umami_software">
<img src="https://img.shields.io/badge/Twitter--blue?style=social&logo=twitter" alt="Twitter" />
</a>
<a href="https://linkedin.com/company/umami-software">
<img src="https://img.shields.io/badge/LinkedIn--blue?style=social&logo=linkedin" alt="LinkedIn" />
</a>
<a href="https://umami.is/discord">
<img src="https://img.shields.io/badge/Discord--blue?style=social&logo=discord" alt="Discord" />
</a>
</p>

[release-shield]: https://img.shields.io/github/release/umami-software/umami.svg
[releases-url]: https://github.com/umami-software/umami/releases
[license-shield]: https://img.shields.io/github/license/umami-software/umami.svg
[license-url]: https://github.com/umami-software/umami/blob/master/LICENSE
[build-shield]: https://img.shields.io/github/actions/workflow/status/umami-software/umami/ci.yml
[build-url]: https://github.com/umami-software/umami/actions
[github-shield]: https://img.shields.io/badge/GitHub--blue?style=social&logo=github
[github-url]: https://github.com/umami-software/umami
[twitter-shield]: https://img.shields.io/badge/Twitter--blue?style=social&logo=twitter
[twitter-url]: https://twitter.com/umami_software
[linkedin-shield]: https://img.shields.io/badge/LinkedIn--blue?style=social&logo=linkedin
[linkedin-url]: https://linkedin.com/company/umami-software
[discord-shield]: https://img.shields.io/badge/Discord--blue?style=social&logo=discord
[discord-url]: https://discord.com/invite/4dz4zcXYrQ
28 changes: 15 additions & 13 deletions next.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,18 +3,17 @@ require('dotenv').config();
const path = require('path');
const pkg = require('./package.json');

const basePath = process.env.BASE_PATH || '';
const forceSSL = process.env.FORCE_SSL || '';
const collectApiEndpoint = process.env.COLLECT_API_ENDPOINT || '';
const defaultLocale = process.env.DEFAULT_LOCALE || '';
const trackerScriptName = process.env.TRACKER_SCRIPT_NAME || '';
const cloudMode = process.env.CLOUD_MODE || '';
const cloudUrl = process.env.CLOUD_URL || '';
const frameAncestors = process.env.ALLOWED_FRAME_URLS || '';
const disableLogin = process.env.DISABLE_LOGIN || '';
const disableUI = process.env.DISABLE_UI || '';
const hostURL = process.env.HOST_URL || '';
const privateMode = process.env.PRIVATE_MODE || '';
const basePath = process.env.BASE_PATH;
const collectApiEndpoint = process.env.COLLECT_API_ENDPOINT;
const cloudMode = process.env.CLOUD_MODE;
const cloudUrl = process.env.CLOUD_URL;
const defaultLocale = process.env.DEFAULT_LOCALE;
const disableLogin = process.env.DISABLE_LOGIN;
const disableUI = process.env.DISABLE_UI;
const forceSSL = process.env.FORCE_SSL;
const frameAncestors = process.env.ALLOWED_FRAME_URLS;
const privateMode = process.env.PRIVATE_MODE;
const trackerScriptName = process.env.TRACKER_SCRIPT_NAME;

const contentSecurityPolicy = [
`default-src 'self'`,
Expand Down Expand Up @@ -120,7 +119,6 @@ const config = {
defaultLocale,
disableLogin,
disableUI,
hostURL,
privateMode,
},
basePath,
Expand Down Expand Up @@ -169,6 +167,10 @@ const config = {
source: '/telemetry.js',
destination: '/api/scripts/telemetry',
},
{
source: '/teams/:teamId/:path*',
destination: '/:path*',
},
];
},
async redirects() {
Expand Down
1 change: 1 addition & 0 deletions package.components.json
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
"@tanstack/react-query": "^4.33.0",
"classnames": "^2.3.1",
"colord": "^2.9.2",
"date-fns-tz": "^1.1.4",
"immer": "^9.0.12",
"moment-timezone": "^0.5.35",
"next": "^13.4.0",
Expand Down
12 changes: 6 additions & 6 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "umami",
"version": "2.11.3",
"version": "2.12.0",
"description": "A simple, fast, privacy-focused alternative to Google Analytics.",
"author": "Umami Software, Inc. <hello@umami.is>",
"license": "MIT",
Expand Down Expand Up @@ -64,14 +64,14 @@
".next/cache"
],
"dependencies": {
"@clickhouse/client": "^0.2.2",
"@clickhouse/client": "^1.0.2",
"@fontsource/inter": "^4.5.15",
"@prisma/client": "5.12.1",
"@prisma/client": "5.14.0",
"@prisma/extension-read-replicas": "^0.3.0",
"@react-spring/web": "^9.7.3",
"@tanstack/react-query": "^5.28.6",
"@umami/prisma-client": "^0.14.0",
"@umami/redis-client": "^0.20.0",
"@umami/redis-client": "^0.21.0",
"chalk": "^4.1.1",
"chart.js": "^4.4.2",
"chartjs-adapter-date-fns": "^3.0.0",
Expand All @@ -98,11 +98,11 @@
"maxmind": "^4.3.6",
"md5": "^2.3.0",
"moment-timezone": "^0.5.35",
"next": "14.1.4",
"next": "14.2.3",
"next-basics": "^0.39.0",
"node-fetch": "^3.2.8",
"npm-run-all": "^4.1.5",
"prisma": "5.12.1",
"prisma": "5.14.0",
"react": "^18.2.0",
"react-basics": "^0.123.0",
"react-beautiful-dnd": "^13.1.0",
Expand Down
Loading

0 comments on commit 87a0378

Please sign in to comment.