diff --git a/Dockerfile b/Dockerfile index 39887e465..ddde77fc5 100644 --- a/Dockerfile +++ b/Dockerfile @@ -42,7 +42,7 @@ RUN set -x \ && apk add --no-cache curl # Script dependencies -RUN pnpm add npm-run-all dotenv chalk semver prisma@6.18.0 @prisma/adapter-pg@6.18.0 +RUN pnpm add npm-run-all dotenv chalk semver prisma@6.16.3 @prisma/adapter-pg@6.16.3 # Permissions for prisma RUN chown -R nextjs:nodejs node_modules/.pnpm/ diff --git a/README.md b/README.md index 6d166d8c8..fcbe856f1 100644 --- a/README.md +++ b/README.md @@ -36,7 +36,7 @@ A detailed getting started guide can be found at [umami.is/docs](https://umami.i ### Requirements - A server with Node.js version 18.18 or newer -- A database. Umami supports [PostgreSQL](https://www.postgresql.org/) (minimum v12.14) databases. +- A database. Umami supports [MariaDB](https://www.mariadb.org/) (minimum v10.5), [MySQL](https://www.mysql.com/) (minimum v8.0) and [PostgreSQL](https://www.postgresql.org/) (minimum v12.14) databases. ### Get the Source Code and Install Packages @@ -58,6 +58,7 @@ The connection URL format: ```bash postgresql://username:mypassword@localhost:5432/mydb +mysql://username:mypassword@localhost:3306/mydb ``` ### Build the Application @@ -92,6 +93,12 @@ Alternatively, to pull just the Umami Docker image with PostgreSQL support: docker pull docker.umami.is/umami-software/umami:postgresql-latest ``` +Or with MySQL support: + +```bash +docker pull docker.umami.is/umami-software/umami:mysql-latest +``` + --- ## 🔄 Getting Updates diff --git a/src/lib/db.ts b/src/lib/db.ts index 72a18c062..0ffedd0d8 100644 --- a/src/lib/db.ts +++ b/src/lib/db.ts @@ -1,5 +1,6 @@ export const PRISMA = 'prisma'; export const POSTGRESQL = 'postgresql'; +export const MYSQL = 'mysql'; export const CLICKHOUSE = 'clickhouse'; export const KAFKA = 'kafka'; export const KAFKA_PRODUCER = 'kafka-producer'; @@ -30,7 +31,7 @@ export async function runQuery(queries: any) { const db = getDatabaseType(); - if (db === POSTGRESQL) { + if (db === POSTGRESQL || db === MYSQL) { return queries[PRISMA](); } } diff --git a/src/lib/detect.ts b/src/lib/detect.ts index c5528465d..16ff97da2 100644 --- a/src/lib/detect.ts +++ b/src/lib/detect.ts @@ -30,18 +30,10 @@ const PROVIDER_HEADERS = [ }, ]; -export function getDevice(userAgent: string, screen: string = '') { +export function getDevice(userAgent: string) { const { device } = UAParser(userAgent); - const [width] = screen.split('x'); - - const type = device?.type || 'desktop'; - - if (type === 'desktop' && screen && +width <= 1920) { - return 'laptop'; - } - - return type; + return device?.type || 'desktop'; } function getRegionCode(country: string, region: string) { @@ -116,7 +108,7 @@ export async function getClientInfo(request: Request, payload: Record