# Self-host guide: # - https://strapi.io/blog/how-to-self-host-your-headless-cms-using-docker-compose services: strapi: image: elestio/strapi-production:v5.33.0 environment: # https://docs.strapi.io/cms/configurations/environment NODE_ENV: production STRAPI_TELEMETRY_DISABLED: true STRAPI_PLUGIN_I18N_INIT_LOCALE_CODE: en FAST_REFRESH: true JWT_SECRET: ${JWT_SECRET} ADMIN_JWT_SECRET: ${ADMIN_JWT_SECRET} DATABASE_CLIENT: postgres DATABASE_HOST: strapi_postgres DATABASE_PORT: 5432 DATABASE_NAME: strapi DATABASE_USERNAME: strapi DATABASE_PASSWORD: ${POSTGRES_PASSWORD} volumes: - strapi_data:/srv/app expose: - 1337 depends_on: - strapi_postgres healthcheck: test: - CMD - wget - "-q" - "--spider" - "http://127.0.0.1:1337" start_period: 3s interval: 30s timeout: 10s retries: 5 strapi_postgres: image: postgres:18 environment: POSTGRES_DB: strapi POSTGRES_USER: strapi POSTGRES_PASSWORD: ${POSTGRES_PASSWORD} volumes: - strapi_postgres_data:/var/lib/postgresql healthcheck: test: - CMD-SHELL - "pg_isready -U $${POSTGRES_USER} -d $${POSTGRES_DB}" start_period: 3s interval: 30s timeout: 10s retries: 5 volumes: strapi_data: strapi_postgres_data: