Skip to content
/ nsx Public

Auto post of web page list you read that day.

License

Notifications You must be signed in to change notification settings

laststance/nsx

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Build Typecheck Test Lint Chromatic Playwright Admin Tests Playwright Selfhost Tests Playwright Visitor Tests

Project Status: currently under development and scheduled for release in release 2028.

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

NSX

⚛️ ProductionStorybook

Auto post of web page list you read that day.

Used in combination with nsx-browser-extension.

Prerequisites

  • Node.js v18.x.x
  • pnpm

Getting start local development

  1. git clone https://github.com/laststance/nsx.git
  2. cd nsx
  3. pnpm install
  4. cp .env.sample .env
  5. docker-compose up -d
  6. pnpm db:reset
  7. pnpm validate
  8. pnpm server:start
  9. in other terminal screen pnpm start
  10. pnpm e2e:admin
  11. then, you confirmed local develop environment working fine.

open sidebar press x key DB seeds initial user account is
name: John Doe
pass: popcoon

Enviroment Variables

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

Playwright

I'm using Playwright for E2E testing.
Before run pnpm playwright, you need to run pnpm build:e2e.

Production Server

  • 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 Procution Server

  1. Setup Ubuntu server on Digital Ocean or Fly.io
  2. Update ubuntu with apt upgrade
  3. see https://www.digitalocean.com/community/tutorials/initial-server-setup-with-ubuntu-22-04
  4. cd ~ && git clone https://github.com/laststance/nsx.git
  5. cd nsx and install volta
  6. source ~/.bashrc && volta install node
  7. pnpm
  8. install docker on Ubuntu https://docs.docker.com/engine/install/ubuntu/#set-up-the-repository
  9. docker compose up -d
  10. pnpm db:migrate
  11. touch .env.prod
  12. npm i -g pm2
  13. touch .env && echo "JWT_SECRET=$(openssl rand -base64 60 | tr -d '\n' | cut -c1-60)" >> .env
  14. pm2 start ecosystem.config.js
  15. Access from browser