Initial commit
Build and Push Docker Images / build (push) Successful in 29s

This commit is contained in:
2026-05-02 21:31:31 +03:00
commit fc2dd721e4
78 changed files with 5002 additions and 0 deletions
+9
View File
@@ -0,0 +1,9 @@
**/bin/
**/obj/
**/.vs/
**/.git/
**/.gitignore
**/*.user
**/*.suo
**/*.cache
**/node_modules/
+24
View File
@@ -0,0 +1,24 @@
<Project Sdk="Microsoft.Docker.Sdk">
<PropertyGroup Label="Globals">
<ProjectGuid>81dded9d-158b-e303-5f62-77a2896d2a5a</ProjectGuid>
</PropertyGroup>
<PropertyGroup>
<TargetFramework>net10.0</TargetFramework>
<DockerComposeFiles>docker-compose.yml;docker-compose.override.yml</DockerComposeFiles>
<DockerTargetOS>Linux</DockerTargetOS>
<ProjectVersion>2.1</ProjectVersion>
</PropertyGroup>
<ItemGroup>
<None Include=".env" />
<None Include="docker-compose.yml" />
<None Include="docker-compose.staging.yml">
<DependentUpon>docker-compose.yml</DependentUpon>
</None>
<None Include="docker-compose.production.yml">
<DependentUpon>docker-compose.yml</DependentUpon>
</None>
<None Include="docker-compose.override.yml">
<DependentUpon>docker-compose.yml</DependentUpon>
</None>
</ItemGroup>
</Project>
@@ -0,0 +1,9 @@
version: "3.8"
services:
web:
# optional: mount source for live edit during development
# volumes:
# - ./web:/src/web:cached
environment:
- DOTNET_ENVIRONMENT=Development
@@ -0,0 +1,69 @@
services:
api:
image: registry.easysoft.ro/apps/myai-api:production
container_name: myai-api
environment:
- APP_ENVIRONMENT_NAME=easySoft.ro-Production
- ASPNETCORE_ENVIRONMENT=Production
- ASPNETCORE_URLS=http://+:8080
- Smtp__Host=mail.easysoft.ro
- Smtp__Port=587
- Smtp__Username=no-reply@myai.ro
- Smtp__Password=37,_,tunSis
- Smtp__UseStartTls=true
- FileStorage__Path=Files
- FileStorage__DefaultFileName=
- FileStorage__ToEmail=webmaster@myai.ro
- FileStorage__SubjectPrefix=[File Download]
- Captcha__Provider=Recaptcha
- Captcha__SecretKey=6LfR3NUsAAAAAP6ZDeJMmksyHZMkApQ29Kb4xZ5v
- Captcha__PublicKey=6LfR3NUsAAAAAH1bFYTKlgwp9SBKf5IRB2IOrhBe
- Captcha__MinimumScore=0.5
- Google__TagManagerId=GTM-NHWC9N2K
- Google__MapKey=
- Contact__ToEmail=contact@myai.ro
- Contact__SubjectPrefix=[Contact]
- Subscribe__ToEmail=contact@myai.ro
- Subscribe__SubjectPrefix=[Subscribe]
- Cors__AllowedOrigins__0=https://myai.ro
- Logging__LogLevel__Default=Information
- Logging__LogLevel__Microsoft=Warning
- Logging__LogLevel__Microsoft__AspNetCore=Warning
- Logging__LogLevel__Api=Information
- Serilog__WriteTo__2__Args__fromEmail=no-reply@myai.ro
- Serilog__WriteTo__2__Args__toEmail=webmaster@myai.ro
- Serilog__WriteTo__2__Args__mailServer=mail.easysoft.ro
- Serilog__WriteTo__2__Args__networkCredential__userName=no-reply@myai.ro
- Serilog__WriteTo__2__Args__networkCredential__password=37,_,tunSis
- Serilog__WriteTo__2__Args__port=587
- Serilog__WriteTo__2__Args__enableSsl=true
volumes:
- myai_api_logs:/app/logs
- /opt/easysoft/files:/app/Files
networks:
- myai-network
extra_hosts:
- "mail.easysoft.ro:10.0.0.225"
restart: unless-stopped
labels:
- "com.centurylinklabs.watchtower.enable=true"
web:
image: registry.easysoft.ro/apps/myai-web:production
container_name: myai-web
depends_on:
- api
ports:
- "5140:8080"
networks:
- myai-network
restart: unless-stopped
labels:
- "com.centurylinklabs.watchtower.enable=true"
networks:
myai-network:
driver: bridge
volumes:
myai_api_logs:
+69
View File
@@ -0,0 +1,69 @@
services:
api:
image: registry.easysoft.ro/apps/myai-api:staging
container_name: myai-api
environment:
- APP_ENVIRONMENT_NAME=myAi.ro-Staging
- ASPNETCORE_ENVIRONMENT=Staging
- ASPNETCORE_URLS=http://+:8080
- Smtp__Host=mail.easysoft.ro
- Smtp__Port=587
- Smtp__Username=no-reply-staging@easysoft.ro
- Smtp__Password=37,_,tunSis
- Smtp__UseStartTls=true
- FileStorage__Path=Files
- FileStorage__DefaultFileName=
- FileStorage__ToEmail=webmaster-staging@easysoft.ro
- FileStorage__SubjectPrefix=[File Download]
- Captcha__Provider=Recaptcha
- Captcha__SecretKey=6LfR3NUsAAAAAP6ZDeJMmksyHZMkApQ29Kb4xZ5v
- Captcha__PublicKey=6LfR3NUsAAAAAH1bFYTKlgwp9SBKf5IRB2IOrhBe
- Captcha__MinimumScore=0.5
- Google__TagManagerId=GTM-NHWC9N2K
- Google__MapKey=
- Contact__ToEmail=contact-staging@easysoft.ro
- Contact__SubjectPrefix=[Contact]
- Subscribe__ToEmail=contact-staging@easysoft.ro
- Subscribe__SubjectPrefix=[Subscribe]
- Cors__AllowedOrigins__0=https://myai.easysoft.ro
- Logging__LogLevel__Default=Information
- Logging__LogLevel__Microsoft=Warning
- Logging__LogLevel__Microsoft__AspNetCore=Warning
- Logging__LogLevel__Api=Information
- Serilog__WriteTo__2__Args__fromEmail=no-reply-staging@easysoft.ro
- Serilog__WriteTo__2__Args__toEmail=webmaster-staging@easysoft.ro
- Serilog__WriteTo__2__Args__mailServer=mail.easysoft.ro
- Serilog__WriteTo__2__Args__networkCredential__userName=no-reply-staging@easysoft.ro
- Serilog__WriteTo__2__Args__networkCredential__password=37,_,tunSis
- Serilog__WriteTo__2__Args__port=587
- Serilog__WriteTo__2__Args__enableSsl=true
volumes:
- myai_api_logs:/app/logs
- /opt/easysoft/files:/app/Files
networks:
- myai-network
extra_hosts:
- "mail.easysoft.ro:10.0.0.225"
restart: unless-stopped
labels:
- "com.centurylinklabs.watchtower.enable=true"
web:
image: registry.easysoft.ro/apps/myai-web:staging
container_name: myai-web
depends_on:
- api
ports:
- "5140:8080"
networks:
- myai-network
restart: unless-stopped
labels:
- "com.centurylinklabs.watchtower.enable=true"
networks:
myai-network:
driver: bridge
volumes:
myai_api_logs:
+45
View File
@@ -0,0 +1,45 @@
version: "3.8"
services:
api:
build:
context: ../api
dockerfile: Dockerfile
container_name: myai-api
ports:
- "8080:8080"
env_file:
- ../api/.env
- .env
environment:
- ASPNETCORE_ENVIRONMENT=${ASPNETCORE_ENVIRONMENT:-Development}
- ASPNETCORE_URLS=${ASPNETCORE_URLS:-http://+:8080}
- Cors__AllowedOrigins__0=http://localhost:5000
- Cors__AllowedOrigins__1=http://web:8080
volumes:
- ../api/logs:/app/logs
networks:
- myai-network
restart: unless-stopped
web:
build:
context: ../web
dockerfile: Dockerfile
container_name: myai-web
depends_on:
- api
ports:
- "5000:8080"
env_file:
- .env
environment:
- ASPNETCORE_ENVIRONMENT=${ASPNETCORE_ENVIRONMENT:-Development}
- ASPNETCORE_URLS=${ASPNETCORE_URLS:-http://+:8080}
networks:
- myai-network
restart: unless-stopped
networks:
myai-network:
driver: bridge