> ## Documentation Index
> Fetch the complete documentation index at: https://getfloo.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Dockerfiles

> Dockerfile requirements and automatic Docker Hub caching.

floo builds from the `Dockerfile` in your repo. Every service you deploy needs one.

## Checklist

* Build succeeds from a clean checkout
* Process binds to `$PORT`
* All runtime dependencies in the final image
* `CMD` or `ENTRYPOINT` starts the service
* One Dockerfile per service directory

## Docker Hub caching

Use standard Docker Hub images in your Dockerfile. floo automatically routes pulls through a regional cache — no configuration needed. Builds are faster because layers are served from Artifact Registry instead of pulling from Docker Hub every time.

## Node.js example

```dockerfile theme={null}
FROM node:22-slim AS builder
WORKDIR /app
COPY package*.json ./
RUN npm ci
COPY . .
RUN npm run build

FROM node:22-slim
WORKDIR /app
COPY --from=builder /app/.next ./.next
COPY --from=builder /app/node_modules ./node_modules
COPY --from=builder /app/package.json ./
EXPOSE 3000
CMD ["npm", "start"]
```

## Python example

```dockerfile theme={null}
FROM python:3.13-slim
WORKDIR /app
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
COPY . .
EXPOSE 8000
CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8000"]
```
