This project consists of multiple services that work together. For a detailed understanding of the service hierarchy and how they interact, please see Architecture Overview.
Key services that will be running:
- PostgreSQL databases (Main & Shadow) for data storage
- Redis for caching and real-time updates
- S3Mock for file storage
- IDE/Agent Server (port 3030) for backend operations
- Portal Frontend (port 3000) for user interface
-
Node.js 18+
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash - sudo apt-get install -y nodejs -
Docker & Docker Compose
# Install Docker curl -fsSL https://get.docker.com -o get-docker.sh sudo sh get-docker.sh sudo usermod -aG docker $USER # Install Docker Compose sudo apt-get install docker-compose
Note: Log out and back in for the docker group changes to take effect.
-
Git
sudo apt-get install git
-
Python 3.11
# Add deadsnakes PPA for Python 3.11 sudo add-apt-repository ppa:deadsnakes/ppa sudo apt-get update sudo apt-get install python3.11 python3.11-venv python3.11-dev sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.11 1 sudo apt-get install python3-pip
Magick uses Clerk for authentication. You'll need to set up a Clerk account and application before proceeding:
- Sign up for a free account at clerk.com
- Create a new application

- Once created, copy the required environment variables

- Add these values to your
.env.localfile in the next section
-
Clone Repository
git clone https://github.com/Oneirocom/Magick cd Magick -
Install Dependencies
npm install --python=python3.11
-
Configure Environment
cp .env.example .env.local
The default development URLs will be:
- Portal Frontend: http://localhost:3000
- IDE/Agent Server: http://localhost:3030
-
Start Infrastructure Services
npm run portal:up
This starts PostgreSQL, Redis, and S3Mock containers. Wait a few moments for the services to be ready.
-
Initialize and Seed Databases
npm run db:init # Initialize main database npm run portal:db:init # Initialize portal database and seed templates
-
Start Services
Start the required services in separate terminal windows:
npm run dev-base # Start the base services npm run dev:connector # Start the connector service npm run dev:portal # Start the portal frontend
After starting all services, you should be able to access:
- Portal Frontend: http://localhost:3000
- IDE/Agent Server: http://localhost:3030
If you encounter issues:
- Ensure all required services are running (check Docker status with
docker ps) - Verify environment variables in
.env.local - Check service logs for specific errors
- Refer to Architecture Overview for service dependencies
-
Docker Permission Issues
# If you get permission errors with Docker: sudo usermod -aG docker $USER # Then log out and back in
-
Port Conflicts
# Check if ports are already in use: sudo lsof -i :3000 sudo lsof -i :3030 -
System Dependencies
# If you're missing build essentials: sudo apt-get install build-essential