The ultimate goal for this project is release it as a personal blog starter kit for React developers like Minimal Wordpress.
I'm developping essential feature while my spare time, currenty I planning release v1 2026.
All core feature implemented completely, I'm planning distribute repo source directly as similar as Beam. Roadmap
⚛️ Production ✅ Storybook
Auto post of web page list you read that day.
Used in combination with nsx-browser-extension.
- Node.js v18.x.x
- pnpm
Install Docker Desktop
git clone https://github.com/laststance/nsx.git
cd nsx
pnpm install
cp .env.sample .env
docker-compose up -d
pnpm db:reset
pnpm validate
pnpm server:start
- in other terminal screen
pnpm start
pnpm e2e:admin
- then, you confirmed local develop environment working fine.
open sidebar press x
key
DB seeds initial user account is
name: John Doe
pass: popcoon
These are storing .env
and evaluate at build time.
Variable Name | Role | other |
---|---|---|
VITE_APP_TITLE | title | |
VITE_APP_DESCRIPTION | desc | |
VITE_API_ENDPOINT | end | |
VITE_SENTRY_DNS | sentry | |
VITE_GA_TRACKING_CODE | ga | |
JWT_SECRET | server auth | |
DB_URL | Database | |
BROWSER | open via dev server |
I'm using Playwright for E2E testing.
Before run pnpm playwright
, you need to run pnpm build:e2e
.
- commands
pm2 start ecosystem.config.js // Start Server with production mode
pm2 restart ecosystem.config.js // Restart Server with production mode
pm2 stop 0 // Stop server
pm2 ps -a // Show all processes
- Setup Ubuntu server on Digital Ocean or Fly.io
- Update ubuntu with
apt upgrade
- see https://www.digitalocean.com/community/tutorials/initial-server-setup-with-ubuntu-22-04
cd ~ && git clone https://github.com/laststance/nsx.git
cd nsx
and install voltasource ~/.bashrc
&&volta install node
pnpm
- install docker on Ubuntu https://docs.docker.com/engine/install/ubuntu/#set-up-the-repository
- docker compose up -d
- pnpm db:migrate
- touch .env.prod
- npm i -g pm2
touch .env && echo "JWT_SECRET=$(openssl rand -base64 60 | tr -d '\n' | cut -c1-60)" >> .env
pm2 start ecosystem.config.js
- Access from browser