version: "3" services: canvas: build: context: . dockerfile: Containerfile env_file: .env command: - pnpm - exec - vite - dev - --host - 0.0.0.0 restart: always volumes: - ./src:/canvas/src:cached - ./static:/canvas/static:cached ports: - 5173:5173 depends_on: database: condition: service_healthy networks: - canvas database: env_file: .env image: docker.io/library/postgres:17-alpine environment: POSTGRES_USER: ${DB_USER} POSTGRES_PASSWORD: ${DB_PASSWORD} POSTGRES_DB: ${DB_DATABASE} healthcheck: test: ["CMD", "pg_isready", "--host=localhost", "--username=${DB_USER}"] interval: 10s timeout: 5s retries: 5 start_interval: 5s start_period: 30s volumes: - canvas-db-data:/var/lib/postgresql/data - ./schema.sql:/docker-entrypoint-initdb.d/01-schema.sql:ro ports: - "5432:5432" networks: - canvas volumes: canvas-db-data: networks: canvas: name: canvas driver: bridge