Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
379 commits
Select commit Hold shift + click to select a range
47dc364
Merge branch 'develop' of https://github.com/AdenMGB/drop into AdenMG…
DecDuck Apr 1, 2025
6f8e28d
fix: sidebar in library page
DecDuck Apr 1, 2025
68f5f88
fix: carousel pagination
DecDuck Apr 1, 2025
c809c8f
fix: re-request fix for $dropFetch
DecDuck Apr 1, 2025
d729770
fix: register redirect
DecDuck Apr 1, 2025
17372a9
feat: account pages framework & updates to library
DecDuck Apr 1, 2025
e7109e5
feat: update readme
DecDuck Apr 1, 2025
36e6c92
feat: add cloud save backend
DecDuck Apr 1, 2025
065951d
fix: update last accessed client on push
DecDuck Apr 1, 2025
57f50b0
fix: renable nuxt-security with xss validator off
DecDuck Apr 1, 2025
0f35d4a
feat: cache for session store in db
Huskydog9988 Apr 2, 2025
9dc35c8
Merge branch 'develop' into db-store
Huskydog9988 Apr 3, 2025
756bf8f
fix: add missing dev deps
Huskydog9988 Apr 3, 2025
97043d6
fix: register page validation
Huskydog9988 Apr 3, 2025
a9d1a44
refactor: session handler
Huskydog9988 Apr 3, 2025
81be7cc
Merge remote-tracking branch 'origin/develop' into db-store
Huskydog9988 Apr 3, 2025
088cb68
chore: apply schema changes to db
DecDuck Apr 3, 2025
2a85322
Merge branch 'Huskydog9988-db-store' into develop
DecDuck Apr 3, 2025
82baeb9
feat: add `yarn typecheck` and fix all types
DecDuck Apr 4, 2025
7141735
fix: auth prerender
Huskydog9988 Apr 4, 2025
8d88728
feat: typecheck in dev
Huskydog9988 Apr 4, 2025
b6d05a6
ci: don't mark nightly container as latest
Huskydog9988 Apr 4, 2025
7df175b
ci: update actions versions
Huskydog9988 Apr 4, 2025
2be0e2f
ci: add typecheck ci
Huskydog9988 Apr 4, 2025
931913b
ci: drop PAT_TOKEN
Huskydog9988 Apr 4, 2025
b22681c
fix: fix types, remove @nuxt/image because of broken types
DecDuck Apr 5, 2025
b2327b2
Merge branch 'better-ci' of https://github.com/Huskydog9988/drop into…
DecDuck Apr 5, 2025
1987c57
Merge branch 'Huskydog9988-better-ci' into develop
DecDuck Apr 5, 2025
a47615a
refactor: move game id fetch to index
DecDuck Apr 5, 2025
114d235
fix: remove legacy metadata client routes
DecDuck Apr 5, 2025
0edfdbd
fix: return user library for client
DecDuck Apr 5, 2025
7263ec5
fix: remove weird import
DecDuck Apr 5, 2025
2cbee3d
feat: add ability to review and revoke clients
DecDuck Apr 5, 2025
54b3bc3
fix: devices page for mobile
DecDuck Apr 5, 2025
d6d457f
fix: generate prisma types on install (like nuxt)
Huskydog9988 Apr 6, 2025
4fd2b15
fix: type error in devices page
Huskydog9988 Apr 6, 2025
17d3e0e
refactor: use node crypto uuid
Huskydog9988 Apr 6, 2025
0b9d0a4
fix: don't use npm crypto
Huskydog9988 Apr 6, 2025
9242a81
fix: don't prerender auth routes
Huskydog9988 Apr 6, 2025
fd11d41
chore: updates prisma and bycryptjs
Huskydog9988 Apr 6, 2025
fe82c78
refactor: remove momentjs
Huskydog9988 Apr 6, 2025
372a9bd
fix: devices page (reactivity and relative timestamps)
DecDuck Apr 7, 2025
5ceff44
Merge branch 'Huskydog9988-more-fixes' into develop
DecDuck Apr 7, 2025
9584d69
fix: add tsignore pending upstream fix
DecDuck Apr 7, 2025
6ea50bf
fix: store page released date
DecDuck Apr 7, 2025
043ef6d
fix: remove debug values from game carousel
DecDuck Apr 7, 2025
7400fae
fix: use nuxtlink instaed of a tag
Huskydog9988 Apr 7, 2025
657fd50
fix: missing html attributes
Huskydog9988 Apr 7, 2025
106b3f6
feat: sleak transition from store page to item
Huskydog9988 Apr 7, 2025
f9b774d
fix: wordmark causing page refresh
Huskydog9988 Apr 7, 2025
e572b61
fix: gamecarousel not resizing
Huskydog9988 Apr 7, 2025
66d1413
fix: gamecarousel layout shifts (mostly)
Huskydog9988 Apr 7, 2025
9d943bc
feat: add etag to object response
Huskydog9988 Apr 7, 2025
e4aeaee
refactor: move tsconfig to nuxt config
Huskydog9988 Apr 7, 2025
12ba416
feat: enable nuxt dev tools
Huskydog9988 Apr 7, 2025
30e3e72
chore: drop unused dep
Huskydog9988 Apr 7, 2025
4c3413a
feat: add nonce to scripts
Huskydog9988 Apr 8, 2025
fdffd9a
feat: add skeleton for loading game carousel
Huskydog9988 Apr 8, 2025
e7566a6
feat: upgrade to nuxt 3.16
Huskydog9988 Apr 8, 2025
42349ad
feat: allow client-based web tokens
DecDuck Apr 8, 2025
c4d8b24
feat: hash objects for etag value
Huskydog9988 Apr 9, 2025
35a2d98
fix: don't use stream package
Huskydog9988 Apr 10, 2025
ca03be7
fix: don't add write perms, users can only delete objects
Huskydog9988 Apr 10, 2025
04c56fd
chore: update @types/bcryptjs
Huskydog9988 Apr 10, 2025
dc89ff9
feat: make internal objectbackend methods private
Huskydog9988 Apr 10, 2025
228d109
fix: incorrect perms when deleting objects
Huskydog9988 Apr 11, 2025
22a7cfa
feat: save fs objectbackend hashes
Huskydog9988 Apr 12, 2025
f384492
fix: missing key in loops
Huskydog9988 Apr 12, 2025
c2bb835
fix: etags and other
DecDuck Apr 14, 2025
96742cc
Merge branch 'Huskydog9988-more-ui-work' into develop
DecDuck Apr 14, 2025
ff1255f
feat: add eslint and prettier
Huskydog9988 Apr 8, 2025
d4b89b5
fix: inital eslint errors
Huskydog9988 Apr 14, 2025
86c2d00
feat: add lint ci job
Huskydog9988 Apr 14, 2025
e362f73
fix: more eslint issues
Huskydog9988 Apr 14, 2025
8f429e1
fix: eslint errors, switch to using maps
Huskydog9988 Apr 16, 2025
8e109dd
fix: more eslint stuff
Huskydog9988 Apr 16, 2025
d361e01
fix: last eslint errors
Huskydog9988 Apr 16, 2025
87215c4
chore: prettier pass
Huskydog9988 Apr 16, 2025
456902c
fix: type error in $dropFetch
Huskydog9988 Apr 16, 2025
582acfb
fix: missing components errors
Huskydog9988 Apr 16, 2025
8eec8b1
fix: userwidget not opening
Huskydog9988 Apr 18, 2025
26abb75
ci: add prefix to branch based docker tags
Huskydog9988 Apr 18, 2025
86c7aa3
fix: don't set own script csp
Huskydog9988 Apr 18, 2025
dada379
Merge pull request #37 from Huskydog9988/eslint
DecDuck Apr 19, 2025
a9d8ddc
fix: prisma schema folder location
DecDuck Apr 19, 2025
ec6d38d
fix: copy package.json to Dockerfile
DecDuck Apr 19, 2025
0a270b2
fix: prisma migrations in docker
DecDuck Apr 20, 2025
fd4ec3f
Update release.yml
DecDuck Apr 20, 2025
3b1d042
feat: log metadata error if fail
DecDuck Apr 20, 2025
a5facbd
fix: misc fixes
DecDuck Apr 20, 2025
feedcfc
fix: metadata init issues
DecDuck Apr 20, 2025
31ad850
fix: task api and other small issues
DecDuck Apr 20, 2025
f1f19c8
feat: run tasks at startup
Huskydog9988 Apr 24, 2025
c449b45
chore: remove redundant omitApi prisma option
Huskydog9988 Apr 24, 2025
a47debd
fix: notification rendering
DecDuck May 6, 2025
c0c55d3
fix: signout route
DecDuck May 7, 2025
770294d
fix: ignore error if we are unable to blacklist certificate
DecDuck May 7, 2025
e8633ce
fix: signout, again
DecDuck May 7, 2025
19ff73c
feat: oidc
DecDuck May 7, 2025
07b34c8
refactor: homepage link in header
Huskydog9988 May 7, 2025
1f510be
Merge branch 'develop' of https://github.com/Huskydog9988/drop into m…
Huskydog9988 May 7, 2025
30b065d
fix: eslint error and server plugin name
Huskydog9988 May 7, 2025
5aa0899
docs: why timeline was disabled
Huskydog9988 May 8, 2025
731499b
feat: unified cache handler
Huskydog9988 May 8, 2025
1db2229
fix: edgecase where object hash isn't read
Huskydog9988 May 8, 2025
952df56
chore: remove fsbackend console logs
Huskydog9988 May 8, 2025
bfa2c0a
feat: add oidc to admin panel
DecDuck May 8, 2025
e3ed60f
feat: add oidc to admin panel
DecDuck May 8, 2025
733aee3
fix: convert socket sessions to cacheHandler
DecDuck May 8, 2025
29f3094
Merge branch 'Huskydog9988-more-stuff' into develop
DecDuck May 8, 2025
125fe9e
fix: remove jank prisma script, and move to generated prisma client
DecDuck May 8, 2025
48f796a
fix: update prisma schema and path
DecDuck May 8, 2025
0d02be2
fix: refactor prisma multifolder into docs example
DecDuck May 8, 2025
6d35e26
fix: switch prisma schema type
DecDuck May 8, 2025
f8dc3fe
fix: swap order of nuxt and prisma generations
DecDuck May 8, 2025
464af37
chore: warn when metadata fails
DecDuck May 8, 2025
92a98a5
fix: add prisma binary targets
DecDuck May 8, 2025
0f773a9
fix: docker build
DecDuck May 8, 2025
2fb909f
Revert "fix: convert socket sessions to cacheHandler"
DecDuck May 8, 2025
143846c
fix: revert session store
DecDuck May 8, 2025
f9f437d
feat: basic screenshot manager
Huskydog9988 May 8, 2025
471e85d
fix: missing metadata preventing game import
Huskydog9988 May 8, 2025
1a2d3c8
feat: manually edit search term for game import
Huskydog9988 May 8, 2025
597a226
feat: identify unused objects
Huskydog9988 May 8, 2025
bf691a7
feat: minimum support for unrefed object cleanup
Huskydog9988 May 8, 2025
df291c3
fix: linting errors
Huskydog9988 May 8, 2025
7e5e7b0
feat: finish migrating to new objectid naming
Huskydog9988 May 8, 2025
3a9eb82
fix: fix invitation register url
DecDuck May 9, 2025
b681476
feat: unified company metadata store
Huskydog9988 May 9, 2025
17e4734
fix: pcgamingwiki not parsing company websites
Huskydog9988 May 9, 2025
1f41e52
feat: update search style
DecDuck May 10, 2025
836ba33
feat: basic screenshot manager
Huskydog9988 May 8, 2025
0c48d42
fix: missing metadata preventing game import
Huskydog9988 May 8, 2025
aa3105a
feat: manually edit search term for game import
Huskydog9988 May 8, 2025
dbded55
feat: identify unused objects
Huskydog9988 May 8, 2025
52a7de0
feat: minimum support for unrefed object cleanup
Huskydog9988 May 8, 2025
7f7d8c8
fix: linting errors
Huskydog9988 May 8, 2025
14f0833
feat: finish migrating to new objectid naming
Huskydog9988 May 8, 2025
afaaaf2
feat: unified company metadata store
Huskydog9988 May 9, 2025
cbf480b
fix: pcgamingwiki not parsing company websites
Huskydog9988 May 9, 2025
d6830c3
feat: update search style
DecDuck May 10, 2025
ac35591
Merge branch 'Huskydog9988-further-improvements' into develop
DecDuck May 10, 2025
9027765
feat: rework developer/publisher system
DecDuck May 10, 2025
a0bc4bb
feat: refactored into separate metadata and library pages
DecDuck May 10, 2025
3df6818
feat: openapi support plus more api validation
Huskydog9988 May 10, 2025
60d22ea
fix: back button link in admin dash
Huskydog9988 May 10, 2025
fc74738
feat: new unified data folder
Huskydog9988 May 10, 2025
1bbdf46
feat: better docker builds
Huskydog9988 May 10, 2025
a8ee27e
feat: pcgamgingwiki now provides a description
Huskydog9988 May 11, 2025
dad2161
feat: games now have tag support
Huskydog9988 May 11, 2025
ce0e21b
Update README.md
DecDuck May 12, 2025
086664a
Update README.md
DecDuck May 12, 2025
a101ff0
fix: allow notification nonce reuse per user
Huskydog9988 May 14, 2025
b033496
feat: update checker based gh releases
Huskydog9988 May 14, 2025
ccdbbcf
fix: editing game image metadata in admin panel
Huskydog9988 May 14, 2025
b551788
fix: object fs backend not deleting metadata
Huskydog9988 May 14, 2025
2cc3f13
feat: fs object metadata cache and validation
Huskydog9988 May 14, 2025
898516b
chore: style
Huskydog9988 May 14, 2025
56e1ba6
fix: check update not using drop's correct version
Huskydog9988 May 14, 2025
6df2ef1
fix: igdb assuming certain values always exist
Huskydog9988 May 15, 2025
bea26a9
feat: game metadata rating support
Huskydog9988 May 15, 2025
9bf36c8
feat: pcgamgingwiki desc in searchstub
Huskydog9988 May 15, 2025
a34f10d
feat: igdb tag support
Huskydog9988 May 15, 2025
82b123a
fix: gamerating model
Huskydog9988 May 15, 2025
9d2aded
feat: add acl to notifications
Huskydog9988 May 15, 2025
1dba112
feat: separate library and metadata pages, notification acls
DecDuck May 15, 2025
1d141c1
fix: apply notification acls to live notifications
DecDuck May 15, 2025
6dad3ae
chore: style
DecDuck May 15, 2025
8e3ae01
feat: backend inline capability registration
DecDuck May 15, 2025
ce27f76
fix: openid redirect auth query
DecDuck May 15, 2025
1165d86
Merge remote-tracking branch 'origin/develop' into more-fixes
Huskydog9988 May 15, 2025
bee3b0c
fix: drop update notifications
Huskydog9988 May 15, 2025
59c3b9b
fix: don't send system notifications to all users
Huskydog9988 May 15, 2025
831b20d
fix: remove old requiredPerms field
Huskydog9988 May 15, 2025
a89c657
feat: very basic screenshot api
Huskydog9988 May 15, 2025
4fbc730
chore: style
Huskydog9988 May 15, 2025
21eec08
fix: missing user check in screenshot api endpoint
Huskydog9988 May 15, 2025
0719ffe
Fixes wrong image being used in example
Pacodastre May 24, 2025
79a23ae
Merge pull request #46 from Pacodastre/fix-docker-compose-image
DecDuck May 24, 2025
4b009f1
feat: basic playtime backend
Huskydog9988 May 27, 2025
0816d2a
fix: info leak in screenshots api
Huskydog9988 May 27, 2025
ddaba89
Merge branch 'develop' into more-fixes
Huskydog9988 May 27, 2025
093bb60
chore: add DROP_VERISON constant
DecDuck May 28, 2025
be793ce
fix: use ghcr instead of docker registry
Huskydog9988 May 28, 2025
ea90a7f
fix: blade's metadata issue
DecDuck May 29, 2025
c5f8b44
fix: metadata update errors
DecDuck May 29, 2025
15806a3
feat: allow clients to fetch drop version
Huskydog9988 May 29, 2025
233324d
feat: supply drop version during release build
Huskydog9988 May 29, 2025
d99c648
fix: accidental removal of nightly tag
Huskydog9988 May 29, 2025
dc982df
Merge branch 'develop' into more-fixes
Huskydog9988 May 29, 2025
f08e1b4
fix: git install in docker
Huskydog9988 May 29, 2025
04d5ad0
fix: compose not following node best practices
Huskydog9988 May 29, 2025
ad2c0f9
feat: add attestations to docker images
Huskydog9988 May 29, 2025
59b77b5
fix: allow specifying git ref
Huskydog9988 May 29, 2025
f97a968
fix: not being able to edit game title
Huskydog9988 May 29, 2025
37fa953
feat: object cleanup is finally here
Huskydog9988 May 29, 2025
d1c0978
fix: remove unused favicon ref
Huskydog9988 May 29, 2025
4f789a2
feat: cleanup extra metadata
Huskydog9988 May 29, 2025
2b61e9a
chore: add DROP_VERISON constant
DecDuck May 28, 2025
925f3cb
chore: remove const
DecDuck May 29, 2025
83a0ef2
Merge branch 'Huskydog9988-more-fixes' into develop
DecDuck May 29, 2025
fca8563
chore: remove old playtime api
DecDuck May 29, 2025
83a9b22
fix: various fixes
DecDuck May 30, 2025
85edc4c
chore: move more admin over to arktype validators
DecDuck May 30, 2025
6cc7e10
fix: remove old validation on version import
DecDuck May 30, 2025
185f37f
fix: release workflow
Huskydog9988 May 29, 2025
3fbe514
feat: ratings ui, import giantbomb ratings
DecDuck May 30, 2025
490afd0
Fix GiantBomb metadata #61 (#62)
DecDuck Jun 1, 2025
3e5c367
Database-level multi-library support #48 (#58)
DecDuck Jun 1, 2025
40e66de
Multi-upload to image library #56 (#60)
DecDuck Jun 1, 2025
2056871
Add UI for multi-library management #59 (#63)
DecDuck Jun 1, 2025
3f78b6c
Cannot create library source due to backend missing from request #67…
DecDuck Jun 2, 2025
8a354f0
Fix admin library page "to import" logic #70 (#71)
DecDuck Jun 2, 2025
f264fd0
Fix: Importing without Metadata is broken. #73 (#75)
DecDuck Jun 3, 2025
4f8ea3e
Custom readValidatedBody util to return more specific error #69 (#78)
DecDuck Jun 3, 2025
c7fab13
Many new improvments and features to the UI (#76)
AdenMGB Jun 4, 2025
681efe9
i18n Support and Task improvements (#80)
Huskydog9988 Jun 4, 2025
9e929dd
Better metadata editing division #79 (#82)
DecDuck Jun 5, 2025
c300581
Fix: Server attempts to create setup executable and finds undefined #…
DecDuck Jun 5, 2025
d976ac8
Fix: Image upload modal doesn't close when clicking cancel #50 (#93)
Pacodastre Jun 7, 2025
4184705
Task groups & viewer in admin panel #52 (#91)
DecDuck Jun 7, 2025
ca8ad37
Fix unauthenticated /api/v1/client/chunk route
DecDuck Jun 7, 2025
ed90ae2
Fix: Broken footer links #96 (#98)
DecDuck Jun 7, 2025
a199393
Fix: Sign out functionality #95 (#99)
DecDuck Jun 7, 2025
0e02353
Redesign of language selector #100 (#101)
DecDuck Jun 8, 2025
9f88900
Translations update from Weblate (#106)
DecDuck Jun 8, 2025
de438b9
Migrate game metadata import to task system #90 (#103)
DecDuck Jun 8, 2025
9f5a3b3
Re-use validator from signup on invitation creation #108 (#111)
DecDuck Jun 8, 2025
72ae7a2
Various bug fixes (#102)
Huskydog9988 Jun 8, 2025
e32954e
Fix: Re-use validator from signup on invitation creation #108 (#113)
DecDuck Jun 8, 2025
60abc03
Adds delete user functionality in admin panel #86 (#110)
Pacodastre Jun 8, 2025
1bfdd73
Combined fixes (#116)
DecDuck Jun 10, 2025
12d87d6
Fix CodeQL warnings
DecDuck Jun 28, 2025
12837d4
Fix linting
DecDuck Jun 30, 2025
73c27f0
User invite uses external domain option (#118)
Huskydog9988 Jun 30, 2025
706f2aa
FlatLibrary provider (#127)
DecDuck Jul 6, 2025
e4fbc7c
Toggle for showing title & description overlay on store page #51 (#130)
DecDuck Jul 6, 2025
2b70cea
Logging (#131)
Huskydog9988 Jul 9, 2025
7bfc441
Fix `pino-pretty` not being included in build (#135)
DecDuck Jul 14, 2025
51390e1
Remove `pino` from frontend
DecDuck Jul 14, 2025
935ff48
Fix for downloads and removing of library source (#136)
DecDuck Jul 14, 2025
4ef2ab2
Fix max file size of 4GB (update droplet) (#137)
DecDuck Jul 14, 2025
75842fb
Fix manual metadata import (#138)
DecDuck Jul 14, 2025
a7b9bbc
chore(deps): bump vue-i18n from 10.0.7 to 10.0.8 (#140)
dependabot[bot] Jul 20, 2025
661dcf8
chore(deps): bump @intlify/core from 10.0.7 to 10.0.8 (#139)
dependabot[bot] Jul 20, 2025
45848d1
Small fixes (#141)
DecDuck Jul 20, 2025
1ae051f
Update Prisma to 6.11 (#133)
Huskydog9988 Jul 25, 2025
8363de2
Store overhaul (#142)
DecDuck Jul 30, 2025
ed99e02
Merge branch 'main' into develop
DecDuck Jul 31, 2025
e4c8d42
Setup wizard & 0.3.0 release (#146)
DecDuck Jul 31, 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
  •  
  •  
  •  
17 changes: 17 additions & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
Dockerfile
.github
.vscode
*.md

#### gitignore below
# Nuxt dev/build outputs
.output
.data
Expand All @@ -8,6 +14,7 @@ dist

# Node dependencies
node_modules
.yarn

# Logs
logs
Expand All @@ -24,3 +31,13 @@ logs
!.env.example

.data


# deploy template
deploy-template/*

!deploy-template/compose.yml

# generated prisma client
/prisma/client
/prisma/validate
5 changes: 1 addition & 4 deletions .env.example
Original file line number Diff line number Diff line change
@@ -1,8 +1,5 @@
DATABASE_URL="postgres://drop:drop@127.0.0.1:5432/drop"

CLIENT_CERTIFICATES="./.data/ca"

FS_BACKEND_PATH="./.data/objects"

GIANT_BOMB_API_KEY=""

EXTERNAL_URL="http://localhost:3000"
1 change: 1 addition & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
Expand Up @@ -2,3 +2,4 @@
/.yarn/releases/* binary
/.yarn/plugins/**/* binary
/.pnp.* binary linguist-generated
* text=auto eol=lf
55 changes: 55 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
name: CI

on:
push:
branches:
- develop
pull_request:
branches:
- develop

permissions:
contents: read

jobs:
typecheck:
name: Typecheck
runs-on: ubuntu-latest
steps:
- name: Check out the repo
uses: actions/checkout@v4
with:
submodules: true

- name: Setup Node.js environment
uses: actions/setup-node@v4
with:
node-version: lts/*
cache: "yarn"

- name: Install dependencies
run: yarn install --immutable --network-timeout 1000000

- name: Typecheck
run: yarn typecheck

lint:
name: Lint
runs-on: ubuntu-latest
steps:
- name: Check out the repo
uses: actions/checkout@v4
with:
submodules: true

- name: Setup Node.js environment
uses: actions/setup-node@v4
with:
node-version: lts/*
cache: "yarn"

- name: Install dependencies
run: yarn install --immutable --network-timeout 1000000

- name: Lint
run: yarn lint
95 changes: 95 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,95 @@
name: Release Workflow

on:
workflow_dispatch: {}
release:
types: [published]
# This can be used to automatically publish nightlies at UTC nighttime
schedule:
- cron: "0 2 * * *" # run at 2 AM UTC

permissions:
contents: read

jobs:
web:
name: Push website Docker image to registry
runs-on: ubuntu-latest
permissions:
packages: write
contents: read
steps:
- name: Check out the repo
uses: actions/checkout@v4
with:
submodules: true
fetch-tags: true
token: ${{ secrets.GITHUB_TOKEN }}

- name: Determine final version
id: get_final_ver
run: |
BASE_VER=v$(jq -r '.version' package.json)
TODAY=$(date +'%Y.%m.%d')

echo "Today will be: $TODAY"
echo "today=$TODAY" >> $GITHUB_OUTPUT

if [[ "${{ github.event_name }}" == "release" ]]; then
FINAL_VER="$BASE_VER"
else
FINAL_VER="${BASE_VER}-nightly.$TODAY"
fi

echo "Drop's release tag will be: $FINAL_VER"
echo "final_ver=$FINAL_VER" >> $GITHUB_OUTPUT

- name: Set up QEMU
uses: docker/setup-qemu-action@v3

- name: Set up Docker Buildx
id: buildx
uses: docker/setup-buildx-action@v3
with:
buildkitd-flags: --debug

- name: Log in to the Container registry
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}

- name: Extract metadata (tags, labels) for Docker
id: meta
uses: docker/metadata-action@v5
with:
images: |
ghcr.io/drop-OSS/drop
tags: |
type=schedule,pattern=nightly
type=schedule,pattern=nightly.${{ steps.get_final_ver.outputs.today }}
type=semver,pattern=v{{version}}
type=semver,pattern=v{{major}}.{{minor}}
type=semver,pattern=v{{major}}
type=ref,event=branch,prefix=branch-
type=ref,event=pr
type=sha
# set latest tag for stable releases
type=raw,value=latest,enable=${{ github.event_name == 'release' && github.event.release.prerelease == false }}

- name: Build and push image
id: build-and-push
uses: docker/build-push-action@v6
with:
context: .
push: true
provenance: mode=max
sbom: true
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
platforms: linux/amd64,linux/arm64
cache-from: type=gha
cache-to: type=gha,mode=max
build-args: |
BUILD_DROP_VERSION=${{ steps.get_final_ver.outputs.final_ver }}
6 changes: 5 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -30,4 +30,8 @@ logs
# deploy template
deploy-template/*

!deploy-template/compose.yml
!deploy-template/compose.yml

# generated prisma client
/prisma/client
/prisma/validate
23 changes: 23 additions & 0 deletions .gitlab-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,3 +29,26 @@ build:
docker image tag $IMAGE_NAME $PUBLISH_LATEST_IMAGE_NAME
docker push $PUBLISH_IMAGE_NAME $PUBLISH_LATEST_IMAGE_NAME
fi

build-arm64:
stage: build
image: arm64v8/docker:latest
tags:
- aarch64
variables:
IMAGE_NAME: $CI_REGISTRY_IMAGE/$CI_COMMIT_REF_NAME:$CI_COMMIT_SHORT_SHA-arm64
LATEST_IMAGE_NAME: $CI_REGISTRY_IMAGE/$CI_COMMIT_REF_NAME:latest-arm64
PUBLISH_IMAGE_NAME: $CI_REGISTRY_IMAGE:$CI_COMMIT_TAG-arm64
PUBLISH_LATEST_IMAGE_NAME: $CI_REGISTRY_IMAGE:latest-arm64
script:
- docker build -t $IMAGE_NAME . --platform=linux/arm64
- docker image tag $IMAGE_NAME $LATEST_IMAGE_NAME
- docker push $IMAGE_NAME
- docker push $LATEST_IMAGE_NAME
- |
if [ $CI_COMMIT_TAG ]; then
docker image tag $IMAGE_NAME $PUBLISH_IMAGE_NAME
docker image tag $IMAGE_NAME $PUBLISH_LATEST_IMAGE_NAME
docker push $PUBLISH_IMAGE_NAME
docker push $PUBLISH_LATEST_IMAGE_NAME
fi
1 change: 1 addition & 0 deletions .prettierignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
drop-base/
12 changes: 12 additions & 0 deletions .vscode/extensions.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
{
"recommendations": [
"lokalise.i18n-ally",
"esbenp.prettier-vscode",
"Prisma.prisma",
"bradlc.vscode-tailwindcss",
"Vue.volar",
"arktypeio.arkdark",
"EditorConfig.EditorConfig",
"dbaeumer.vscode-eslint"
]
}
51 changes: 35 additions & 16 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -1,18 +1,37 @@
{
"spellchecker.ignoreWordsList": [
"mTLS",
"Wireguard"
],
"sqltools.connections": [
{
"previewLimit": 50,
"server": "localhost",
"port": 5432,
"driver": "PostgreSQL",
"name": "drop",
"database": "drop",
"username": "drop",
"password": "drop"
}
]
"spellchecker.ignoreWordsList": ["mTLS", "Wireguard"],
"sqltools.connections": [
{
"previewLimit": 50,
"server": "localhost",
"port": 5432,
"driver": "PostgreSQL",
"name": "drop",
"database": "drop",
"username": "drop",
"password": "drop"
}
],
// allow autocomplete for ArkType expressions like "string | num"
"editor.quickSuggestions": {
"strings": "on"
},
// prioritize ArkType's "type" for autoimports
"typescript.preferences.autoImportSpecifierExcludeRegexes": ["^(node:)?os$"],
// i18n Ally settings
"i18n-ally.sortKeys": true,
"i18n-ally.keepFulfilled": true,
"i18n-ally.extract.autoDetect": true,
"i18n-ally.localesPaths": ["i18n", "i18n/locales"],
"i18n-ally.keystyle": "nested",
"i18n-ally.extract.ignored": [
"string >= 14",
"string.alphanumeric >= 5",
"/api/v1/admin/import/version/preload?id=${encodeURIComponent(\n gameId,\n )}&version=${encodeURIComponent(version)}"
],
"i18n-ally.extract.ignoredByFiles": {
"pages/admin/library/sources/index.vue": ["Filesystem"],
"components/NewsArticleCreateButton.vue": ["[", "`", "Enter"],
"server/api/v1/auth/signin/simple.post.ts": ["boolean | undefined"]
}
}
1 change: 0 additions & 1 deletion .yarnrc

This file was deleted.

Loading