This is a quickstart repository you can fork to deploy Strapi to Kubernetes on AWS/GCP/DO with Porter. This sample repository uses PostgresDB by default. Modify the files in /app/config/env/production
to customize your database settings.
- Create an account on Porter.
- One-click provision a Kubernetes cluster in a cloud provider of your choice, or connect an existing cluster.
- Fork this repository.
- From the Launch tab, navigate to Web Service > Deploy from Git Repository. Then select the forked repository and
Dockerfile
in the root directory. - Configure the port to
1337
, add environment variableNODE_ENV=production
, and set resources to the recommended settings (i.e. 2048Mi RAM, 1000 CPU). - Hit Deploy!
- Strapi instance deployed through Porter connects to PostgresDB. You can connect Strapi instance deployed on Porter to any external database, but it is also possible to use a database that is also deployed on Porter. Follow this guide to deploy a PostgresDB instance to your cluster in one click.
- After the database has been deployed, navigate to the Environment Variables tab of your deployed Strapi instance. Configure the following environment variables:
NODE_ENV=production
DATABASE_HOST=
DATABASE_PORT=5432
DATABASE_NAME=
DATABASE_USERNAME=
DATABASE_PASSWORD=
For details on how to connect to the deployed database, see this guide.
To develop, clone this repository to your local environment and run npm install && npm run develop;
from the app
directory. Porter will automatically handle CI/CD and propagate your changes to production on every push to the repository.
Join the Porter Discord community if you have any questions or need help.