The free and open source way to host a games website!
Space Cat Games is a small, easy-to-deploy React single-page application (SPA) that builds to static HTML, CSS, and JavaScript. Drop the built files into the document root of any static host and your games website is ready — no deep coding knowledge required.
- Minimal, easy-to-deploy static site
- Built with React (SPA)
- Works on any static host
- GitHub Pages
- Netlify
- Vercel
- Apache
- nginx
- Plain file hosting
- Lightweight and easy to customize
- Automated chores handled by an automation user (see Automations)
- Node.js (LTS recommended, e.g. 18.x or newer)
- npm (bundled with Node) or Yarn
- git (optional, to clone the repo)
- (Optional) Docker for containerized builds
Check package.json in the repository for exact Node/npm compatibility and available scripts.
git clone https://github.com/neurontechofficial/spacecatgames.git
cd spacecatgamesUsing npm:
npm installOr using Yarn:
yarnnpm startor
yarn startThis usually starts a dev server (commonly at http://localhost:3000/) with hot reloading.
npm run buildor
yarn buildAfter building, a folder such as build/ or dist/ will be created. The contents (index.html, JS, and CSS assets) are static files you can upload to any static host.
npx serve -s buildor
npm install -g serve
serve -s buildUpload the contents of the build/ (or dist/) folder to your host root.
Use the gh-pages package or GitHub Actions to publish the build folder.
- Build command:
npm run build - Publish directory:
build
Copy the built files into your web root.
If your app uses client-side routing, configure your host to serve
index.htmlfor all routes (see Troubleshooting).
Example multi-stage Dockerfile that builds the app and serves it with nginx:
# build stage
FROM node:18 AS build
WORKDIR /app
COPY package*.json ./
RUN npm ci
COPY . .
RUN npm run build
# serve stage
FROM nginx:alpine
COPY --from=build /app/build /usr/share/nginx/html
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]docker build -t spacecatgames .
docker run -p 8080:80 spacecatgames- If the app uses environment variables, check for
.env.exampleor references inpackage.jsonor source files. - For Create React App (CRA) apps, environment variables used in client-side code should be prefixed with
REACT_APP_. - Check the source and
package.jsonfor any runtime config or API endpoints that need adjustment.
meowcat767-auto runs chore tasks for this repo.
They/them run automated maintenance tasks; the automation runner script is located at worker.py.
- Inspect
worker.pyto see what tasks are performed. - Check whether any tokens or secrets are required.
- If you want to extend or change automation behavior, update
worker.pyand relevant GitHub Actions/workers and test locally before pushing.
- Ensure Node and npm versions are compatible.
- Delete dependencies and reinstall:
rm -rf node_modules package-lock.json
npm install- Read the build output for missing modules or syntax errors.
- Ensure environment variables required at build time are provided.
Configure your host to rewrite unknown routes to index.html.
Netlify: add a _redirects file with:
/* /index.html 200
nginx:
location / {
try_files $uri /index.html;
}Apache:
- Enable
mod_rewrite - Add a fallback to
index.html
Contributions are welcome! Suggested workflow:
- Fork the repo
- Create a branch:
git checkout -b feat/your-change
- Make changes and run the app (and tests, if any)
- Commit and push your changes
- Open a Pull Request with:
- A clear description
- Testing or verification steps