diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..fe1152b --- /dev/null +++ b/.dockerignore @@ -0,0 +1,30 @@ +**/.classpath +**/.dockerignore +**/.env +**/.git +**/.gitignore +**/.project +**/.settings +**/.toolstarget +**/.vs +**/.vscode +**/*.*proj.user +**/*.dbmdl +**/*.jfm +**/azds.yaml +**/bin +**/charts +**/docker-compose* +**/Dockerfile* +**/node_modules +**/npm-debug.log +**/obj +**/secrets.dev.yaml +**/values.dev.yaml +LICENSE +README.md +!**/.gitignore +!.git/HEAD +!.git/config +!.git/packed-refs +!.git/refs/heads/** \ No newline at end of file diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..cfcd9f9 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,25 @@ +# Используем официальный образ .NET SDK для сборки +FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build +WORKDIR /app + +# Копируем файлы проекта и восстанавливаем зависимости +COPY . ./ +RUN dotnet restore + +# Сборка проекта +RUN dotnet publish -c Release -o out + +# Используем официальный образ .NET Runtime для запуска +FROM mcr.microsoft.com/dotnet/aspnet:8.0 AS runtime +WORKDIR /app +COPY --from=build /app/out . + +# Устанавливаем переменные окружения +ENV ASPNETCORE_URLS=http://+:5000 +ENV DOTNET_RUNNING_IN_CONTAINER=true + +# Открываем порт +EXPOSE 5000 + +# Запускаем приложение +ENTRYPOINT ["dotnet", "ТГ бот.dll"] diff --git a/Properties/launchSettings.json b/Properties/launchSettings.json new file mode 100644 index 0000000..8fd3f8e --- /dev/null +++ b/Properties/launchSettings.json @@ -0,0 +1,10 @@ +{ + "profiles": { + "ТГ бот": { + "commandName": "Project" + }, + "Container (Dockerfile)": { + "commandName": "Docker" + } + } +} \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..8046ed8 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,14 @@ +version: '3.8' + +services: + bot: + build: . + container_name: telegram_bot + ports: + - "5000:5000" + environment: + - ASPNETCORE_ENVIRONMENT=Production + volumes: + - ./logs:/app/logs + restart: always + diff --git a/ТГ бот.csproj b/ТГ бот.csproj index 861a92f..7894194 100644 --- a/ТГ бот.csproj +++ b/ТГ бот.csproj @@ -6,10 +6,13 @@ ТГ_бот enable enable + Linux + . +