diff --git a/.run/TelegaBotApplication.run.xml b/.run/TelegaBotApplication.run.xml
index 2d835d4..c99112e 100644
--- a/.run/TelegaBotApplication.run.xml
+++ b/.run/TelegaBotApplication.run.xml
@@ -7,6 +7,8 @@
+
+
diff --git a/Dockerfile b/Dockerfile
index e1446d3..ae942de 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -9,7 +9,7 @@ COPY gradle ./gradle
RUN ./gradlew clean build -x test
# Запуск приложения
-FROM openjdk:21-jdk-slim
+FROM eclipse-temurin:21-jre-jammy
WORKDIR /app
COPY --from=build /app/build/libs/*.jar app.jar
diff --git a/src/main/java/ru/cathub/telegabot/configuration/OpenRouterConfig.java b/src/main/java/ru/cathub/telegabot/configuration/OpenRouterConfig.java
index f2a078b..12a884a 100644
--- a/src/main/java/ru/cathub/telegabot/configuration/OpenRouterConfig.java
+++ b/src/main/java/ru/cathub/telegabot/configuration/OpenRouterConfig.java
@@ -1,38 +1,41 @@
package ru.cathub.telegabot.configuration;
import lombok.Setter;
+import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.client.RestTemplate;
-// Добавлены импорты для прокси, если они используются в бине RestTemplate
import org.springframework.http.client.SimpleClientHttpRequestFactory;
import java.net.Proxy;
import java.net.InetSocketAddress;
-
@Configuration
@EnableConfigurationProperties
@ConfigurationProperties(prefix = "openrouter.api")
-@Setter // <-- Аннотация @Setter осталась, она сгенерирует сеттеры для key и url
+@Setter
public class OpenRouterConfig {
private String key;
private String url;
+ @Value("${proxy.host:}")
+ private String proxyHost;
+
+ @Value("${proxy.port:0}")
+ private int proxyPort;
+
@Bean
public RestTemplate restTemplate() {
- // Логика создания RestTemplate с прокси или без - ВЕРНО!
- // Пример с прокси:
- SimpleClientHttpRequestFactory factory = new SimpleClientHttpRequestFactory();
- factory.setProxy(new Proxy(Proxy.Type.HTTP, new InetSocketAddress("192.168.0.5", 1984))); // Убедитесь, что адрес и порт верны
- return new RestTemplate(factory);
- // Пример без прокси:
- // return new RestTemplate();
+ SimpleClientHttpRequestFactory factory = new SimpleClientHttpRequestFactory();
+
+ if (proxyHost != null && !proxyHost.isBlank() && proxyPort > 0) {
+ factory.setProxy(new Proxy(Proxy.Type.HTTP, new InetSocketAddress(proxyHost, proxyPort)));
+ }
+
+ return new RestTemplate(factory);
}
- // Геттеры для key и url будут сгенерированы Lombok @Setter,
- // но лучше явно добавить @Getter для них, если они нужны только для чтения внутри сервиса
public String getKey() {
return key;
}
@@ -40,6 +43,4 @@ public class OpenRouterConfig {
public String getUrl() {
return url;
}
-
- // Метод getModel() удален - ВЕРНО!
}
diff --git a/src/main/java/ru/cathub/telegabot/configuration/TelegramConfig.java b/src/main/java/ru/cathub/telegabot/configuration/TelegramConfig.java
index 2564f94..58f76a4 100644
--- a/src/main/java/ru/cathub/telegabot/configuration/TelegramConfig.java
+++ b/src/main/java/ru/cathub/telegabot/configuration/TelegramConfig.java
@@ -10,14 +10,20 @@ import org.telegram.telegrambots.meta.generics.TelegramClient;
@Configuration
public class TelegramConfig {
- OkHttpClient okHttpClient = new OkHttpClient.Builder()
- .proxy(new java.net.Proxy(java.net.Proxy.Type.HTTP, new java.net.InetSocketAddress("192.168.0.5", 1984)))
- .build();
+ @Value("${proxy.host:}")
+ private String proxyHost;
+
+ @Value("${proxy.port:0}")
+ private int proxyPort;
+
@Bean
public TelegramClient telegramClient(@Value("${bot.token}") String token) {
+ OkHttpClient.Builder builder = new OkHttpClient.Builder();
+ if (proxyHost != null && !proxyHost.isBlank() && proxyPort > 0) {
+ builder.proxy(new java.net.Proxy(java.net.Proxy.Type.HTTP, new java.net.InetSocketAddress(proxyHost, proxyPort)));
+ }
+ OkHttpClient okHttpClient = builder.build();
- return new OkHttpTelegramClient(okHttpClient,token);
+ return new OkHttpTelegramClient(okHttpClient, token);
}
-
-
}
diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties
index 9862220..ca14786 100644
--- a/src/main/resources/application.properties
+++ b/src/main/resources/application.properties
@@ -47,6 +47,10 @@ spring.datasource.password=${DB_PASSWORD}
# OpenRouter AI
openrouter.api.key=${OPENROUTER_API_KEY}
+# Proxy Configuration (optional)
+proxy.host=${PROXY_HOST:}
+proxy.port=${PROXY_PORT:0}
+
# JobRunr Configuration
org.jobrunr.job-scheduler.enabled=true