services: speaches: container_name: speaches build: dockerfile: Dockerfile context: . platforms: - linux/amd64 - linux/arm64 restart: unless-stopped ports: - 8000:8000 develop: watch: - action: rebuild path: ./uv.lock - action: sync+restart path: ./src target: /home/ubuntu/speaches/src env_file: - path: .env required: false healthcheck: test: ["CMD", "curl", "--fail", "http://0.0.0.0:8000/health"] # TODO: won't work if a user changes the port interval: 30s timeout: 10s retries: 3 start_period: 5s