Skip to main content
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

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

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"]