# How to Run Akash Console Services for Development: Complete Docker Setup Guide

> Easily run Akash Console services for development using Docker Compose. This guide provides a complete setup for Node.js and PostgreSQL with hot-reload enabled for efficiency.

- Repository: [Akash Network/console](https://github.com/akash-network/console)
- Tags: how-to-guide
- Published: 2026-02-24

---

**The recommended way to run Akash Console services for development is using the Docker Compose helper scripts (`npm run dc:up:dev`) which orchestrate all Node.js applications and PostgreSQL services with hot-reload enabled.**

The Akash Console repository is a monorepo bundling several Node.js applications—including Deploy-Web, Stats-Web, API, and Indexer—alongside a PostgreSQL database. To simplify local development, the project provides Docker Compose automation that handles service orchestration, image building, and hot-reloading. This guide covers the officially recommended methods to run Akash Console services for development based on the source code in `akash-network/console`.

## Quick Start with Docker Compose (Recommended)

According to the root [`README.md`](https://github.com/akash-network/console/blob/main/README.md) in the repository (lines 42-45), the Docker Compose workflow is the primary recommended approach for day-to-day development.

### Starting the Full Development Stack

To launch all services simultaneously—including the database, API, Indexer, and frontend applications—run the following command from the repository root:

```bash
npm run dc:up:dev

```

This command builds Docker images if needed and brings up the complete development environment. As implemented in [`README.md`](https://github.com/akash-network/console/blob/main/README.md), this single command starts deploy-web, api, indexer, and the PostgreSQL database with hot-reload configured for frontend development.

### Running Individual Services with Dependencies

When focusing on a specific UI component, you can start a single service along with its required backend dependencies using the `--` syntax:

```bash
npm run dc:up:dev -- deploy-web

```

As shown in the root [`README.md`](https://github.com/akash-network/console/blob/main/README.md) (lines 83-90), this command starts only the deploy-web interface while automatically spinning up the API, Indexer, and database services it depends on.

## Alternative: Turbo Repo Development Workflow

For developers who prefer running services directly on their host machine while still using Docker for the database, the repository provides Turborepo-based npm scripts documented in [`.claude/instructions/general-projects-description.manual.md`](https://github.com/akash-network/console/blob/main/.claude/instructions/general-projects-description.manual.md).

### Running Specific Services

The Turbo Repo workflow allows you to start individual services with their database dependencies:

```bash
npm run console:dev     # Console UI + dependent services

npm run api:dev         # API + database

npm run indexer:dev     # Indexer + database

```

These commands are defined in the internal project documentation (lines 64-72) and provide faster iteration when working on specific components without containerizing the entire stack.

### Frontend-Only Development Without Database

When you only need to work on the user interface and want to mock backend responses, add the `:no-db` suffix to skip database initialization:

```bash
npm run console:dev:no-db
npm run stats:dev:no-db

```

This approach, documented in [`.claude/instructions/general-projects-description.manual.md`](https://github.com/akash-network/console/blob/main/.claude/instructions/general-projects-description.manual.md) (lines 74-78), is ideal for pure UI development and design work where you don't need live blockchain data.

## Stopping Development Services

To cleanly shut down all running Docker containers when you're done developing, use the down command referenced in [`README.md`](https://github.com/akash-network/console/blob/main/README.md) (lines 59-62):

```bash
npm run dc:down

```

This stops and removes all containers created by the development stack, freeing up system resources and preventing port conflicts on subsequent runs.

## Key Configuration Files

Understanding these core files helps troubleshoot the development environment:

- **[`README.md`](https://github.com/akash-network/console/blob/main/README.md)** – Root documentation containing the primary Docker Compose commands and quick-start instructions.
- **[`.claude/instructions/general-projects-description.manual.md`](https://github.com/akash-network/console/blob/main/.claude/instructions/general-projects-description.manual.md)** – Detailed reference for Turbo Repo commands and no-database variants.
- **[`packages/docker/README.md`](https://github.com/akash-network/console/blob/main/packages/docker/README.md)** – Documentation for the [`dc.sh`](https://github.com/akash-network/console/blob/main/dc.sh) helper script underlying the `npm run dc:*` commands.
- **[`docker-compose.yml`](https://github.com/akash-network/console/blob/main/docker-compose.yml)** – Generated configuration defining all services (deploy-web, api, indexer, db) used in development.

## Summary

- **Use `npm run dc:up:dev`** as the primary command to run Akash Console services for development, as it handles the full stack orchestration automatically.
- **Specify individual services** with `-- service-name` when you only need specific components and their dependencies.
- **Consider Turbo Repo scripts** (`npm run console:dev`, `npm run api:dev`) for host-based development with Dockerized database support.
- **Use `:no-db` variants** for frontend-only work without database overhead.
- **Always run `npm run dc:down`** to properly terminate containers and free resources when finished.

## Frequently Asked Questions

### What is the fastest way to start Akash Console for local development?

The fastest method is running `npm run dc:up:dev` from the repository root. According to the `akash-network/console` source code in [`README.md`](https://github.com/akash-network/console/blob/main/README.md) (lines 42-45), this single command builds necessary Docker images and starts all required services—including Deploy-Web, API, Indexer, and PostgreSQL—with hot-reload enabled for immediate frontend development.

### Can I run Akash Console services without Docker?

Yes, using the Turbo Repo workflow documented in [`.claude/instructions/general-projects-description.manual.md`](https://github.com/akash-network/console/blob/main/.claude/instructions/general-projects-description.manual.md). Run `npm run console:dev` to start the Console UI with its dependent services while using Docker only for the database. For completely container-free frontend development, use `npm run console:dev:no-db` to mock the backend and avoid database dependencies entirely.

### How do I stop all Akash Console development services?

Execute `npm run dc:down` to stop and remove all development containers. As documented in the root [`README.md`](https://github.com/akash-network/console/blob/main/README.md) (lines 59-62), this command cleanly shuts down the entire Docker Compose stack including the PostgreSQL database and all Node.js applications, preventing resource leaks and port conflicts.

### Which services are included in the Akash Console monorepo?

The repository contains several Node.js applications: **Deploy-Web** (deployment interface), **Stats-Web** (analytics dashboard), **API** (backend services), and **Indexer** (blockchain data processor). These services interact with a **PostgreSQL database**, all orchestrated through the Docker Compose configuration or Turbo Repo scripts depending on your preferred development workflow.