Getting Started with Toucan Toco Self-Hosted¶
Start in 5 Minutes¶
We strive to make our self-hosted packages easy to run, and in this
section we show you how to get started in 5 minutes. Below is an example
of adocker-compose.yml
file — downloadable
here — that starts all the stack:
version: '3'
services:
mongo:
image: mongo:5.0.4
expose:
- "27017"
redis:
image: redis:6.2.1-alpine
expose:
- "6379"
backend:
image: quay.io/toucantoco/backend:latest-monthly
environment:
TOUCAN_PUPPETEER_URL: http://screenshot:3000/
TOUCAN_DB_ENCRYPTION_SECRET: "ChangeItForProductionContext"
depends_on:
- mongo
- redis
- screenshot
ports:
- "5000:80"
frontend:
image: quay.io/toucantoco/frontend:latest-monthly
environment:
API_BASEROUTE: http://localhost:5000
ports:
- "8000:80"
screenshot:
image: quay.io/toucantoco/screenshot:latest
expose:
- "3000"
Run docker-compose up
in the same folder as this file and visit
http://localhost:8000/ to use Toucan Toco. The default username is
toucantoco
, password is hakunamapikata
.
Warning
You need to have access to those packages to run this command! If you don’t have them, check this section
Important
Do you want to perform embeds too ? Check out this doc
With this you are starting the following stack :

Toucan Toco - Docker Compose
We are using default values as environment variables for most of the
parameters accepted by our backend and frontend containers. The only
specific variable is the API_BASEROUTE
passed to the frontend
container. This way when your browser downloads our frontend code it is
fed the URL of the backend as well.
Warning
Please note in this case the data will not be persisted. Don’t use it for production purposes!
Production Architecture¶
Please read the rest of this documentation carefully. It is focused on helping you define and setup a proper production architecture.
This is our recommended target architecture with docker-compose :

Toucan Toco - Recommended production architecture
We are agnostic about the container runtime and orchestration technology that our customers use. We will not be able to provide ready made manifests or other forms of configuration for your choice of orchestrator.