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} # 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