Add proxy env
This commit is contained in:
@@ -7,6 +7,8 @@
|
||||
<env name="DB_URL" value="jdbc:postgresql://192.168.0.10:5432/telegabot" />
|
||||
<env name="DB_USER" value="postgres" />
|
||||
<env name="OPENROUTER_API_KEY" value="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" />
|
||||
<env name="PROXY_HOST" value="192.168.0.5" />
|
||||
<env name="PROXY_PORT" value="1984" />
|
||||
</envs>
|
||||
<module name="TelegaBot.main" />
|
||||
<option name="SPRING_BOOT_MAIN_CLASS" value="ru.cathub.telegabot.TelegaBotApplication" />
|
||||
|
||||
+1
-1
@@ -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
|
||||
|
||||
|
||||
@@ -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))); // Убедитесь, что адрес и порт верны
|
||||
|
||||
if (proxyHost != null && !proxyHost.isBlank() && proxyPort > 0) {
|
||||
factory.setProxy(new Proxy(Proxy.Type.HTTP, new InetSocketAddress(proxyHost, proxyPort)));
|
||||
}
|
||||
|
||||
return new RestTemplate(factory);
|
||||
// Пример без прокси:
|
||||
// return new RestTemplate();
|
||||
}
|
||||
|
||||
// Геттеры для key и url будут сгенерированы Lombok @Setter,
|
||||
// но лучше явно добавить @Getter для них, если они нужны только для чтения внутри сервиса
|
||||
public String getKey() {
|
||||
return key;
|
||||
}
|
||||
@@ -40,6 +43,4 @@ public class OpenRouterConfig {
|
||||
public String getUrl() {
|
||||
return url;
|
||||
}
|
||||
|
||||
// Метод getModel() удален - ВЕРНО!
|
||||
}
|
||||
|
||||
@@ -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) {
|
||||
|
||||
return new OkHttpTelegramClient(okHttpClient,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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user