This guide provides detailed instructions on how to set up and run Arcade using Docker Compose.
- Docker installed on your system. Install Docker
- Docker Compose installed. It comes bundled with Docker Desktop on Windows and macOS. For Linux, follow the Docker Compose installation guide.
Begin by cloning the Arcade repository:
git clone https://github.com/ArcadeAI/arcade-ai.git
Change to the docker
directory:
cd arcade-ai/docker
Copy the example environment file to .env
:
cp env.example .env
Open the .env
file in your preferred text editor and fill in the required values. At a minimum, you must provide the OPENAI_API_KEY
:
### LLM ###
OPENAI_API_KEY=your_openai_api_key_here
If you plan to use other Large Language Model (LLM) providers, add their API keys as well:
ANTHROPIC_API_KEY=your_anthropic_api_key_here
Start the Arcade services using Docker Compose:
docker compose up
This command will build and start all the services defined in the docker-compose.yml
file and make their ports available to your host machine.
In a separate terminal window, check if the engine is running:
curl http://localhost:9099/v1/health
You should receive a response indicating that the engine is healthy:
{ "status": "healthy" }
Open a browser and navigate to http://localhost:9099/dashboard to view the Arcade dashboard.
Arcade supports various authentication providers. To add an auth provider, follow these steps:
Edit the docker.engine.yaml
file to enable the desired auth provider. For example, to enable Google authentication, modify the file as follows:
auth:
providers:
- id: google
enabled: true # Change from false to true
Obtain the client ID and client secret from your auth provider and add them to the .env
file:
GOOGLE_CLIENT_ID="your_google_client_id"
GOOGLE_CLIENT_SECRET="your_google_client_secret"
Repeat this step for any other auth providers you wish to enable.
After making changes to the configuration, restart the services:
docker compose down
docker compose up
- Engine Health Check Fails: Ensure that all environment variables are correctly set in the
.env
file and that the services have started without errors. - Port Conflicts: If the default ports are already in use, modify the ports in the
docker-compose.yml
file. - Authentication Errors: Double-check the client IDs and secrets provided for auth providers.
NOTE: arcade login
will not work within a docker container, you must copy your credentials into the container if you would like to use it.