diff --git a/containers/playsite.Containerfile b/containers/playsite.Containerfile new file mode 100644 index 00000000..4ff9c23e --- /dev/null +++ b/containers/playsite.Containerfile @@ -0,0 +1,20 @@ +FROM docker.io/node:24-alpine AS base + +FROM base AS build +WORKDIR /usr/src/app +COPY package.json ./ +COPY patches ./patches +COPY packages/input ./packages/input +COPY packages/play-standalone ./packages/play-standalone +RUN cd packages/play-standalone && npm install && npm run build + +FROM base AS runner +WORKDIR /www +COPY --from=build /usr/src/app/packages/play-standalone/dist ./dist +COPY --from=build /usr/src/app/node_modules ./node_modules + +RUN apk add --no-cache tini + +EXPOSE 3000 +WORKDIR /www +ENTRYPOINT ["/sbin/tini", "--", "node", "./dist/server/entry.mjs"] \ No newline at end of file diff --git a/packages/play-standalone/.gitignore b/packages/play-standalone/.gitignore new file mode 100644 index 00000000..eb7a5a1a --- /dev/null +++ b/packages/play-standalone/.gitignore @@ -0,0 +1,25 @@ +# build output +dist/ +# generated types +.astro/ + +# dependencies +node_modules/ + +# logs +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* + + +# environment variables +.env +.env.production + +# macOS-specific files +.DS_Store + +# setting folders +.idea/ +.vscode/ diff --git a/packages/play-standalone/astro.config.mjs b/packages/play-standalone/astro.config.mjs new file mode 100644 index 00000000..42f85a26 --- /dev/null +++ b/packages/play-standalone/astro.config.mjs @@ -0,0 +1,15 @@ +// @ts-check +import { defineConfig } from "astro/config"; +import node from "@astrojs/node"; + +// https://astro.build/config +export default defineConfig({ + adapter: node({ + mode: 'standalone', + }), + output: "server", + server: { + "host": "0.0.0.0", + "port": 3000, + }, +}); \ No newline at end of file diff --git a/packages/play-standalone/package.json b/packages/play-standalone/package.json new file mode 100644 index 00000000..ef18c040 --- /dev/null +++ b/packages/play-standalone/package.json @@ -0,0 +1,16 @@ +{ + "name": "play-standalone", + "type": "module", + "version": "0.0.1", + "scripts": { + "dev": "astro dev", + "build": "astro build", + "preview": "astro preview", + "astro": "astro" + }, + "dependencies": { + "@astrojs/node": "^9.4.2", + "@nestri/input": "*", + "astro": "5.13.2" + } +} \ No newline at end of file diff --git a/packages/play-standalone/public/favicon.svg b/packages/play-standalone/public/favicon.svg new file mode 100644 index 00000000..736b34cb --- /dev/null +++ b/packages/play-standalone/public/favicon.svg @@ -0,0 +1,14 @@ + + + + + + diff --git a/packages/play-standalone/public/fonts/BasementGrotesque-Black.otf b/packages/play-standalone/public/fonts/BasementGrotesque-Black.otf new file mode 100644 index 00000000..2e38d843 Binary files /dev/null and b/packages/play-standalone/public/fonts/BasementGrotesque-Black.otf differ diff --git a/packages/play-standalone/public/fonts/BasementGrotesque-Black.woff b/packages/play-standalone/public/fonts/BasementGrotesque-Black.woff new file mode 100644 index 00000000..3047f4da Binary files /dev/null and b/packages/play-standalone/public/fonts/BasementGrotesque-Black.woff differ diff --git a/packages/play-standalone/public/fonts/BasementGrotesque-Black.woff2 b/packages/play-standalone/public/fonts/BasementGrotesque-Black.woff2 new file mode 100644 index 00000000..6004cefc Binary files /dev/null and b/packages/play-standalone/public/fonts/BasementGrotesque-Black.woff2 differ diff --git a/packages/play-standalone/src/layouts/DefaultLayout.astro b/packages/play-standalone/src/layouts/DefaultLayout.astro new file mode 100644 index 00000000..71fa24b5 --- /dev/null +++ b/packages/play-standalone/src/layouts/DefaultLayout.astro @@ -0,0 +1,35 @@ + + + + + + + Nestri Standalone Play + + + + + + + \ No newline at end of file diff --git a/packages/play-standalone/src/pages/[room].astro b/packages/play-standalone/src/pages/[room].astro new file mode 100644 index 00000000..d59e55f0 --- /dev/null +++ b/packages/play-standalone/src/pages/[room].astro @@ -0,0 +1,136 @@ +--- +import DefaultLayout from "../layouts/DefaultLayout.astro"; +const { room } = Astro.params; +--- + + +

Offline

+

Warming up the GPU...

+ +
+ + + + diff --git a/packages/play-standalone/tsconfig.json b/packages/play-standalone/tsconfig.json new file mode 100644 index 00000000..8bf91d3b --- /dev/null +++ b/packages/play-standalone/tsconfig.json @@ -0,0 +1,5 @@ +{ + "extends": "astro/tsconfigs/strict", + "include": [".astro/types.d.ts", "**/*"], + "exclude": ["dist"] +}