Skip to main content
There are two ways to bring up the stack: GitHub Codespaces (one-click, everything provisioned for you) or a local Docker setup driven by the pixwel CLI. Both run the same containers — API, MongoDB, Redis, ElasticSearch, ElasticMQ, and the background workers.

Codespaces (one-click)

Everything is preconfigured in .devcontainer/, so a Codespace boots the whole stack with no manual setup.
1

Open the Codespace

Open the repo as a Codespace in VS Code desktop (avoid the in-browser version). It requests an 8-CPU / 16 GB machine.
2

Wait for provisioning

The dev container builds and runs ./install.sh automatically (the postCreateCommand). This mounts the Docker socket and sets up the workspace at /workspaces/platform.
3

Start the stack

Run cd director; npm start. A dashboard opens with links to each running service.
The dev container ships the PHP debug, Intelephense, GitLens, and Docker VS Code extensions, so debugging works out of the box.

Local Docker setup

Prerequisites

  • Docker
  • Node.js
  • AWS CLI, configured with credentials
  • Linux only: raise the ElasticSearch mmap limit — sysctl -w vm.max_map_count=262144 (persist it in /etc/sysctl.conf)

Install

1

Clone and link the CLI

2

Add the environment file

Obtain development.env and place it inside docker/, then export your GitHub packages token:
3

Run the installer

4

Bring the stack up

The API is served at http://localhost:8080.

Load data

The stack starts empty. To seed it from a database dump:

What’s in the stack

pixwel up runs docker-compose.yml (the app image is ghcr.io/pixwel/platform). The dev override (docker-compose.override.yml) exposes service ports for local access: Other compose files layer on top: docker-compose.minio.yml (local S3-compatible storage), docker-compose.debug.yml, and docker-compose.override.yml. Dockerfiles live under docker/ (docker/app/Dockerfile, Dockerfile-dev, docker/Dockerfile-ui, docker/mongo/, docker/elasticmq/).

Common commands

Running the UI

The frontend runs outside Docker:
director ties it together: cd director; npm start runs the API services and the UI concurrently and opens a dashboard of links — the same entry point Codespaces uses.

See also

  • Architecture — how the API, UI, workers, and services fit together.
  • Services — the background workers and what each does.
  • Environments — staging, production, and how config differs.