No description
  • Vue 34.4%
  • TypeScript 34%
  • Rust 20.2%
  • CSS 8.2%
  • MDX 1.7%
  • Other 1.3%
Find a file
Evilbob01 acd33d567c
Revise backup paths and ZFS pool name in documentation
Updated paths and descriptions for backup files and ZFS pool.
2026-07-08 16:54:12 -04:00
.github/workflows Attempt fix monorepo build (#404) 2026-04-27 15:38:05 +10:00
backend New v0.4.0 website 2026-04-03 01:25:10 +00:00
cli disable proxy buffering 2026-04-19 09:38:42 +10:00
desktop chore(deps): bump defu from 6.1.4 to 6.1.6 in /desktop/main (#386) 2026-05-09 12:26:57 +10:00
docs Revise backup paths and ZFS pool name in documentation 2026-07-08 16:54:12 -04:00
libraries chore: cherry-pick upstream bug fixes from Drop-OSS/drop develop (38c11567) 2026-07-08 00:39:53 +00:00
packaging fix: replace hardcoded API token with placeholder in public docs 2026-07-08 01:11:02 +00:00
server chore: cherry-pick upstream bug fixes from Drop-OSS/drop develop (38c11567) 2026-07-08 00:39:53 +00:00
sites Improve repo tooling (#398) 2026-04-20 11:44:38 +10:00
torrential chore(deps): bump time from 0.3.44 to 0.3.47 in /torrential (#381) 2026-05-09 12:26:43 +10:00
.dockerignore Attempt fix monorepo build (#404) 2026-04-27 15:38:05 +10:00
.gitattributes Improve repo tooling (#398) 2026-04-20 11:44:38 +10:00
.gitignore Improve repo tooling (#398) 2026-04-20 11:44:38 +10:00
CHANGELOG.md fix: replace hardcoded API token with placeholder in public docs 2026-07-08 01:11:02 +00:00
Dockerfile Attempt fix monorepo build (#404) 2026-04-27 15:38:05 +10:00
INSTALL.md Modify INSTALL.md for new domain and user details 2026-07-08 16:52:20 -04:00
package.json Improve repo tooling (#398) 2026-04-20 11:44:38 +10:00
pnpm-lock.yaml docs: add CHANGELOG, INSTALL guide, and operational docs 2026-05-25 21:35:26 +00:00
pnpm-workspace.yaml Improve repo tooling (#398) 2026-04-20 11:44:38 +10:00
README.md Update naming conventions in README.md 2026-07-08 16:44:18 -04:00
SECURITY.md Add and fix missing projects 2026-03-30 19:34:34 +11:00
server.code-workspace New v0.4.0 website 2026-04-03 01:25:10 +00:00


Drop — 360pc Fork

Upstream Based on GitHub License Install

Self-hosted DRM-free game distribution for families — no Docker required.

This is EvilBob01's fork of Drop OSS, patched for native Debian/Proxmox deployment and extended with bulk-import tooling for large libraries.

Drop Screenshot

What This Fork Adds

Feature Description
No Docker Runs natively on Debian 12/13 as a systemd service
Debian package Pre-built .deb available on the Releases page
Game name normaliser Strips release group names, dot-separators, and version strings before metadata search
Auto-batch import One API call imports all 500+ games from /library with fuzzy metadata matching
Image carousel fix Screenshots from Steam/PCGamingWiki now populate the game detail carousel
PCGamingWiki fix Browser User-Agent headers added to image proxy — no more 403 on cover art
Tailwind CSS fix Pre-generates CSS via @tailwindcss/cli to work around broken Vite plugin in Nuxt SSR builds

Quick Install (Debian .deb)

Download the latest .deb from the Releases page and install it on any Debian 12/13 amd64 machine:

# Download the latest release
wget https://github.com/EvilBob01/drop/releases/latest/download/drop-oss_amd64.deb

# Install (PostgreSQL and nginx must already be installed)
apt-get install -y postgresql nginx nodejs
dpkg -i drop-oss_amd64.deb

# Configure
cp /opt/drop/app/.env.example /opt/drop/app/.env
nano /opt/drop/app/.env   # set DATABASE_URL and EXTERNAL_URL

# Start
systemctl start drop

Then open http://localhost:3000 to complete first-run setup.


Manual Install (from source)

See INSTALL.md for the full step-by-step guide covering:

  • Proxmox LXC container setup
  • Node.js 22, Rust nightly, PostgreSQL 17
  • Building Torrential (Rust P2P daemon) from source
  • Building the Nuxt server with Tailwind CSS pre-generation
  • Systemd service, nginx reverse proxy, Let's Encrypt SSL
  • First-run setup and initial game import

Bulk Game Import

After adding your library source in the admin panel, import all games in one shot:

# Dry run first — see what will be matched
curl -s -X POST http://localhost:3000/api/v1/admin/import/game/auto-batch \
  -H 'Authorization: Bearer YOUR_API_TOKEN' \
  -H 'Content-Type: application/json' \
  -d '{"dryRun": true, "minScore": 0.75}' | python3 -m json.tool

# Run it for real
curl -s -X POST http://localhost:3000/api/v1/admin/import/game/auto-batch \
  -H 'Authorization: Bearer YOUR_API_TOKEN' \
  -H 'Content-Type: application/json' \
  -d '{"minScore": 0.75}' | python3 -m json.tool

The normaliser handles common repack naming conventions automatically:

Library folder Search query sent to Steam
A.Plague.Tale.Requiem.v1076 A Plague Tale Requiem
Age of Empires IV [Repack] Age of Empires IV
Above.Snakes -stuff Above Snakes
RimWorld.v1.4.3613 RimWorld

Documentation

Document Description
INSTALL.md Full native install guide (no Docker)
CHANGELOG.md Fork patches + upstream release history
docs/admin-guide.md Day-to-day admin tasks, auto-batch import
docs/user-guide.md End-user guide for the store and downloads
docs/updating.md How to update the server and pull upstream changes
docs/backup-restore.md Backup and restore procedures
docs/packaging.md How to build your own .deb package

Upstream

This fork tracks Drop-OSS/drop on the develop branch. Upstream bug fixes are cherry-picked regularly. See CHANGELOG.md for the merge log.


Philosophy (from upstream)

  1. Flexible — abstractions and interfaces are worth the complexity.
  2. Secure — never accessible without authentication; supports SSO, 2FA, OIDC.
  3. User-friendly — clean interface with advanced features available when needed.

License

AGPL-3.0 — see LICENSE.