nlevesque a3a69e0eae Build with npm and ECR Public node image (dodge Docker Hub rate limits)
Base images now come from public.ecr.aws instead of docker.io, whose
anonymous pull quota kept failing Coolify builds. bun stays the local dev
toolchain; the image build uses npm + the existing package-lock.json.
2026-07-28 14:20:09 +02:00
2026-07-28 08:58:44 +02:00
2026-07-28 08:58:44 +02:00
2026-07-28 08:58:44 +02:00
2026-07-28 08:58:44 +02:00
2026-07-28 08:58:44 +02:00
2026-07-28 08:58:44 +02:00
2026-07-28 08:58:44 +02:00
2026-07-28 08:58:44 +02:00
2026-07-28 08:58:44 +02:00
2026-07-28 08:58:44 +02:00
2026-07-28 08:58:44 +02:00
2026-07-28 08:58:44 +02:00

PokeShare

A French-language Pokémon TCG collection tracker and sharing app. Users search cards from the TCGdex catalog, track their personal collection with Cardmarket price valuations, and share collections with friends.

Stack

Commands

Command Action
bun install Install dependencies
bun run dev Start dev server at localhost:4321
bun run build Build the production site to ./dist/
bun run preview Preview the production build locally

Production runs as a standalone Node server (node dist/server/entry.mjs), Node >= 22.12.

Environment variables

Variable Description Default
POCKETBASE_URL URL of the PocketBase backend (auth + data) https://pokeshare.namarusaja.me

Read at runtime (process.env), so the same Docker image can be deployed against different PocketBase instances. For local dev, copy .env.example to .env. HOST and PORT are also honored by the standalone server.

Docker

Single container (external PocketBase):

docker build -t pokeshare .
docker run -p 4321:4321 -e POCKETBASE_URL=https://pb.example.com pokeshare

Full stack (app + PocketBase)

docker-compose.yml runs just the app; it expects an external PocketBase instance referenced by POCKETBASE_URL (see above). A schema export of the expected collections is kept at pb_schema.json for reference when setting up a new PocketBase instance (admin UI → Settings → Import collections).

POCKETBASE_URL=https://pb.example.com docker compose up --build
  • The app listens on 4321; expose it on your domain (Coolify: expose the app service, or use the plain Dockerfile build pack).
  • Accounts are managed from the PocketBase admin UI (/_/).

Structure

  • src/pages/ — routes (/, /search, /mycards, /card/[id], /series/[id], /sets/[id], /friends, /profile) and JSON API endpoints under src/pages/api/
  • src/middleware.ts — per-request PocketBase client + pb_auth cookie auth
  • src/lib/ — TCGdex cache, collection pricing helpers, type theming
  • src/layouts/, src/components/ — base layout and nav
S
Description
No description provided
Readme
562 KiB
Languages
Astro 77%
TypeScript 20.8%
CSS 1.3%
Dockerfile 0.5%
JavaScript 0.4%