76 lines
3.4 KiB
Properties
76 lines
3.4 KiB
Properties
spring.application.name=backend
|
|
server.port=8000
|
|
|
|
# Database Configuration
|
|
spring.datasource.url=${DB_URL:jdbc:postgresql://localhost:5432/printcalc}
|
|
spring.datasource.username=${DB_USERNAME:printcalc}
|
|
spring.datasource.password=${DB_PASSWORD:printcalc_secret}
|
|
spring.jpa.hibernate.ddl-auto=update
|
|
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.PostgreSQLDialect
|
|
spring.jpa.open-in-view=false
|
|
|
|
|
|
# Slicer Configuration
|
|
# Map SLICER_PATH env var if present (default to /opt/orcaslicer/AppRun or Mac path)
|
|
slicer.path=${SLICER_PATH:/Applications/OrcaSlicer.app/Contents/MacOS/OrcaSlicer}
|
|
assimp.path=${ASSIMP_PATH:assimp}
|
|
profiles.root=${PROFILES_DIR:profiles}
|
|
|
|
|
|
# File Upload Limits
|
|
spring.servlet.multipart.max-file-size=200MB
|
|
spring.servlet.multipart.max-request-size=200MB
|
|
|
|
# ClamAV Configuration
|
|
clamav.host=${CLAMAV_HOST:clamav}
|
|
clamav.port=${CLAMAV_PORT:3310}
|
|
clamav.enabled=${CLAMAV_ENABLED:false}
|
|
|
|
# Media configuration
|
|
media.storage.root=${MEDIA_STORAGE_ROOT:storage_media}
|
|
media.ffmpeg.path=${MEDIA_FFMPEG_PATH:ffmpeg}
|
|
media.upload.max-file-size-bytes=${MEDIA_UPLOAD_MAX_FILE_SIZE_BYTES:26214400}
|
|
shop.model.max-file-size-bytes=${SHOP_MODEL_MAX_FILE_SIZE_BYTES:104857600}
|
|
shop.storage.root=${SHOP_STORAGE_ROOT:storage_shop}
|
|
shop.cart.cookie.ttl-days=${SHOP_CART_COOKIE_TTL_DAYS:30}
|
|
shop.cart.cookie.secure=${SHOP_CART_COOKIE_SECURE:false}
|
|
shop.cart.cookie.same-site=${SHOP_CART_COOKIE_SAME_SITE:Lax}
|
|
|
|
# TWINT Configuration
|
|
payment.twint.url=${TWINT_PAYMENT_URL:https://go.twint.ch/1/e/tw?tw=acq.gERQQytOTnyIMuQHUqn4hlxgciHE5X7nnqHnNSPAr2OF2K3uBlXJDr2n9JU3sgxa.}
|
|
|
|
# Mail Configuration
|
|
spring.mail.host=${MAIL_HOST:mail.infomaniak.com}
|
|
spring.mail.port=${MAIL_PORT:587}
|
|
spring.mail.username=${MAIL_USERNAME:info@3d-fab.ch}
|
|
spring.mail.password=${MAIL_PASSWORD:}
|
|
spring.mail.properties.mail.smtp.auth=${MAIL_SMTP_AUTH:false}
|
|
spring.mail.properties.mail.smtp.starttls.enable=${MAIL_SMTP_STARTTLS:false}
|
|
|
|
# Application Mail Settings
|
|
app.mail.enabled=${APP_MAIL_ENABLED:true}
|
|
app.mail.from=${APP_MAIL_FROM:${MAIL_USERNAME:noreply@printcalculator.local}}
|
|
app.mail.admin.enabled=${APP_MAIL_ADMIN_ENABLED:true}
|
|
app.mail.admin.address=${APP_MAIL_ADMIN_ADDRESS:admin@printcalculator.local}
|
|
app.mail.contact-request.admin.enabled=${APP_MAIL_CONTACT_REQUEST_ADMIN_ENABLED:true}
|
|
app.mail.contact-request.admin.address=${APP_MAIL_CONTACT_REQUEST_ADMIN_ADDRESS:info@3d-fab.ch}
|
|
app.mail.contact-request.customer.enabled=${APP_MAIL_CONTACT_REQUEST_CUSTOMER_ENABLED:true}
|
|
app.frontend.base-url=${APP_FRONTEND_BASE_URL:http://localhost:4200}
|
|
app.cors.additional-allowed-origins=${APP_CORS_ADDITIONAL_ALLOWED_ORIGINS:}
|
|
app.sitemap.shop.cache-seconds=${APP_SITEMAP_SHOP_CACHE_SECONDS:3600}
|
|
openai.translation.api-key=${OPENAI_API_KEY:}
|
|
openai.translation.base-url=${OPENAI_BASE_URL:https://api.openai.com/v1}
|
|
openai.translation.model=${OPENAI_TRANSLATION_MODEL:gpt-5.4}
|
|
openai.translation.timeout-seconds=${OPENAI_TRANSLATION_TIMEOUT_SECONDS:45}
|
|
openai.translation.prompt-cache-key-prefix=${OPENAI_TRANSLATION_PROMPT_CACHE_KEY_PREFIX:printcalc-shop-product-translation-v1}
|
|
openai.translation.business-context=${OPENAI_TRANSLATION_BUSINESS_CONTEXT:}
|
|
|
|
# Admin back-office authentication
|
|
admin.password=${ADMIN_PASSWORD}
|
|
admin.session.secret=${ADMIN_SESSION_SECRET}
|
|
admin.session.ttl-minutes=${ADMIN_SESSION_TTL_MINUTES:480}
|
|
admin.auth.trust-proxy-headers=${ADMIN_AUTH_TRUST_PROXY_HEADERS:false}
|
|
|
|
# Expose only liveness endpoint by default.
|
|
management.endpoints.web.exposure.include=health
|