Files
Excalidraw/docker-compose.yml
T

43 lines
1.3 KiB
YAML

services:
postgres:
image: postgres:16-alpine
container_name: excalidraw-postgres
restart: unless-stopped
environment:
POSTGRES_USER: excalidraw
POSTGRES_PASSWORD: excalidraw
POSTGRES_DB: excalidraw
volumes:
- postgres_data:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -U excalidraw -d excalidraw"]
interval: 5s
timeout: 5s
retries: 5
excalidraw:
build:
context: .
dockerfile: excalidraw-full.Dockerfile
ports:
- "3002:3002"
volumes:
# NOTE: Using a named Docker volume instead of a host bind mount.
# Host bind mounts (./data:/root/data) persist on your filesystem
# even after `docker compose down` or `docker system prune -a`.
# A named volume is managed by Docker and can be removed with:
# `docker compose down -v` or `docker system prune -a --volumes`.
- excalidraw_data:/root/data
- ./.env:/root/.env
environment:
- LISTEN_ADDR=:3002
- STORAGE_TYPE=${STORAGE_TYPE:-postgres}
- DATABASE_URL=${DATABASE_URL:-postgres://excalidraw:excalidraw@postgres:5432/excalidraw?sslmode=disable}
depends_on:
postgres:
condition: service_healthy
volumes:
postgres_data:
excalidraw_data: