.env.local
· 5.1 KiB · Bash
Raw
# ── SERVER ───────────────────────────────────────────────────────────────────────
SERVICE_API_PORT=4050 # HTTP server port (renamed from PORT)
SERVICE_TCP_PORT=4051 # NestJS TCP microservice listener
SERVICE_TCP_HOST=0.0.0.0 # TCP binding address (0.0.0.0 = all interfaces)
# SERVICE_MCP_PORT=4052 # MCP server port — reserved for future use
NODE_ENV=development
# ── DATABASE ─────────────────────────────────────────────────────────────────────
DATABASE_URL='mysql://konstruksi:K43351@127.0.0.1:3306/konstruksi_p001_document'
SHADOW_DATABASE_URL="mysql://prisma_shadow:prisma_shadow@127.0.0.1:3306/prisma_shadow_konstruksi_document"
# ── CACHE & MESSAGE BROKER ───────────────────────────────────────────────────────
REDIS_URL='redis://konstruksi:K43351@127.0.0.1:6384'
# ── SERVICE IDENTITY ─────────────────────────────────────────────────────────────
SERVICE_ID='DOC' # Renamed from APP_ID
SERVICE_SLUG='document' # BullMQ queue slug (renamed from SERVICE_NAME)
SERVICE_NAME='Document' # Human-readable display name (renamed from APP_NAME)
SERVICE_LOGO_URL='https://api-dev.company.com/auth/public/logo/logo-primary.png' # Renamed from APP_LOGO_URL
# ── QUEUE SETTINGS ────────────────────────────────────────────────────────────────
METRICS_INTERVAL_MS=300000 # 5 minutes
# ── INTER-SERVICE COMMUNICATION — HTTP via Gateway (current) ─────────────────────
SERVICE_URL_AUTH='http://127.0.0.1:4001/auth'
SERVICE_URL_BASE='http://127.0.0.1:4001/base'
SERVICE_URL_DOCUMENT='http://127.0.0.1:4001/document'
SERVICE_URL_TRANSMITTAL='http://127.0.0.1:4001/transmittal'
SERVICE_URL_ANNOTATION='http://127.0.0.1:4001/annotation'
# ── INTER-SERVICE COMMUNICATION — TCP Direct (planned migration) ──────────────────
# Uncomment and configure per service as TCP migration rolls out (Guide 03, Part 4.1)
# AUTH_TCP_HOST=127.0.0.1
# AUTH_TCP_PORT=4011
# BASE_TCP_HOST=127.0.0.1
# BASE_TCP_PORT=4021
# ── AUTHENTICATION & JWT ─────────────────────────────────────────────────────────
JWT_SECRET='KonstruksiAI-2024'
JWT_EXPIRES_IN='1h'
# ── TYPESENSE ────────────────────────────────────────────────────────────────────
TYPESENSE_HOST='typesense.konstruksi.ai'
TYPESENSE_PROTOCOL='https'
TYPESENSE_PORT=443
TYPESENSE_API_KEY='ts_075076bf086a27d879cbd638e8359a8a20c520c4a667f466a83d7d47aaf2b173'
# ── ONLYOFFICE DOCUMENT SERVER ───────────────────────────────────────────────────
ONLYOFFICE_DOC_SERVER_PUBLIC_URL=https://office.konstruksi.ai
ONLYOFFICE_JWT_SECRET="4r+7QLTQN2/yAabukytO+sbb17Ngv0q+ohgC4T4AF9c="
ONLYOFFICE_FILE_ACCESS_SECRET="c78566bd3a213e39dd81775a08716118f4f694797eb6f4ed6f2d542c677fb584"
ONLYOFFICE_BACKEND_INTERNAL_BASE_URL=http://10.192.10.27:4050/api
ONLYOFFICE_EDITOR_UI_THEME=theme-dark # OnlyOffice editor UI theme — dark | light
# ── FEATURE FLAGS ────────────────────────────────────────────────────────────────
# Optional feature toggles (default: enabled)
FEATURE_AUTODESK_ENABLED=true
FEATURE_ASPOSE_ENABLED=true
# ── AUTODESK (OPTIONAL) ─────────────────────────────────────────────────────────
AWS_REGION=
AWS_ACCESS_KEY_ID=
AWS_SECRET_ACCESS_KEY=
S3_BUCKET_NAME=
ADSK_CLIENT_ID=
ADSK_CLIENT_SECRET=
# ── ASPOSE (OPTIONAL) ───────────────────────────────────────────────────────────
ASPOSE_CLIENT_ID=
ASPOSE_CLIENT_SECRET=
ASPOSE_STORAGE_NAME=
# ── EXTRACTOR ────────────────────────────────────────────────────────────────────
EXTRACTOR_ENABLE_COMPRESSION=true
| 1 | # ── SERVER ─────────────────────────────────────────────────────────────────────── |
| 2 | SERVICE_API_PORT=4050 # HTTP server port (renamed from PORT) |
| 3 | SERVICE_TCP_PORT=4051 # NestJS TCP microservice listener |
| 4 | SERVICE_TCP_HOST=0.0.0.0 # TCP binding address (0.0.0.0 = all interfaces) |
| 5 | # SERVICE_MCP_PORT=4052 # MCP server port — reserved for future use |
| 6 | NODE_ENV=development |
| 7 | |
| 8 | # ── DATABASE ───────────────────────────────────────────────────────────────────── |
| 9 | DATABASE_URL='mysql://konstruksi:K43351@127.0.0.1:3306/konstruksi_p001_document' |
| 10 | SHADOW_DATABASE_URL="mysql://prisma_shadow:prisma_shadow@127.0.0.1:3306/prisma_shadow_konstruksi_document" |
| 11 | |
| 12 | # ── CACHE & MESSAGE BROKER ─────────────────────────────────────────────────────── |
| 13 | REDIS_URL='redis://konstruksi:K43351@127.0.0.1:6384' |
| 14 | |
| 15 | # ── SERVICE IDENTITY ───────────────────────────────────────────────────────────── |
| 16 | SERVICE_ID='DOC' # Renamed from APP_ID |
| 17 | SERVICE_SLUG='document' # BullMQ queue slug (renamed from SERVICE_NAME) |
| 18 | SERVICE_NAME='Document' # Human-readable display name (renamed from APP_NAME) |
| 19 | SERVICE_LOGO_URL='https://api-dev.company.com/auth/public/logo/logo-primary.png' # Renamed from APP_LOGO_URL |
| 20 | |
| 21 | # ── QUEUE SETTINGS ──────────────────────────────────────────────────────────────── |
| 22 | METRICS_INTERVAL_MS=300000 # 5 minutes |
| 23 | |
| 24 | # ── INTER-SERVICE COMMUNICATION — HTTP via Gateway (current) ───────────────────── |
| 25 | SERVICE_URL_AUTH='http://127.0.0.1:4001/auth' |
| 26 | SERVICE_URL_BASE='http://127.0.0.1:4001/base' |
| 27 | SERVICE_URL_DOCUMENT='http://127.0.0.1:4001/document' |
| 28 | SERVICE_URL_TRANSMITTAL='http://127.0.0.1:4001/transmittal' |
| 29 | SERVICE_URL_ANNOTATION='http://127.0.0.1:4001/annotation' |
| 30 | |
| 31 | # ── INTER-SERVICE COMMUNICATION — TCP Direct (planned migration) ────────────────── |
| 32 | # Uncomment and configure per service as TCP migration rolls out (Guide 03, Part 4.1) |
| 33 | # AUTH_TCP_HOST=127.0.0.1 |
| 34 | # AUTH_TCP_PORT=4011 |
| 35 | # BASE_TCP_HOST=127.0.0.1 |
| 36 | # BASE_TCP_PORT=4021 |
| 37 | |
| 38 | # ── AUTHENTICATION & JWT ───────────────────────────────────────────────────────── |
| 39 | JWT_SECRET='KonstruksiAI-2024' |
| 40 | JWT_EXPIRES_IN='1h' |
| 41 | |
| 42 | # ── TYPESENSE ──────────────────────────────────────────────────────────────────── |
| 43 | TYPESENSE_HOST='typesense.konstruksi.ai' |
| 44 | TYPESENSE_PROTOCOL='https' |
| 45 | TYPESENSE_PORT=443 |
| 46 | TYPESENSE_API_KEY='ts_075076bf086a27d879cbd638e8359a8a20c520c4a667f466a83d7d47aaf2b173' |
| 47 | |
| 48 | # ── ONLYOFFICE DOCUMENT SERVER ─────────────────────────────────────────────────── |
| 49 | ONLYOFFICE_DOC_SERVER_PUBLIC_URL=https://office.konstruksi.ai |
| 50 | ONLYOFFICE_JWT_SECRET="4r+7QLTQN2/yAabukytO+sbb17Ngv0q+ohgC4T4AF9c=" |
| 51 | ONLYOFFICE_FILE_ACCESS_SECRET="c78566bd3a213e39dd81775a08716118f4f694797eb6f4ed6f2d542c677fb584" |
| 52 | ONLYOFFICE_BACKEND_INTERNAL_BASE_URL=http://10.192.10.27:4050/api |
| 53 | ONLYOFFICE_EDITOR_UI_THEME=theme-dark # OnlyOffice editor UI theme — dark | light |
| 54 | |
| 55 | # ── FEATURE FLAGS ──────────────────────────────────────────────────────────────── |
| 56 | # Optional feature toggles (default: enabled) |
| 57 | FEATURE_AUTODESK_ENABLED=true |
| 58 | FEATURE_ASPOSE_ENABLED=true |
| 59 | |
| 60 | # ── AUTODESK (OPTIONAL) ───────────────────────────────────────────────────────── |
| 61 | AWS_REGION= |
| 62 | AWS_ACCESS_KEY_ID= |
| 63 | AWS_SECRET_ACCESS_KEY= |
| 64 | S3_BUCKET_NAME= |
| 65 | ADSK_CLIENT_ID= |
| 66 | ADSK_CLIENT_SECRET= |
| 67 | |
| 68 | # ── ASPOSE (OPTIONAL) ─────────────────────────────────────────────────────────── |
| 69 | ASPOSE_CLIENT_ID= |
| 70 | ASPOSE_CLIENT_SECRET= |
| 71 | ASPOSE_STORAGE_NAME= |
| 72 | |
| 73 | # ── EXTRACTOR ──────────────────────────────────────────────────────────────────── |
| 74 | EXTRACTOR_ENABLE_COMPRESSION=true |