Self hosting
Docker Compose

Docker Compose

This section covers how to install Llama Workspace using Docker Compose. This guide will instruct you on how to run the project in DEMO_MODE, where email sending is disabled to avoid complex configurations. At the end of this guide, we'll explain how to proceed to disable the demo mode.

Dependencies

This installation only requires a recent version of the Docker CLI available in your terminal. Head over to docs.docker.com (opens in a new tab) if you need to install it in your computer.

Step by step guide

(1) Clone the repository

Clone the repository to your local machine and enter the project's directory.

git clone https://github.com/llamaworkspace/llamaworkspace.git && cd llamaworkspace

(2) Run docker compose

Simple copy/paste the following command:

DEMO_MODE=true docker-compose -f infra/docker-compose.demo.yml up

This command will automatically download the necessary images and start the containers. The first time you run the command it will take a while to start.

(3) Open the browser

Head over to http://localhost:3000 (opens in a new tab) to access the Llama Workspace interface. If the page doesn't load, it's because the server is still starting. Give it a few seconds and try again.

(4) Log in with your email address

Type your email address in the login field, and a magic link will be printed in the terminal. Copy and paste it to log in.

Now you're in! Follow the instructions on screen for the first-time setup.

Disabling demo mode

To disable the DEMO_MODE you must at very least provide the credentials of an SMTP server so that emails can be sent out. You can also provide Google OAuth credentials to enable login with Google.

Head to infra/.env.demo and modify the following variables:

SMTP_EMAIL_SERVER=smtp://username:[email protected]:port
[email protected]
GOOGLE_CLIENT_ID=
GOOGLE_CLIENT_SECRET=

Then restart the application with the following command:

docker-compose -f infra/docker-compose.demo.yml up

We recommend you to review all the variables in the .env.demo file to configure the application according to your needs.