How to Run Akash Console Services for Development: Complete Docker Setup Guide
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 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:
npm run dc:up:dev
This command builds Docker images if needed and brings up the complete development environment. As implemented in 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:
npm run dc:up:dev -- deploy-web
As shown in the root 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.
Running Specific Services
The Turbo Repo workflow allows you to start individual services with their database dependencies:
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:
npm run console:dev:no-db
npm run stats:dev:no-db
This approach, documented in .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 (lines 59-62):
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– Root documentation containing the primary Docker Compose commands and quick-start instructions..claude/instructions/general-projects-description.manual.md– Detailed reference for Turbo Repo commands and no-database variants.packages/docker/README.md– Documentation for thedc.shhelper script underlying thenpm run dc:*commands.docker-compose.yml– Generated configuration defining all services (deploy-web, api, indexer, db) used in development.
Summary
- Use
npm run dc:up:devas the primary command to run Akash Console services for development, as it handles the full stack orchestration automatically. - Specify individual services with
-- service-namewhen 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-dbvariants for frontend-only work without database overhead. - Always run
npm run dc:downto 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 (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. 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 (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.
Have a question about this repo?
These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:
curl -s "https://instagit.com/install.md" Maintain an open-source project? Get it listed too →