Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
717 commits
Select commit Hold shift + click to select a range
8971f23
Should clear all parameter.
mikecao Oct 4, 2025
fdfa8b0
Added expanded view for pixels/links. Made filter form into a popover.
mikecao Oct 4, 2025
eabfec9
Updated website edit.
mikecao Oct 4, 2025
ed013d5
Fixed spacing issue in confirmation form.
mikecao Oct 4, 2025
03adb6b
Added website check for cloud.
mikecao Oct 4, 2025
5c0dacf
Fix build.
mikecao Oct 4, 2025
2d01043
Don't build Docker images for dev.
mikecao Oct 4, 2025
82813f3
Added workflow to delete untagged images.
mikecao Oct 4, 2025
b152cfe
Added workflow to delete untagged images.
mikecao Oct 4, 2025
aaf9205
Merge remote-tracking branch 'origin/master'
mikecao Oct 4, 2025
35c2758
Updated workflow to only run on tag publish.
mikecao Oct 4, 2025
d23ad5f
Merge branch 'master' into dev
mikecao Oct 4, 2025
3496952
Fixed empty website select. Converted session profile to popover.
mikecao Oct 5, 2025
c5994e5
Save name after website select. Fixed types.
mikecao Oct 5, 2025
caf0401
Fixed default date range handling. Added header to share page.
mikecao Oct 5, 2025
aa376d2
Fix margin on website edit
franciscao633 Oct 6, 2025
777515f
Merge pull request #3637 from mdotme/uz-lang
mikecao Oct 6, 2025
e64a01d
fix redis set for resetWebsite cloudMode
franciscao633 Oct 6, 2025
f733690
Added lookup for cloud account. Added SessionModal component.
mikecao Oct 6, 2025
dbac619
Merge remote-tracking branch 'origin/dev' into dev
mikecao Oct 6, 2025
e7f565f
Don't allow saving segments on share page.
mikecao Oct 6, 2025
dbc9525
Fixed docker build.
mikecao Oct 6, 2025
3e16394
Updated lang files.
mikecao Oct 6, 2025
767b373
Fixed issue with read replica initialization.
mikecao Oct 6, 2025
895b41c
Updated login form.
mikecao Oct 7, 2025
5244d86
Fixed links/pixel lookup.
mikecao Oct 7, 2025
cc37108
optimize getWebsiteEvent hasData
franciscao633 Oct 7, 2025
0d67f1f
optimize getSessionActivity hasData
franciscao633 Oct 7, 2025
d0aa266
Fixed resetAt lookup. Added teams GET.
mikecao Oct 7, 2025
5a7c6a9
Merge remote-tracking branch 'origin/analytics' into analytics
mikecao Oct 7, 2025
d440a44
clean-up useWebsite query params
franciscao633 Oct 7, 2025
36ae536
Merge branch 'analytics' of https://github.com/umami-software/umami i…
franciscao633 Oct 7, 2025
d948e12
fix resetAt logic
franciscao633 Oct 7, 2025
1b43aa8
add max width to listtable label
franciscao633 Oct 7, 2025
bac3ab2
add maxwidth on event/session activity
franciscao633 Oct 7, 2025
8a13e2c
Fixed reports fetch.
mikecao Oct 8, 2025
a8e3b5e
Add rewrite for script in cloud mode.
mikecao Oct 8, 2025
64b5a72
add eventchart and metrictable to sharepage
franciscao633 Oct 9, 2025
654156d
add event header
franciscao633 Oct 9, 2025
038f397
change event labels to match other cards
franciscao633 Oct 9, 2025
e4ce7c9
Created ExpandedViewModal component.
mikecao Oct 9, 2025
8aa4192
Responsive updates.
mikecao Oct 10, 2025
ac9edb8
Updated realtime page.
mikecao Oct 10, 2025
5392962
Fixed regex for filter params.
mikecao Oct 10, 2025
1498171
Responsive updates.
mikecao Oct 11, 2025
df3ae72
Removed text.
mikecao Oct 11, 2025
9fb38f6
fix zod validations and prisma query for admin teams
franciscao633 Oct 14, 2025
ba45972
fix filter passthrough into event-data endpoints
franciscao633 Oct 14, 2025
d9b08d9
Card mode for tables.
mikecao Oct 13, 2025
be5f049
Added MobileMenuButton component.
mikecao Oct 14, 2025
10bc289
New mobile menu.
mikecao Oct 15, 2025
5c3a6ce
Merge remote-tracking branch 'origin/dev' into dev
mikecao Oct 15, 2025
9df0120
Mobile fixes.
mikecao Oct 15, 2025
a2b1089
clean-up event/event-data endpoints. fix for expanded view for mobile
franciscao633 Oct 15, 2025
a7a7293
dvh height for mobile expanded view
franciscao633 Oct 15, 2025
f23d569
clean up events/event-data endpoints
franciscao633 Oct 15, 2025
4d2a7ea
Responsive everything.
mikecao Oct 16, 2025
036748c
Merge remote-tracking branch 'origin/dev' into dev
mikecao Oct 16, 2025
40492ec
Added DialogButton to handle mobile.
mikecao Oct 17, 2025
bcafa12
Small fixes.
mikecao Oct 17, 2025
9a5604f
Fixes for mobile.
mikecao Oct 18, 2025
ddc7aff
More mobile fixes.
mikecao Oct 18, 2025
d8fdba7
Updated packages.
mikecao Oct 21, 2025
06230ad
clean up teams api messaging and permissions
franciscao633 Oct 21, 2025
b7747b3
clean-up hooks for passing uneccessary date params
franciscao633 Oct 21, 2025
f98e683
add zod schema to realtime endpoint
franciscao633 Oct 22, 2025
533a42e
clean-up session api endpoints and queries
franciscao633 Oct 22, 2025
2e1a5b4
revenue, events, and session activity optimization
franciscao633 Oct 22, 2025
f5bf148
add close button on session modal
franciscao633 Oct 22, 2025
d87ae84
fix reports permissions, long team overflow, language settings
franciscao633 Oct 22, 2025
1d3e980
revert saveLocale change
franciscao633 Oct 22, 2025
e71a34d
fix getChannelMetrics prisma query
franciscao633 Oct 23, 2025
61b667c
update psql expanded metrics queries
franciscao633 Oct 24, 2025
2ffde37
v3 prisma queries update
franciscao633 Oct 27, 2025
74972bc
add isMobile truncation logic to ListTable
franciscao633 Oct 27, 2025
6eefb41
add improved truncation between tablets and phones
franciscao633 Oct 27, 2025
c81b1c1
fix geteventdatavalues query
franciscao633 Oct 29, 2025
ef55b63
Fix admin layout and data refresh after update/delete
franciscao633 Oct 29, 2025
72fba18
separate Admin/Settings Nav and add to MobileNav
franciscao633 Oct 29, 2025
f073fb1
Add DialogTrigger to overflow menus
franciscao633 Oct 29, 2025
dfe969c
Fixed pixels/links collect.
mikecao Oct 30, 2025
504c459
update schema validation for link/pixel updates
franciscao633 Oct 30, 2025
b08a6e1
Don't prefetch pixel links.
mikecao Oct 31, 2025
751568d
Merge remote-tracking branch 'origin/dev' into dev
mikecao Oct 31, 2025
067567c
Force geo build with BUILD_GEO env var.
mikecao Oct 31, 2025
eb3cfbf
Updated lock file.
mikecao Oct 31, 2025
c9f522b
remove MySQL references from README
franciscao633 Oct 31, 2025
684863d
Added laptop detection. Reorganized IP headers.
mikecao Nov 4, 2025
79e324a
Updated Dockerfile to match current Prisma version.
mikecao Nov 4, 2025
3cb7fa3
fix: quote "event" reserved keyword in journey queries
rkoh-rq Nov 4, 2025
5398cd8
Reordered IP headers.
mikecao Nov 4, 2025
a6d4519
set maxHeight for DialogButton. remove from individual buttons
franciscao633 Nov 4, 2025
9809200
Merge pull request #3683 from umami-software/dev
mikecao Nov 6, 2025
b5795a8
Fixed update notice.
mikecao Nov 7, 2025
6135ef9
Fixed test.
mikecao Nov 7, 2025
4272bb4
Removed db types from docker build.
mikecao Nov 7, 2025
03ed534
Merge branch 'dev'
mikecao Nov 7, 2025
437c960
Fixed build.
mikecao Nov 7, 2025
04a05bb
Added workflow input.
mikecao Nov 7, 2025
dd65569
Updated image tag.
mikecao Nov 7, 2025
a90b788
Updated cd script.
mikecao Nov 7, 2025
b200346
Change Umami Docker image tag to 'latest'
mathis5711 Nov 7, 2025
6d16642
Update README with deprecation notice for PostgreSQL image
mathis5711 Nov 7, 2025
9ad17e0
Fix warning message for updating from Umami V2
mathis5711 Nov 7, 2025
e49624a
Apply suggestions from code review
mathis5711 Nov 7, 2025
df3ca02
Always push latest for Docker.
mikecao Nov 7, 2025
d2f512c
Don't publish .sig files.
mikecao Nov 7, 2025
3e9ca87
Removed workflow script.
mikecao Nov 7, 2025
6ee93f7
Updated README and cd.yml.
mikecao Nov 7, 2025
8119dae
Updated GH workflow.
mikecao Nov 7, 2025
e3ca002
Fixed tags in build.
mikecao Nov 7, 2025
de65151
Fixed Docker permissions.
mikecao Nov 8, 2025
6ba9c1c
New docker workflow.
mikecao Nov 8, 2025
c3f3a7d
Fix: disable download button when no data available
Nov 8, 2025
cf31ca2
Fix: disable download button when no data available
Nov 8, 2025
1879c16
fix: Redirect loop on auth failure
metaloozee Nov 8, 2025
03c892a
Merge pull request #3688 from mathis5711/patch-docker-image-name
mikecao Nov 8, 2025
227201a
Merge pull request #3706 from metaloozee/3703
mikecao Nov 8, 2025
b9e9026
chore [#3699] : fix .gitignore syntax and untrack package-lock.json
Nov 8, 2025
bf548c5
Fix revenue bigInt but and case insensitive currency
franciscao633 Nov 10, 2025
c44f6f8
Merge branch 'dev' of https://github.com/umami-software/umami into dev
franciscao633 Nov 10, 2025
f307246
Fix null and string return types from getWebsiteStats
franciscao633 Nov 10, 2025
9230f3c
manually include basePath
franciscao633 Nov 10, 2025
f3e246c
fix hasdata queries, add hasData to website events, fix sessionactivi…
franciscao633 Nov 10, 2025
64a6379
fix realtime logs for mobile
franciscao633 Nov 10, 2025
49e1582
implement generateTimeSeries for eventsChart
franciscao633 Nov 10, 2025
a1d6204
add canonicalizeTimezone conversions
franciscao633 Nov 11, 2025
13ab84d
Revert "add canonicalizeTimezone conversions"
franciscao633 Nov 11, 2025
839bf38
add canonicalizeTimezone conversions
franciscao633 Nov 11, 2025
8787764
Merge branch 'analytics' of https://github.com/umami-software/umami i…
franciscao633 Nov 11, 2025
592f7c0
Added check for REDIS_URL. Closes #3677.
mikecao Nov 11, 2025
4fe4bb9
Apply suggestion from @greptile-apps[bot]
mikecao Nov 11, 2025
a6e130a
Fix DownloadButton to avoid duplicate downloadCsv call
mikecao Nov 11, 2025
7ac5913
Merge pull request #3704 from prince0xdev/fix/disable-download-when-n…
mikecao Nov 11, 2025
3d8402d
Merge branch 'master' into dev
mikecao Nov 11, 2025
14f3db5
Use raw query with on conflict in createSession
Maxime-J Nov 11, 2025
14f5bab
Merge pull request #3731 from Maxime-J/unique-constraint
franciscao633 Nov 11, 2025
3078143
remove timezone from realtime. Closes #3700
franciscao633 Nov 11, 2025
bf498d9
add RealtimeData to types
franciscao633 Nov 11, 2025
678a2cc
fix: correct autocomplete attributes to enable password manager autofill
Nov 11, 2025
a56746c
fix: enable password manager autofill on login form (#3735)
Nov 11, 2025
3aa0957
Merge branch 'master' of https://github.com/umami-software/umami into…
franciscao633 Nov 12, 2025
371ff47
feat(geo): add support for direct .mmdb URL and custom GEO_DATABASE_URL
Mintimate Nov 12, 2025
e13362b
feat(geo): add redirect support for direct .mmdb downloads
Mintimate Nov 12, 2025
8a66603
Responsive fixes.
mikecao Nov 13, 2025
97ebdc1
Merge remote-tracking branch 'origin/dev' into dev
mikecao Nov 13, 2025
d98cc35
Merge pull request #3743 from Mintimate/master
mikecao Nov 13, 2025
9fbcec4
Merge pull request #3737 from prince0xdev/fix/login-autocomplete-user…
mikecao Nov 13, 2025
4531538
Restore OS formatting in tables
Maxime-J Nov 13, 2025
81bedec
Merge pull request #3749 from Maxime-J/os-formatting
mikecao Nov 13, 2025
6751bf8
fix chart and timezone issues, pass consistent dates to DB.
franciscao633 Nov 13, 2025
5ded9ab
Added data-fetch-credentials attribute. Closes #3644
mikecao Nov 14, 2025
a3f32b0
revert getDateStringSQL for CH
franciscao633 Nov 14, 2025
cc82549
Increase resetWebsite timeout. fix retention bug returning decimal da…
franciscao633 Nov 14, 2025
b1dc690
Merge branch 'dev' into patch-1
mikecao Nov 14, 2025
d382ad2
Merge pull request #3682 from rkoh-rq/patch-1
mikecao Nov 14, 2025
cb63e49
Fixed triggered event lookup. Closes #3742.
mikecao Nov 14, 2025
1852acc
Merge remote-tracking branch 'origin/dev' into dev
mikecao Nov 14, 2025
46388f8
Include prisma engine in Docker image
Maxime-J Nov 15, 2025
d34ad1d
docs: remove underlines between bandges in README.md
Abrar74774 Nov 15, 2025
e6586c6
Bump js-yaml from 3.14.1 to 3.14.2
dependabot[bot] Nov 17, 2025
ef3f727
Remember last team.
mikecao Nov 18, 2025
24b017c
Merge pull request #3765 from umami-software/dev
mikecao Nov 18, 2025
abc1b50
Reordered IP headers.
mikecao Nov 18, 2025
aaa1f9d
Merge branch 'dev'
mikecao Nov 18, 2025
af958b6
fix DateDistance null logic
franciscao633 Nov 20, 2025
15fda92
Switched to biome.
mikecao Nov 21, 2025
b45971d
Merge remote-tracking branch 'origin/dev' into dev
mikecao Nov 21, 2025
bc73726
remove relationMode from schema file
franciscao633 Nov 21, 2025
ffa97d3
Fix Revenue country sums error
franciscao633 Nov 21, 2025
9432119
Allow view-only to still join team
franciscao633 Nov 21, 2025
b9d52af
Updated prisma.
mikecao Nov 22, 2025
d51f064
Merge branch 'dev' of https://github.com/umami-software/umami into dev
mikecao Nov 23, 2025
099c8bf
Revert "remove relationMode from schema file"
franciscao633 Nov 23, 2025
67981db
Remove no longer applicable CloudFlare header test
franciscao633 Nov 23, 2025
fa8d805
Reformatted files with biome.
mikecao Nov 23, 2025
0ddec97
Merge remote-tracking branch 'origin/dev' into dev
mikecao Nov 23, 2025
2b34cbe
Fixed `/api/batch` request recreation failure
RaenonX Nov 24, 2025
67e1af7
fix: fix SQL syntax error in getPageviewExpandedMetrics query
travzhang Nov 25, 2025
5a44e6d
Merge pull request #3791 from travzhang/master
mikecao Nov 26, 2025
dcc1ae1
Merge pull request #3787 from RaenonX/master
mikecao Nov 26, 2025
a19b92a
Merge pull request #3756 from Abrar74774/master
mikecao Nov 26, 2025
5ea2a86
Merge pull request #3755 from Maxime-J/docker-prisma-engine
mikecao Nov 26, 2025
ac6ed9d
add case-insensitivity to currency comparison
franciscao633 Nov 26, 2025
5c9403f
Merge branch 'analytics' of https://github.com/umami-software/umami i…
franciscao633 Nov 26, 2025
3cc2c5b
downgrade prisma until 3.1 release
franciscao633 Nov 26, 2025
f5b5f15
fix: skip realtime chart animation when data unchanged
Lokimorty Nov 27, 2025
a645dc7
Issue#3802 - Team to user switch fixed
imsyedabdullah Nov 28, 2025
50bfee3
Moved the redirect to else statement
imsyedabdullah Nov 28, 2025
d7fd226
Fixed nav menus.
mikecao Nov 28, 2025
3379cc6
Merge remote-tracking branch 'origin/dev' into dev
mikecao Nov 28, 2025
776e404
fix: [#3778] update 'Edit' word to support translation
Nov 29, 2025
beb2bc0
feat: improve mobile navigation with clickable page elements (#3770)
Nov 29, 2025
046cb6e
feat(#3748): restore favicon icons in websites list
Nov 29, 2025
e5a5aee
feat(#3748): redirect user to last selected team on login
Nov 29, 2025
875c03b
Merge pull request #3801 from Lokimorty/skip-realtime-anim
mikecao Nov 30, 2025
92a7355
Fixed `/api/batch` request recreation failure
RaenonX Nov 24, 2025
805bc57
Added `browser` / `os` / `device` override in `payload`
RaenonX Nov 24, 2025
c86ea1a
Updated `/api/batch` to return `cache`
RaenonX Nov 24, 2025
4d70c3b
add support for UUID v7
IndraGunawan Dec 1, 2025
b16b98f
Merge branch 'dev' into support-uuidv7
IndraGunawan Dec 1, 2025
3071ee8
Merge branch 'dev' into 3802-team-to-user-switch
mikecao Dec 1, 2025
f5d6d0e
Merge branch 'dev' into feat/thumbnail-team-memory
mikecao Dec 1, 2025
4b954fb
Merge pull request #3806 from prince0xdev/feat/thumbnail-team-memory
mikecao Dec 1, 2025
cb034a1
prisma schema boards + varchar length increase
franciscao633 Dec 1, 2025
b0c1f90
Merge pull request #3760 from umami-software/dependabot/npm_and_yarn/…
mikecao Dec 1, 2025
9a2827b
Merge pull request #3811 from IndraGunawan/support-uuidv7
mikecao Dec 2, 2025
06251e1
Merge pull request #3803 from imsyedabdullah/3802-team-to-user-switch
mikecao Dec 2, 2025
f5896f0
Handle user account redirect.
mikecao Dec 2, 2025
b7807ed
feat(dev): add sample data generator script
Lokimorty Dec 2, 2025
c481bc5
chore: exclude seed scripts from Docker builds
Lokimorty Dec 2, 2025
935517c
add cascading deletes to revenue/segment table
franciscao633 Dec 2, 2025
170821e
Populate teams on login.
mikecao Dec 2, 2025
e7cb613
Merge remote-tracking branch 'origin/dev' into dev
mikecao Dec 2, 2025
b0f38b2
truncate large legend labels
franciscao633 Dec 2, 2025
22f1b7d
add theme and locale url parameter options to share page
franciscao633 Dec 2, 2025
f47e107
remove locale code from SharePage
franciscao633 Dec 3, 2025
b08413e
Merge branch 'dev' into seed-sample-data
mikecao Dec 3, 2025
7b3be59
Merge pull request #3819 from Lokimorty/seed-sample-data
mikecao Dec 3, 2025
89b9856
fix: disable prefetch for Links view button
IndraGunawan Dec 3, 2025
a0940d7
Updated packages.
mikecao Dec 3, 2025
58acee8
Merge branch 'dev' of https://github.com/umami-software/umami into dev
mikecao Dec 3, 2025
23ff20a
Merge pull request #3809 from RaenonX/master
mikecao Dec 3, 2025
1390e09
Merge branch 'dev' of https://github.com/umami-software/umami into dev
mikecao Dec 3, 2025
16cae69
Don't prefetch links/pixels. Closes #3814
mikecao Dec 3, 2025
32aee65
Merge pull request #3824 from IndraGunawan/disable-prefetch-view-link
mikecao Dec 3, 2025
9a269ab
Merge pull request #3805 from prince0xdev/feat/mobile-navigation-impr…
mikecao Dec 3, 2025
1ae1351
Merge branch 'dev' of https://github.com/umami-software/umami into dev
mikecao Dec 3, 2025
41d2a24
Merge branch 'master' into dev
mikecao Dec 3, 2025
6b58433
fix PageHeader type errors
franciscao633 Dec 3, 2025
65f657d
Revert "prisma schema boards + varchar length increase"
franciscao633 Dec 3, 2025
a06490a
Bump next from 15.5.3 to 15.5.7
dependabot[bot] Dec 3, 2025
dae7327
Fix date range increment function
franciscao633 Dec 3, 2025
be1b787
Merge branch 'dependabot/npm_and_yarn/next-15.5.7' of https://github.…
franciscao633 Dec 3, 2025
64767b1
Updated next. Fixed link RSC fetch.
mikecao Dec 3, 2025
33cb195
Merge remote-tracking branch 'origin/dev' into dev
mikecao Dec 3, 2025
c427c6f
Fixed replica logic.
mikecao Dec 4, 2025
1483241
Merge branch 'dev' of https://github.com/umami-software/umami into dev
mikecao Dec 4, 2025
2993db1
Updated README.
mikecao Dec 4, 2025
7e42b5b
Merge pull request #3827 from umami-software/dependabot/npm_and_yarn/…
mikecao Dec 4, 2025
33e927e
Bump version 3.0.2.
mikecao Dec 4, 2025
6027177
Fixed Docker build.
mikecao Dec 4, 2025
2b771ff
Merge pull request #3832 from umami-software/dev
mikecao Dec 4, 2025
81e27fc
Fix formatting for Docker compose instructions
mikecao Dec 4, 2025
e9cdaba
Upgraded react and next.
mikecao Dec 12, 2025
7bea47d
Bumped version v3.0.3. Updated workflow.
mikecao Dec 12, 2025
2a71cc7
Fixed CI build.
mikecao Dec 12, 2025
9b0d1b0
Updated worfkflow.
mikecao Dec 12, 2025
860e639
Updated Docker build.
mikecao Dec 12, 2025
3c0cf18
hebing
Dec 18, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
6 changes: 5 additions & 1 deletion .dockerignore
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,8 @@ Dockerfile
.gitignore
.DS_Store
node_modules
.idea
.idea
.env
.env.*
scripts/seed
scripts/seed-data.ts
50 changes: 0 additions & 50 deletions .eslintrc.json

This file was deleted.

2 changes: 1 addition & 1 deletion .github/workflows/cd-cloud.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: Create docker images
name: Create docker images (cloud)

on:
push:
Expand Down
48 changes: 0 additions & 48 deletions .github/workflows/cd-manual.yml

This file was deleted.

19 changes: 15 additions & 4 deletions .github/workflows/cd.yml
Original file line number Diff line number Diff line change
@@ -1,11 +1,24 @@
name: Create docker images

on: [create]
on:
push:
tags:
- "v*.*.*"
workflow_dispatch:
inputs:
version:
description: "Optional image version (e.g. 3.0.0, v3.0.0, or 3.0.0-beta.1)"
required: false
default: ""
include_latest:
description: "Include latest tag"
required: false
type: boolean
default: true

jobs:
build:
name: Build, push, and deploy
if: ${{ startsWith(github.ref, 'refs/tags/v') }}
runs-on: ubuntu-latest

strategy:
Expand Down Expand Up @@ -35,7 +48,5 @@ jobs:
tags: ${{ env.tag_major }}, ${{ env.tag_minor }}, ${{ env.tag_patch }}, ${{ env.tag_latest }}
buildArgs: DATABASE_TYPE=${{ matrix.db-type }}
registry: ghcr.io
multiPlatform: true
platform: linux/amd64,linux/arm64
username: ${{ github.actor }}
password: ${{ secrets.CR_PAT }}
38 changes: 16 additions & 22 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -1,34 +1,28 @@
# This workflow will do a clean installation of node dependencies, cache/restore them, build the source code and run tests across different versions of node
# For more information see: https://help.github.com/actions/language-and-framework-guides/using-nodejs-with-github-actions

name: Node.js CI

on: [push]

env:
DATABASE_TYPE: postgresql
DATABASE_URL: "postgresql://user:pass@localhost:5432/dummy"
SKIP_DB_CHECK: 1

jobs:
build:
if: github.repository == 'umami-software/umami'
runs-on: ubuntu-latest

strategy:
matrix:
include:
- node-version: 18.18
db-type: postgresql

steps:
- uses: actions/checkout@v4
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
cache: 'yarn'
env:
DATABASE_TYPE: ${{ matrix.db-type }}
- run: npm install --global yarn
- run: yarn install
- run: yarn test
- run: yarn build
- uses: actions/checkout@v4
- uses: pnpm/action-setup@v4
with:
version: 10
run_install: false
- name: Use Node.js 18.18
uses: actions/setup-node@v4
with:
node-version: 18.18
cache: "pnpm"
- run: npm install --global pnpm
- run: pnpm install
- run: pnpm test
- run: pnpm build
10 changes: 6 additions & 4 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -4,21 +4,23 @@
node_modules
.pnp
.pnp.js
.pnpm-store
package-lock.json

# testing
/coverage

# next.js
/.next/
/out/
/prisma/
/src/generated/
/.next
/out

# production
/build
/public/script.js
/geo
/dist
/generated
/src/generated

# misc
.DS_Store
Expand Down
3 changes: 0 additions & 3 deletions .husky/pre-commit
Original file line number Diff line number Diff line change
@@ -1,4 +1 @@
#!/bin/sh
. "$(dirname "$0")/_/husky.sh"

npx lint-staged
1 change: 0 additions & 1 deletion .prettierignore

This file was deleted.

7 changes: 0 additions & 7 deletions .prettierrc.json

This file was deleted.

9 changes: 2 additions & 7 deletions .stylelintrc.json
Original file line number Diff line number Diff line change
@@ -1,11 +1,6 @@
{
"extends": [
"stylelint-config-recommended",
"stylelint-config-css-modules",
"stylelint-config-prettier"
],
"extends": ["stylelint-config-recommended", "stylelint-config-css-modules"],
"rules": {
"no-descending-specificity": null
},
"ignoreFiles": ["**/*.js", "**/*.md"]
}
}
24 changes: 11 additions & 13 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
ARG NODE_IMAGE_VERSION="22-alpine"

# Install dependencies only when needed
FROM node:22-alpine3.22 AS deps
# Check https://github.com/nodejs/docker-node/tree/b4117f9333da4138b03a546ec926ef50a31506c3#nodealpine to understand why libc6-compat might be needed.
Expand All @@ -12,21 +14,21 @@ FROM node:22-alpine3.22 AS builder
WORKDIR /app
COPY --from=deps /app/node_modules ./node_modules
COPY . .
COPY docker/middleware.ts ./src

ARG DATABASE_TYPE
ARG BASE_PATH

ENV DATABASE_TYPE=$DATABASE_TYPE
ENV BASE_PATH=$BASE_PATH

ENV NEXT_TELEMETRY_DISABLED=1
ENV DATABASE_URL="postgresql://user:pass@localhost:5432/dummy"

RUN npm run build-docker

# Production image, copy all the files and run next
FROM node:22-alpine3.22 AS runner
WORKDIR /app

ARG PRISMA_VERSION="6.19.0"
ARG NODE_OPTIONS

ENV NODE_ENV=production
Expand All @@ -35,29 +37,25 @@ ENV NODE_OPTIONS=$NODE_OPTIONS

RUN addgroup --system --gid 1001 nodejs
RUN adduser --system --uid 1001 nextjs
RUN npm install -g pnpm

RUN set -x \
&& apk add --no-cache curl
&& apk add --no-cache curl \
&& npm install -g pnpm

# Script dependencies
RUN pnpm add npm-run-all dotenv prisma@6.7.0

# Permissions for prisma
RUN chown -R nextjs:nodejs node_modules/.pnpm/
RUN pnpm --allow-build='@prisma/engines' add npm-run-all dotenv chalk semver \
prisma@${PRISMA_VERSION} \
@prisma/adapter-pg@${PRISMA_VERSION}

COPY --from=builder --chown=nextjs:nodejs /app/public ./public
COPY --from=builder /app/prisma ./prisma
COPY --from=builder /app/scripts ./scripts
COPY --from=builder /app/generated ./generated

# Automatically leverage output traces to reduce image size
# https://nextjs.org/docs/advanced-features/output-file-tracing
COPY --from=builder --chown=nextjs:nodejs /app/.next/standalone ./
COPY --from=builder --chown=nextjs:nodejs /app/.next/static ./.next/static

# Custom routes
RUN mv ./.next/routes-manifest.json ./.next/routes-manifest-orig.json

USER nextjs

EXPOSE 3000
Expand Down
Loading