Skip to main content
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.
For production deployments, use our Docker Compose setup instead.

Prerequisites

Windows (WSL) Users: After installing Docker, you may need to restart your WSL session or run newgrp docker to use Docker without sudo.

Step 1: Clone the Repository

Step 2: Install Dependencies

Install all project dependencies using npm workspaces:
DeployStack uses npm workspaces to manage dependencies across frontend and backend services. The root npm install will install dependencies for all services.

Step 3: Set Up Environment Variables

Backend Environment

Create the backend environment file:
Edit services/backend/.env with your configuration:

Frontend Environment

Create the frontend environment file:
Edit services/frontend/.env with your configuration:

Generate Encryption Secret

Step 4: Start PostgreSQL Database

DeployStack uses PostgreSQL as its database backend. For local development, we provide a convenient script to start PostgreSQL in Docker:
This command will:
  • Pull PostgreSQL 18 Docker image
  • Create a local PostgreSQL container with default credentials:
    • Host: localhost
    • Port: 5432
    • Database: deploystack
    • User: deploystack
    • Password: deploystack
  • Create a persistent volume for database data
The PostgreSQL container will persist data between restarts. To reset the database, remove the postgres_data volume: docker volume rm postgres_data

Verify PostgreSQL is Running

Step 5: Running the Development Servers

DeployStack requires both frontend and backend services to run simultaneously. Run each service in its own terminal for better log visibility:

Option 2: Background Processes

Run both services from a single terminal:

Development URLs

Once both services are running:

Step 6: Verify Installation

1

Check Service Status

Verify both services are running:
2

Access the Application

Open http://localhost:5173 in your browser. You should see the DeployStack interface.
3

Complete Setup Wizard

Follow the on-screen setup wizard to:
  • Configure PostgreSQL database connection
  • Create your first admin user
  • Set up basic platform settings

Development Workflow

Hot Reloading

Both services support hot reloading:
  • Frontend: Vite automatically reloads on file changes
  • Backend: Nodemon restarts the server on file changes

Available Scripts

From the project root:

Project Structure

Troubleshooting

Common Issues

Port Already in Use

Node Version Issues

Permission Errors

PostgreSQL Connection Issues

Environment Variable Issues

Getting Help

If you encounter issues not covered here:
  1. Check Logs: Look at the console output from both frontend and backend servers
  2. Search Issues: Look for similar problems in GitHub Issues
  3. Community Support: Ask for help in our Discord
  4. Create Issue: Report bugs with detailed logs and system information

Contributing

Once you have DeployStack running locally:
  1. Read Contributing Guidelines: Check CONTRIBUTING.md
  2. Create Feature Branch: git checkout -b feature/amazing-feature
  3. Make Changes: Implement your feature or bug fix
  4. Test Changes: Run tests and verify functionality
  5. Submit Pull Request: Create a PR with detailed description

Next Steps

  • Explore the Codebase: Familiarize yourself with the project structure
  • Read API Documentation: Check the backend API docs at http://localhost:3000/documentation
  • Join Development Discussions: Participate in our Discord development channels
  • Check Open Issues: Find issues to work on in our GitHub repository

Ready to contribute? Check our Contributing Guidelines to get started!