Files
data-formulator/docker-compose.yml
WolffM 7dda34f6d7 fix: docker volume permissions and sandbox user mismatch
Remove user: "0:0" override in docker-compose.yml — the Dockerfile
already creates /home/appuser/.data_formulator and chowns it to appuser
before switching to USER appuser, so the override was causing the app to
run as root and write to /root/.data_formulator, bypassing the mounted
volume entirely.

Pass --user with host uid:gid to docker run in DockerSandbox so the
sandbox container UID matches the host user that created the bind-mounted
output directory. Without this, the non-root sandbox user cannot write
the output parquet file, silently breaking all Docker sandbox executions.
2026-03-17 08:11:05 -07:00

28 lines
693 B
YAML

# Copyright (c) Microsoft Corporation.
# Licensed under the MIT License.
# Docker Compose configuration for Data Formulator.
#
# Quick start:
# 1. Copy .env.template to .env and fill in your API keys.
# 2. docker compose up --build
# 3. Open http://localhost:5567 in your browser.
services:
data-formulator:
build:
context: .
dockerfile: Dockerfile
image: data-formulator:latest
ports:
- "5567:5567"
env_file:
- .env
volumes:
# Persist workspace data (uploaded files, sessions, etc.) across container restarts.
- data_formulator_home:/home/appuser/.data_formulator
restart: unless-stopped
volumes:
data_formulator_home: