Dockerfile
When you want full control, hand Orizon a Dockerfile. If your repo has one, Orizon builds it as-is — no buildpack guessing.
How it works
If Orizon finds a Dockerfile at the root of your source, it uses it directly: the image is built on a build node, pushed to an internal registry, and run on a runtime node. Detection picks Docker over every other strategy when a Dockerfile is present.
Expose the right port
Your container must listen on the port Orizon provides via the PORT environment variable. Orizon runs the container with PORT=3000 and routes public HTTPS traffic to it. Bind to 0.0.0.0:$PORT, not localhost.
# Example: a Node server that respects $PORT
FROM node:20-slim
WORKDIR /app
COPY package*.json ./
RUN npm ci --omit=dev
COPY . .
ENV PORT=3000
EXPOSE 3000
CMD ["node", "server.js"]Keep images leanA
.dockerignore that excludes node_modules, .git and build artifacts keeps the build context small and deploys fast.Build arguments & env
Project environment variables are available at runtime. Set anything your container needs there; changing them triggers a redeploy.