82 lines
4.2 KiB
Plaintext
82 lines
4.2 KiB
Plaintext
# Example environment file for apparel-designer.
|
|
#
|
|
# Copy this to `.env` and adjust values as needed. Compose reads
|
|
# `.env` automatically for variable substitution in docker-compose.yml
|
|
# AND passes the values as runtime environment to the running
|
|
# container, so a single file covers both build-time and runtime.
|
|
#
|
|
# ──────────────────────────────────────────────────────────────────
|
|
# Runtime — values the server reads at startup
|
|
# ──────────────────────────────────────────────────────────────────
|
|
|
|
# HTTP port the Express server binds to. Matches the host-side port
|
|
# in docker-compose.yml's `ports:` mapping.
|
|
PORT=3001
|
|
|
|
# `production` enables prod-only behavior in server.js (production
|
|
# stickers path under dist/, production-mode logger). Use
|
|
# `development` locally to read stickers from public/ instead.
|
|
NODE_ENV=development
|
|
|
|
# Pino log level. Comment out for `info` (default). Useful values:
|
|
# trace, debug, info, warn, error, fatal
|
|
# Set to `debug` when diagnosing a problem; revert before deploy.
|
|
# LOG_LEVEL=info
|
|
|
|
# CORS — uncomment and set when the frontend is served from a
|
|
# different origin than this API. Single origin or comma-separated.
|
|
# CORS_ORIGIN=https://your-domain.com
|
|
|
|
# Upload / export TTL and sweep interval, in milliseconds.
|
|
# Defaults (24h TTL, 1h sweep) work for most cases. Lower the TTL
|
|
# if disk space is tight; lower the interval if uploads churn fast
|
|
# and you want stale files cleaned sooner.
|
|
# FILE_TTL_MS=86400000 # 24 hours
|
|
# CLEANUP_INTERVAL_MS=3600000 # 1 hour
|
|
|
|
# ──────────────────────────────────────────────────────────────────
|
|
# Build-time — values the `docker compose build` step uses
|
|
# ──────────────────────────────────────────────────────────────────
|
|
# Only needed when BUILDING the image, not when running it. The
|
|
# image talks to git.kadil.dev to fetch the `goods-editor` git+ssh:
|
|
# npm dependency during `npm install`. See the Dockerfile docblock
|
|
# for the full mechanism.
|
|
#
|
|
# The Dockerfile expects a BASE64-ENCODED private key (not raw PEM)
|
|
# because that's the format Dokploy's Build-time Secrets textarea
|
|
# requires — it's dotenv-parsed and can't handle multi-line values.
|
|
# We use base64 for local builds too so the Dockerfile has one input
|
|
# format. Encode like this:
|
|
#
|
|
# base64 < ~/.ssh/goods-editor-deploy | tr -d '\n' > /tmp/key.b64
|
|
#
|
|
# Recommended: generate a dedicated read-only deploy key rather than
|
|
# reusing a personal key (see Dockerfile docblock for the ssh-keygen
|
|
# + Gitea deploy-key registration steps).
|
|
#
|
|
# Path to a base64-encoded key file. Uncomment one for local builds:
|
|
# SSH_KEY_FILE=/Users/khalid/.ssh/goods-editor-deploy.b64
|
|
# SSH_KEY_FILE=/home/deploy/.ssh/goods-editor-deploy.b64
|
|
|
|
# Alternative: env-var-based (CI). To use this mode, also flip
|
|
# docker-compose.yml's `secrets.ssh_key` block from `file:` to
|
|
# `environment:` (see comments there). Set the base64 contents via
|
|
# the shell or your CI secret store:
|
|
#
|
|
# SSH_KEY_B64="$(base64 < ~/.ssh/goods-editor-deploy | tr -d '\n')" \
|
|
# docker compose build
|
|
#
|
|
# Don't put the actual base64 in this .env file. The string is long
|
|
# enough that dotenv parsers may struggle, and committing real key
|
|
# material — even base64 — to a repo is a leak waiting to happen.
|
|
#
|
|
# ── Dokploy ───────────────────────────────────────────────────────
|
|
# The entries above DON'T apply to Dokploy. In Dokploy, paste the
|
|
# base64 directly into the application's Environment → Build-time
|
|
# Secrets textarea as a single line:
|
|
#
|
|
# ssh_key=<that base64 string>
|
|
#
|
|
# Dokploy parses that textarea as dotenv and passes the value into
|
|
# the build as a BuildKit secret named `ssh_key`.
|