services: server: build: context: . dockerfile: Dockerfile env_file: - .env.local ports: - "2455:2455" - "1455:1455" command: - fastapi - run - app/main.py - --host - 0.0.0.0 - --port - "2455" - --reload volumes: - codex-lb-data:/var/lib/codex-lb develop: watch: - action: sync path: ./app target: /app/app - action: rebuild path: ./pyproject.toml - action: rebuild path: ./uv.lock - action: rebuild path: ./Dockerfile restart: unless-stopped frontend: build: context: ./frontend dockerfile_inline: | FROM oven/bun:1.3.7-alpine WORKDIR /app COPY package.json bun.lock ./ RUN bun install --frozen-lockfile COPY . . CMD ["bun", "run", "dev", "--host", "0.0.0.0"] ports: - "5173:5173" environment: API_PROXY_TARGET: http://server:2455 develop: watch: - action: sync path: ./frontend target: /app ignore: - node_modules/ - action: rebuild path: ./frontend/package.json - action: rebuild path: ./frontend/bun.lock postgres: image: postgres:16-alpine profiles: ["postgres"] environment: POSTGRES_USER: codex_lb POSTGRES_PASSWORD: codex_lb POSTGRES_DB: codex_lb ports: - "5432:5432" healthcheck: test: ["CMD-SHELL", "pg_isready -U codex_lb -d codex_lb"] interval: 10s timeout: 5s retries: 5 volumes: - codex-lb-postgres-data:/var/lib/postgresql/data restart: unless-stopped volumes: codex-lb-data: name: codex-lb-data codex-lb-postgres-data: name: codex-lb-postgres-data