With Application Hosting, you can use a Dockerfile to set up your container image. Using a Dockerfile gives you more control, and you can use almost any language, so you are not restricted to the languages Buildpacks support. Detailed information about how to create a Dockerfile is available in Docker Docs.
To use a Dockerfile, when you add an application, select the option to Use Dockerfile to set up container image in the Build environment.
The Dockerfile path is the path to your Dockerfile relative to the repository root. For example, if your Dockerfile is in the repository root, enter Dockerfile in that field. If your Dockerfile is in a subdirectory named app, enter the path to the Dockerfile: app/Dockerfile.
Context is the path in the repository we need access to so we can build your application. Most applications are built from the repository root, and you can enter the repository root (.) in the Context field. If your application needs to be built from a subdirectory (e.g. app), enter that subdirectory path in the Context field: app.
Complete the rest of the fields for adding your application and click Add application.
To help get you started, here’s an example Dockerfile you can use for reference or as a starting point.
FROM node:carbon LABEL maintainer="Kinsta devs" # Set the working directory to /app WORKDIR /app # Copy the current directory contents into the container at /app COPY . /app # Install any needed packages specified in package.json RUN npm install # Expose port 3000 for accessing the app EXPOSE 3000 EXPOSE $PORT # Run app when the container launches CMD ["npm", "start"]