pnpm runs out of heap during install
pnpm runs out of heap during install
The monorepo is large enough to overflow the default Node heap on a small VM.
postgres ECONNREFUSED
postgres ECONNREFUSED
The backend cannot reach Postgres.
Default ports, and which one to open
Default ports, and which one to open
Temporal listens on
7233, and its UI on 8080, either way.Email is not sending
Email is not sending
She sends no email at all unless
EMAIL_PROVIDER is exactly resend or nodemailer. Unset
means the no-op provider.With no provider configured at all she auto-activates users instead, so signup still works.
SMTP setup and the full variable list: Email configuration.Mounting the uploads volume
Mounting the uploads volume
With
STORAGE_PROVIDER=local, point UPLOAD_DIRECTORY at the path she should write to, mount
it into the container, and set NEXT_PUBLIC_UPLOAD_STATIC_DIRECTORY so the frontend knows where
the files are served from. Next rewrites /uploads/:path* to /api/uploads/:path* when local
storage is active.Running more than one container? Share the volume across all of them, or move to
Cloudflare R2. Detail: Uploads and storage.Can I deploy on Vercel?
Can I deploy on Vercel?
Frontend, yes. It is a standard Next.js app.Backend, no. It is a NestJS server that also embeds a Temporal worker, so it needs a
long-running Node host: Fly.io, Render, Railway, a VM, a Kubernetes pod. Serverless functions
will not work.
Hiding a provider from the interface
Hiding a provider from the interface
There is no environment variable for this today. The only way is to set the per-organization
disabled field on the Integration row in the database after connecting the channel.Temporal is not reachable
Temporal is not reachable
She schedules every post through Temporal, so the backend must reach the Temporal frontend at
TEMPORAL_ADDRESS. If it cannot, posts are accepted and never publish.Next steps
Configuration reference
Every environment variable she reads
Domain and HTTPS
The reverse proxy step, done with you