This guide is for contributors and developers who want to run DeployStack locally for development purposes. If you want to deploy DeployStack for production use, see our Self-Hosted Documentation.
# Before you can install and use DeployStack locally, make sure you have:# - Git: Version control system# - Node.js v18+: JavaScript runtime (v18 or higher required)# - npm v8+: Package manager (comes with Node.js)# - Docker: For running databases (optional but recommended)# Verify Installationgit --versionnode --version # Should be v18 or highernpm --version # Should be v8 or higherdocker --version
Windows (WSL) Users: After installing Docker, you may need to restart your WSL session or run newgrp docker to use Docker without sudo.
# If you haven't set up SSH keys, learn how at:# https://docs.github.com/en/authentication/connecting-to-github-with-ssh/about-sshgit clone git@github.com:deploystackio/deploystack.gitcd deploystack
Install all project dependencies using npm workspaces:
Copy
Ask AI
# Install dependencies for all servicesnpm install
DeployStack uses npm workspaces to manage dependencies across frontend and backend services. The root npm install will install dependencies for all services.
Edit services/backend/.env with your configuration:
Copy
Ask AI
# Required: Generate a secure encryption secretDEPLOYSTACK_ENCRYPTION_SECRET=your-32-character-secret-here# Frontend URL (for CORS and redirects)DEPLOYSTACK_FRONTEND_URL=http://localhost:5173# Development settingsNODE_ENV=developmentPORT=3000LOG_LEVEL=debug
DeployStack uses SQLite by default for development, but you can optionally set up PostgreSQL:
Copy
Ask AI
No additional setup required. DeployStack will create a SQLite database automatically in services/backend/persistent_data/.The database file will be created on first run:services/backend/persistent_data/database/deploystack.db
# Start backend in backgroundnpm run dev:backend &# Start frontendnpm run dev:frontend# To stop background processes later:# pkill -f "npm run dev:backend"
# Developmentnpm run dev:frontend # Start frontend dev servernpm run dev:backend # Start backend dev server# Buildingnpm run build:frontend # Build frontend for productionnpm run build:backend # Build backend TypeScript# Lintingnpm run lint:frontend # Lint frontend codenpm run lint:backend # Lint backend codenpm run lint:md # Lint markdown files# Testingnpm run test:backend:unit # Run backend unit testsnpm run test:backend:e2e # Run backend e2e testsnpm run test:backend:unit:coverage # Run tests with coverage# Releasesnpm run release:frontend # Create frontend releasenpm run release:backend # Create backend release