Deploy svelte-playground with Tailscale funnel #3

Closed
opened 2026-03-24 16:59:46 +00:00 by forgejo_admin · 1 comment

Type

Feature

Lineage

Standalone — board-svelte-playground. Depends on: repo scaffold + kanban move

Repo

forgejo_admin/pal-e-deployments (primary), forgejo_admin/svelte-playground

User Story

As the superuser
I want svelte-playground accessible at a public URL
So that I can view prototypes on my phone and share with clients

Context

Two serving modes needed (Option C):

  1. npm run dev on archbox for hot reload during iteration (localhost:5173)
  2. npm run build → dist/ served by nginx for public Tailscale funnel URL

Deployment options:

  • A: Add to existing playground nginx (subpath /svelte/ or separate location for dist/)
  • B: Own namespace + deployment + Tailscale funnel (like pal-e-playground but for built output)

File Targets

Files to create/modify in pal-e-deployments:

  • TBD based on deployment approach chosen

Files to modify in svelte-playground:

  • package.json — add build script if not present

Acceptance Criteria

  • npm run dev accessible on archbox localhost:5173
  • npm run build outputs dist/ with working static site
  • Public URL serves the built output
  • Kanban prototype works at public URL on mobile

Test Expectations

  • Access from phone browser
  • All interactions work (drag, filter, expand)

Constraints

  • Built output is static files — no Node runtime in production
  • Clone repo to ~/svelte-playground/ on archbox

Checklist

  • PR opened
  • Tests pass
  • No unrelated changes
  • project-svelte-playground
### Type Feature ### Lineage Standalone — board-svelte-playground. Depends on: repo scaffold + kanban move ### Repo `forgejo_admin/pal-e-deployments` (primary), `forgejo_admin/svelte-playground` ### User Story As the superuser I want svelte-playground accessible at a public URL So that I can view prototypes on my phone and share with clients ### Context Two serving modes needed (Option C): 1. `npm run dev` on archbox for hot reload during iteration (localhost:5173) 2. `npm run build` → dist/ served by nginx for public Tailscale funnel URL Deployment options: - A: Add to existing playground nginx (subpath /svelte/ or separate location for dist/) - B: Own namespace + deployment + Tailscale funnel (like pal-e-playground but for built output) ### File Targets Files to create/modify in pal-e-deployments: - TBD based on deployment approach chosen Files to modify in svelte-playground: - `package.json` — add build script if not present ### Acceptance Criteria - [ ] `npm run dev` accessible on archbox localhost:5173 - [ ] `npm run build` outputs dist/ with working static site - [ ] Public URL serves the built output - [ ] Kanban prototype works at public URL on mobile ### Test Expectations - [ ] Access from phone browser - [ ] All interactions work (drag, filter, expand) ### Constraints - Built output is static files — no Node runtime in production - Clone repo to ~/svelte-playground/ on archbox ### Checklist - [ ] PR opened - [ ] Tests pass - [ ] No unrelated changes ### Related - `project-svelte-playground`
Author
Owner

Starting work. Approach: add svelte-playground as a volume mount + nginx location in the existing playground deployment (pal-e-deployments). Same pattern as westside-playground at /westside/. Will serve the Vite dist/ output at /svelte/ or similar path.

Starting work. Approach: add svelte-playground as a volume mount + nginx location in the existing playground deployment (pal-e-deployments). Same pattern as westside-playground at `/westside/`. Will serve the Vite `dist/` output at `/svelte/` or similar path.
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
forgejo_admin/svelte-playground#3
No description provided.