# Server Configuration # SECURITY: Bind only to localhost (127.0.0.1) to prevent external access server.address=127.0.0.1 server.port=8088 spring.application.name=sdk-local-service # Application Data Directory # All SLS data (database, logs, config) stored in user home directory # Convention: ~/.messaging-platform/sls/ # Windows: C:/Users/{username}/.messaging-platform/sls/ # Linux/Mac: /home/{username}/.messaging-platform/sls/ sls.data.directory=${user.home}/.messaging-platform/sls # Security Configuration sls.security.enabled=true sls.security.enable-logging=true sls.security.default-token-expiry-hours=24 sls.security.token-header=X-SLS-Token # Allowed origins for CORS and origin validation (comma-separated) # Production domain and specific localhost development ports only sls.security.allowed-origins=https://hmdevonline.com,http://localhost:8084,http://127.0.0.1:8084,http://localhost:3000,http://127.0.0.1:3000 # H2 Database (file-based, persisted in user data directory) # Database file: ~/.messaging-platform/sls/database/sls-data.mv.db spring.datasource.url=jdbc:h2:file:${sls.data.directory}/database/sls-data;NON_KEYWORDS=KEY,VALUE;AUTO_SERVER=TRUE spring.datasource.driver-class-name=org.h2.Driver spring.datasource.username=admin spring.datasource.password=${H2_PASSWORD:changeme} spring.jpa.database-platform=org.hibernate.dialect.H2Dialect spring.jpa.hibernate.ddl-auto=update spring.jpa.show-sql=false # H2 Console (web-based database viewer) # Access: http://localhost:8088/h2-console # Initial credentials: username=admin, password=changeme # SECURITY: # - Enabled for local development/debugging # - Only accessible from localhost (server.address=127.0.0.1) # - Protected by Spring Security (requires valid security token) # - web-allow-others=false prevents remote access # - Change password via H2_PASSWORD environment variable spring.h2.console.enabled=true spring.h2.console.path=/h2-console spring.h2.console.settings.web-allow-others=false spring.h2.console.settings.trace=false # SLS Configuration sls.version=1.0.0 # Logging # Log file: ~/.messaging-platform/sls/logs/sls.log logging.level.com.hmdev.sdk.local.security=INFO logging.level.com.hmdev.sdk.local=DEBUG logging.file.name=${sls.data.directory}/logs/sls.log logging.pattern.console=%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n logging.logback.rollingpolicy.max-file-size=10MB logging.logback.rollingpolicy.max-history=30 # ======================================== # File System Configuration # ======================================== # Session IDs filesystem.notes-session-id=notes # Directory Structure (relative to sls.data.directory) filesystem.data-directory-path=.messaging-platform/sls filesystem.notes-directory-name=notes filesystem.database-directory-name=database filesystem.logs-directory-name=logs filesystem.config-directory-name=config filesystem.temp-directory-name=temp # Path Prefixes filesystem.note-path-prefix=note:// # Log Tags (for consistent logging) filesystem.log-tag=[FileSystemService] filesystem.notes-log-tag=[NotesFileSystem] filesystem.local-log-tag=[LocalFS] filesystem.sftp-log-tag=[SFTP] # File Extensions filesystem.note-file-extension=.txt # Timeout Values (milliseconds) filesystem.sftp-connect-timeout-ms=10000 filesystem.ssh-session-timeout-ms=30000 # ======================================== # File Upload Configuration # ======================================== # Maximum file size for uploads (per file) spring.servlet.multipart.max-file-size=100MB # Maximum request size (for multiple files in one request) spring.servlet.multipart.max-request-size=200MB # Enable multipart uploads spring.servlet.multipart.enabled=true # Temporary storage location spring.servlet.multipart.location=${sls.data.directory}/temp