update .gitignore, MainView.java, application.properties; add .env.example

This commit is contained in:
2026-03-24 14:28:29 +01:00
parent 4c41e165d5
commit 682974af44
4 changed files with 60 additions and 23 deletions

33
.env.example Normal file
View File

@@ -0,0 +1,33 @@
# Application
PORT=8080
# Database
SPRING_DATASOURCE_URL=jdbc:h2:file:./data/mailassistant;DB_CLOSE_ON_EXIT=FALSE
SPRING_DATASOURCE_DRIVER_CLASS_NAME=org.h2.Driver
SPRING_DATASOURCE_USERNAME=sa
SPRING_DATASOURCE_PASSWORD=
# IMAP
MAIL_IMAP_HOST=mailhub.assecutor.org
MAIL_IMAP_PORT=993
MAIL_IMAP_USERNAME=
MAIL_IMAP_PASSWORD=
MAIL_IMAP_SSL=true
MAIL_IMAP_FOLDER=INBOX
MAIL_IMAP_POLL_INTERVAL_SECONDS=60
# SMTP
SPRING_MAIL_HOST=mailhub.assecutor.org
SPRING_MAIL_PORT=465
SPRING_MAIL_USERNAME=
SPRING_MAIL_PASSWORD=
SPRING_MAIL_SMTP_AUTH=true
SPRING_MAIL_SMTP_SSL_ENABLE=true
SPRING_MAIL_SMTP_SSL_REQUIRED=true
# LLM
LLM_API_URL=http://127.0.0.1:1234/v1/chat/completions
LLM_API_MODEL=local-model
# Google Maps
GOOGLE_MAPS_API_KEY=

3
.gitignore vendored
View File

@@ -7,6 +7,9 @@
*.iml *.iml
.DS_Store .DS_Store
.env
.env.*
!.env.example
# H2 Database files # H2 Database files
/data/ /data/

View File

@@ -129,13 +129,13 @@ public class MainView extends VerticalLayout {
// Type column with badge // Type column with badge
grid.addColumn(new ComponentRenderer<>(this::createTypeBadge)) grid.addColumn(new ComponentRenderer<>(this::createTypeBadge))
.setHeader("Typ") .setHeader("Typ")
.setAutoWidth(true) .setWidth("200px")
.setFlexGrow(0); .setFlexGrow(0);
// Status column with badge // Status column with badge
grid.addColumn(new ComponentRenderer<>(this::createStatusBadge)) grid.addColumn(new ComponentRenderer<>(this::createStatusBadge))
.setHeader("Status") .setHeader("Status")
.setAutoWidth(true) .setWidth("200px")
.setFlexGrow(0); .setFlexGrow(0);
// Actions column with delete button // Actions column with delete button

View File

@@ -1,3 +1,4 @@
spring.config.import=optional:file:.env[.properties]
server.port=${PORT:8080} server.port=${PORT:8080}
logging.level.org.atmosphere=warn logging.level.org.atmosphere=warn
@@ -8,35 +9,35 @@ vaadin.launch-browser=true
vaadin.allowed-packages=com.vaadin,org.vaadin,com.flowingcode,de.assecutor.aimailassistant vaadin.allowed-packages=com.vaadin,org.vaadin,com.flowingcode,de.assecutor.aimailassistant
# H2 Database Configuration (file-based for persistence) # H2 Database Configuration (file-based for persistence)
spring.datasource.url=jdbc:h2:file:./data/mailassistant;DB_CLOSE_ON_EXIT=FALSE spring.datasource.url=${SPRING_DATASOURCE_URL:jdbc:h2:file:./data/mailassistant;DB_CLOSE_ON_EXIT=FALSE}
spring.datasource.driverClassName=org.h2.Driver spring.datasource.driverClassName=${SPRING_DATASOURCE_DRIVER_CLASS_NAME:org.h2.Driver}
spring.datasource.username=sa spring.datasource.username=${SPRING_DATASOURCE_USERNAME:sa}
spring.datasource.password= spring.datasource.password=${SPRING_DATASOURCE_PASSWORD:}
spring.jpa.database-platform=org.hibernate.dialect.H2Dialect spring.jpa.database-platform=org.hibernate.dialect.H2Dialect
spring.jpa.hibernate.ddl-auto=update spring.jpa.hibernate.ddl-auto=update
spring.h2.console.enabled=true spring.h2.console.enabled=true
# IMAP Configuration # IMAP Configuration
mail.imap.host=mailhub.assecutor.org mail.imap.host=${MAIL_IMAP_HOST:mailhub.assecutor.org}
mail.imap.port=993 mail.imap.port=${MAIL_IMAP_PORT:993}
mail.imap.username=sb-anfrage@assecutor.org mail.imap.username=${MAIL_IMAP_USERNAME:}
mail.imap.password=?,mpIpto,88 mail.imap.password=${MAIL_IMAP_PASSWORD:}
mail.imap.ssl=true mail.imap.ssl=${MAIL_IMAP_SSL:true}
mail.imap.folder=INBOX mail.imap.folder=${MAIL_IMAP_FOLDER:INBOX}
mail.imap.poll-interval-seconds=60 mail.imap.poll-interval-seconds=${MAIL_IMAP_POLL_INTERVAL_SECONDS:60}
# SMTP Configuration # SMTP Configuration
spring.mail.host=mailhub.assecutor.org spring.mail.host=${SPRING_MAIL_HOST:mailhub.assecutor.org}
spring.mail.port=465 spring.mail.port=${SPRING_MAIL_PORT:465}
spring.mail.username=sb-anfrage@assecutor.org spring.mail.username=${SPRING_MAIL_USERNAME:}
spring.mail.password=?,mpIpto,88 spring.mail.password=${SPRING_MAIL_PASSWORD:}
spring.mail.properties.mail.smtp.auth=true spring.mail.properties.mail.smtp.auth=${SPRING_MAIL_SMTP_AUTH:true}
spring.mail.properties.mail.smtp.ssl.enable=true spring.mail.properties.mail.smtp.ssl.enable=${SPRING_MAIL_SMTP_SSL_ENABLE:true}
spring.mail.properties.mail.smtp.ssl.required=true spring.mail.properties.mail.smtp.ssl.required=${SPRING_MAIL_SMTP_SSL_REQUIRED:true}
# LM Studio Configuration # LM Studio Configuration
llm.api.url=http://192.168.180.10:1234/v1/chat/completions llm.api.url=${LLM_API_URL:http://192.168.180.3:1234/v1/chat/completions}
llm.api.model=local-model llm.api.model=${LLM_API_MODEL:local-model}
# Google Maps Configuration # Google Maps Configuration
google.maps.api.key=AIzaSyDnbitL06iLp3elmj-WtPudCykX9xvXcVE google.maps.api.key=${GOOGLE_MAPS_API_KEY:}