Initial commit

This commit is contained in:
zavolo
2026-06-05 00:53:35 +03:00
commit e59e4424a4
7686 changed files with 352420 additions and 0 deletions
@@ -0,0 +1,5 @@
#!/bin/sh
export MYTELEGRAM_SERVER_NAME="mytelegram-messenger-command-server"
. ./helper.sh
$BUILD_ALL_COMMAND
@@ -0,0 +1,5 @@
#!/bin/sh
export MYTELEGRAM_SERVER_NAME="mytelegram-messenger-query-server"
. ./helper.sh
$BUILD_ALL_COMMAND
+5
View File
@@ -0,0 +1,5 @@
#!/bin/sh
export MYTELEGRAM_SERVER_NAME="mytelegram-sms-sender"
. ./helper.sh
$BUILD_ALL_COMMAND
+5
View File
@@ -0,0 +1,5 @@
#!/bin/sh
export MYTELEGRAM_SERVER_NAME="mytelegram-gateway-server"
. ./helper.sh
$BUILD_ALL_COMMAND
+5
View File
@@ -0,0 +1,5 @@
#!/bin/sh
export MYTELEGRAM_SERVER_NAME="mytelegram-auth-server"
. ./helper.sh
$BUILD_ALL_COMMAND
+5
View File
@@ -0,0 +1,5 @@
#!/bin/sh
export MYTELEGRAM_SERVER_NAME="mytelegram-data-seeder"
. ./helper.sh
$BUILD_ALL_COMMAND
@@ -0,0 +1,46 @@
# See https://aka.ms/customizecontainer to learn how to customize your debug container and how Visual Studio uses this Dockerfile to build your images for faster debugging.
# This stage is used when running from VS in fast mode (Default for Debug configuration)
FROM --platform=$BUILDPLATFORM mcr.microsoft.com/dotnet/runtime:9.0 AS base
USER $APP_UID
WORKDIR /app
# This stage is used to build the service project
FROM --platform=$BUILDPLATFORM mcr.microsoft.com/dotnet/sdk:9.0 AS build
ARG BUILD_CONFIGURATION=Release
ARG TARGETARCH
WORKDIR /src
COPY ["Directory.Packages.props", "."]
COPY ["Directory.Build.props", "."]
COPY ["nuget.config", "."]
COPY ["src/MyTelegram.DataSeeder/MyTelegram.DataSeeder.csproj", "src/MyTelegram.DataSeeder/"]
COPY ["src/MyTelegram.Domain/MyTelegram.Domain.csproj", "src/MyTelegram.Domain/"]
COPY ["src/MyTelegram.Domain.Shared/MyTelegram.Domain.Shared.csproj", "src/MyTelegram.Domain.Shared/"]
COPY ["src/MyTelegram.Abstractions/MyTelegram.Abstractions.csproj", "src/MyTelegram.Abstractions/"]
COPY ["src/MyTelegram.Schema/MyTelegram.Schema.csproj", "src/MyTelegram.Schema/"]
COPY ["src/MyTelegram.EventFlow/MyTelegram.EventFlow.csproj", "src/MyTelegram.EventFlow/"]
COPY ["src/MyTelegram.QueryHandlers.MongoDB/MyTelegram.QueryHandlers.MongoDB.csproj", "src/MyTelegram.QueryHandlers.MongoDB/"]
COPY ["src/MyTelegram.Queries/MyTelegram.Queries.csproj", "src/MyTelegram.Queries/"]
COPY ["src/MyTelegram.ReadModel/MyTelegram.ReadModel.csproj", "src/MyTelegram.ReadModel/"]
COPY ["src/MyTelegram.ReadModel.Interfaces/MyTelegram.ReadModel.Interfaces.csproj", "src/MyTelegram.ReadModel.Interfaces/"]
COPY ["src/MyTelegram.ReadModel.MongoDB/MyTelegram.ReadModel.MongoDB.csproj", "src/MyTelegram.ReadModel.MongoDB/"]
COPY ["src/MyTelegram.EventFlow.MongoDB/MyTelegram.EventFlow.MongoDB.csproj", "src/MyTelegram.EventFlow.MongoDB/"]
COPY ["src/MyTelegram.Services/MyTelegram.Services.csproj", "src/MyTelegram.Services/"]
COPY ["src/MyTelegram.Core/MyTelegram.Core.csproj", "src/MyTelegram.Core/"]
COPY ["src/MyTelegram.EventBus/MyTelegram.EventBus.csproj", "src/MyTelegram.EventBus/"]
RUN dotnet restore -a $TARGETARCH "./src/MyTelegram.DataSeeder/MyTelegram.DataSeeder.csproj"
COPY . .
WORKDIR "/src/src/MyTelegram.DataSeeder"
RUN dotnet build "./MyTelegram.DataSeeder.csproj" -a $TARGETARCH -c $BUILD_CONFIGURATION -o /app/build
# This stage is used to publish the service project to be copied to the final stage
FROM build AS publish
ARG BUILD_CONFIGURATION=Release
RUN dotnet publish "./MyTelegram.DataSeeder.csproj" -a $TARGETARCH -c $BUILD_CONFIGURATION -o /app/publish /p:UseAppHost=false
# This stage is used in production or when running from VS in regular mode (Default when not using the Debug configuration)
FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet", "MyTelegram.DataSeeder.dll"]
@@ -0,0 +1,40 @@
# See https://aka.ms/customizecontainer to learn how to customize your debug container and how Visual Studio uses this Dockerfile to build your images for faster debugging.
# This stage is used when running from VS in fast mode (Default for Debug configuration)
FROM --platform=$BUILDPLATFORM mcr.microsoft.com/dotnet/runtime:9.0 AS base
USER $APP_UID
WORKDIR /app
# This stage is used to build the service project
FROM --platform=$BUILDPLATFORM mcr.microsoft.com/dotnet/sdk:9.0 AS build
ARG BUILD_CONFIGURATION=Release
ARG TARGETARCH
WORKDIR /src
COPY ["Directory.Packages.props", "."]
COPY ["Directory.Build.props", "."]
COPY ["nuget.config", "."]
COPY ["src/MyTelegram.SmsSender/MyTelegram.SmsSender.csproj", "src/MyTelegram.SmsSender/"]
COPY ["src/MyTelegram.Core/MyTelegram.Core.csproj", "src/MyTelegram.Core/"]
COPY ["src/MyTelegram.Abstractions/MyTelegram.Abstractions.csproj", "src/MyTelegram.Abstractions/"]
COPY ["src/MyTelegram.Domain.Shared/MyTelegram.Domain.Shared.csproj", "src/MyTelegram.Domain.Shared/"]
COPY ["src/MyTelegram.Schema/MyTelegram.Schema.csproj", "src/MyTelegram.Schema/"]
COPY ["src/MyTelegram.EventBus.RabbitMQ/MyTelegram.EventBus.RabbitMQ.csproj", "src/MyTelegram.EventBus.RabbitMQ/"]
COPY ["src/MyTelegram.EventBus/MyTelegram.EventBus.csproj", "src/MyTelegram.EventBus/"]
COPY ["src/MyTelegram.Services/MyTelegram.Services.csproj", "src/MyTelegram.Services/"]
COPY ["src/MyTelegram.EventFlow/MyTelegram.EventFlow.csproj", "src/MyTelegram.EventFlow/"]
RUN dotnet restore -a $TARGETARCH "./src/MyTelegram.SmsSender/MyTelegram.SmsSender.csproj"
COPY . .
WORKDIR "/src/src/MyTelegram.SmsSender"
RUN dotnet build "./MyTelegram.SmsSender.csproj" -a $TARGETARCH -c $BUILD_CONFIGURATION -o /app/build
# This stage is used to publish the service project to be copied to the final stage
FROM build AS publish
ARG BUILD_CONFIGURATION=Release
ARG TARGETARCH
RUN dotnet publish "./MyTelegram.SmsSender.csproj" -a $TARGETARCH -c $BUILD_CONFIGURATION -o /app/publish /p:UseAppHost=false
# This stage is used in production or when running from VS in regular mode (Default when not using the Debug configuration)
FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet", "MyTelegram.SmsSender.dll"]
+13
View File
@@ -0,0 +1,13 @@
### Run the following scripts to build docker images
### linux/amd64 (build)
```
build-all-amd64.sh
```
### linux/arm64 (build)
```
build-all-arm64.sh
```
### linux/amd64 & linux/arm64 (build and push)
```
build-and-push-all-amd64-arm64.sh
```
+7
View File
@@ -0,0 +1,7 @@
#!/bin/sh
./1.build-messenger-command-server.sh
./2.build-messenger-query-server.sh
./4.build-sms-sender.sh
./5.build-gateway-server.sh
./6.build-auth-server.sh
./7.build-data-seeder.sh
+9
View File
@@ -0,0 +1,9 @@
#!/bin/sh
export BUILDPLATFORM="linux/arm64"
export TARGETARCH="linux/arm64"
./1.build-messenger-command-server.sh
./2.build-messenger-query-server.sh
./4.build-sms-sender.sh
./5.build-gateway-server.sh
./6.build-auth-server.sh
./7.build-data-seeder.sh
@@ -0,0 +1,11 @@
#!/bin/sh
export BUILDPLATFORM="linux/amd64,linux/arm64"
export TARGETARCH="linux/amd64,linux/arm64"
#export REGISTRY_URL="localhost:8500"
export BUILD_COMMAND="docker buildx build --push"
./1.build-messenger-command-server.sh
./2.build-messenger-query-server.sh
./4.build-sms-sender.sh
./5.build-gateway-server.sh
./6.build-auth-server.sh
./7.build-data-seeder.sh
@@ -0,0 +1,11 @@
#!/bin/sh
export BUILDPLATFORM="linux/amd64"
export TARGETARCH="linux/amd64"
export REGISTRY_URL="localhost:8500"
export BUILD_COMMAND="docker buildx build --push"
./1.build-messenger-command-server.sh
./2.build-messenger-query-server.sh
./4.build-sms-sender.sh
./5.build-gateway-server.sh
./6.build-auth-server.sh
./7.build-data-seeder.sh
+31
View File
@@ -0,0 +1,31 @@
#!/bin/sh
v=$(head -n 1 ../version.txt)
currentDate=`date +%-m%d`
export DEFAULT_VERSION=$v.$currentDate
export DEFAULT_IMAGE_VERSION=$DEFAULT_VERSION
DEFAULT_PLATFORM="linux/amd64"
: ${VERSION:=$DEFAULT_VERSION}
: ${IMAGE_VERSION:=$DEFAULT_IMAGE_VERSION}
: ${TARGETARCH:=$DEFAULT_PLATFORM}
: ${BUILDPLATFORM:=$DEFAULT_PLATFORM}
: ${BUILD_CONFIGURATION:="Release"}
: ${REGISTRY_URL:="mytelegram"}
: ${BUILD_COMMAND:="docker build" }
: ${MYTELEGRAM_SERVER_NAME:="mytelegram-messenger-command-server"}
: ${IMAGE_NAME:=$REGISTRY_URL/$MYTELEGRAM_SERVER_NAME}
: ${DOCKER_FILENAME:="./Dockerfile-$MYTELEGRAM_SERVER_NAME"}
echo Version: $VERSION
echo Docker image version: $IMAGE_VERSION
echo Target architecture: $TARGETARCH
echo Buld configuration: $BUILD_CONFIGURATION
: ${BUILD_ALL_COMMAND:=$BUILD_COMMAND \
--platform $BUILDPLATFORM \
--build-arg BUILD_CONFIGURATION=$BUILD_CONFIGURATION \
--tag $IMAGE_NAME:$IMAGE_VERSION \
--tag $IMAGE_NAME:latest \
--file $DOCKER_FILENAME \
../../source \
--network=host}
+8
View File
@@ -0,0 +1,8 @@
#!/bin/sh
export REGISTRY_URL="mytelegram"
./1.build-messenger-command-server.sh
./2.build-messenger-query-server.sh
./4.build-sms-sender.sh
./5.build-gateway-server.sh
./6.build-auth-server.sh