A project in production

A project in production An architecture diagram generated by Archify. Users · browser · Architecture component Users browser Reverse proxy · TLS · HSTS · Architecture component Reverse proxy TLS · HSTS Web app · nginx image · Architecture component Web app nginx image API · nest-api image · Private network API nest-api image S3 · SMTP · providers · Architecture component S3 · SMTP providers Redis · cache · queues · Private network Redis cache · queues PostgreSQL · the API's schema · Private network PostgreSQL the API's schema Workers · node · py images · Private network Workers node · py images OpenObserve · traces · logs · RUM · Architecture component OpenObserve traces · logs · RUM Temporal · mTLS, optional · Architecture component Temporal mTLS, optional HTTPS SQL jobs OTLP Private network Legend Frontend Backend Database Security Message bus External

Public edge

  • • Only the proxy is public: web and API behind it
  • • Workers expose no port
  • • Temporal only admits client certificates

Shared state

  • • The API owns the schema and migrations
  • • Workers share its database and Redis
  • • Queues and task queues must match on both sides

Operations

  • • Images from Forgejo CI, config from the environment
  • • One OpenObserve org, a stream per service
  • • Migrate first, then API, workers, front ends