url değişimi

This commit is contained in:
Sedat ÖZTÜRK 2025-05-06 14:03:45 +03:00
parent 32a19578cb
commit 3cf85f9bbb
56 changed files with 207 additions and 204 deletions

View file

@ -17,6 +17,9 @@
`dotnet ef migrations remove`
`dotnet ef database update "20240822114716_ABP_822"`
- SQL Veritabanını Entity Class oluştur.
`dotnet ef dbcontext scaffold "Server=SERVERNAME;Database=DBNAME;User ID=USERNAME;Password=PASSWORD;TrustServerCertificate=True;" Microsoft.EntityFrameworkCore.SqlServer --context MyDbContext --output-dir Models --data-annotations --force`
# Public Api
```
@ -25,7 +28,7 @@ POST /connect/token HTTP/1.1
Host: localhost:44344
Content-Type: application/x-www-form-urlencoded
username=sedat%40kadifeteks.com
username=system%40sozsoft.com
&password=...
&grant_type=password
&client_id=Platform_PublicApi
@ -36,7 +39,7 @@ username=sedat%40kadifeteks.com
- Normal facebook üyeliği yapılır.
- https://developers.facebook.com/ sitesinden yeni developer üyeliği oluşturulur. Developer üyeliği seçilir.
- CreateApp butonu ile yeni uygulama oluşturulur. Uygulama adı belirlenir. 'Sozsoft Messenger'
- CreateApp butonu ile yeni uygulama oluşturulur. Uygulama adı belirlenir. 'Kurs Messenger'
- AppType olarak İşletme seçilir ve App oluşturulur.
- Add Products kısmında WhatsApp seçilir ve Business Account oluşturulur.
- 3 noktadan (menüden) WhatsApp Manager sayfasına gidilir. Manage Templates seçilir, istenirse yeni template oluşturulur. 'hello_world'

View file

@ -209,7 +209,7 @@ POST /connect/token HTTP/1.1
Host: localhost:44344
Content-Type: application/x-www-form-urlencoded
username=sedat%40kadifeteks.com
username=system%40sozsoft.com
&password=...
&grant_type=password
&client_id=Platform_PublicApi
@ -257,8 +257,8 @@ string Params = [
]
string Sql -> SELECT * FROM VSatislar WHERE MusteriId = @MusteriId AND StartDate >= @StartDate
string Permissions = [
{ ResourceType: 'User', ResourceId: 'system' },
{ ResourceType: 'User', ResourceId: 'sedat' },
{ ResourceType: 'User', ResourceId: 'vedat' },
]
Query Parameter

View file

@ -53,7 +53,7 @@ public class ListFormsSeeder : IDataSeedContributor, ITransientDependency
var lookupQueryLanguage = $"SELECT \"{DbTablePrefix}LanguageKey\".\"Key\", CONCAT(\"{DbTablePrefix}LanguageKey\".\"Key\", ' (', \"{DbTablePrefix}LanguageText\".\"Value\", ')') AS \"Name\" FROM \"{DbTablePrefix}LanguageKey\" LEFT OUTER JOIN \"{DbTablePrefix}LanguageText\" ON \"{DbTablePrefix}LanguageKey\".\"Key\" = \"{DbTablePrefix}LanguageText\".\"Key\" AND \"{DbTablePrefix}LanguageKey\".\"ResourceName\" = \"{DbTablePrefix}LanguageText\".\"ResourceName\" WHERE \"{DbTablePrefix}LanguageKey\".\"IsDeleted\" = 'false' AND \"{DbTablePrefix}LanguageText\".\"IsDeleted\" = 'false' AND \"{DbTablePrefix}LanguageText\".\"CultureName\" = 'tr' ORDER BY \"{DbTablePrefix}LanguageKey\".\"Key\";";
var lookupQueryCulture = $"SELECT \"CultureName\" AS \"Key\", \"DisplayName\" AS \"Name\", \"CreationTime\" FROM \"{DbTablePrefix}Language\" WHERE \"IsEnabled\" = 'true' and \"IsDeleted\" = 'false'";
var adminUser = _identityUserManager.FindByNameAsync("admin");
var adminUser = _identityUserManager.FindByNameAsync(PlatformConsts.AbpIdentity.User.AdminEmailDefaultValue);
string roleId = null;
string userId = null;

View file

@ -27,7 +27,7 @@ public class NotificationRuleSeeder : IDataSeedContributor, ITransientDependency
new() {
NotificationType = NotificationTypes.YeniSiparis,
RecipientType = NotificationRecipientTypes.Role,
RecipientId = "admin",
RecipientId = PlatformConsts.AbpIdentity.User.AdminRoleName,
Channel = NotificationChannels.UiActivity,
IsActive = true,
IsFixed = false,
@ -36,7 +36,7 @@ public class NotificationRuleSeeder : IDataSeedContributor, ITransientDependency
new() {
NotificationType = NotificationTypes.SiparisPasla,
RecipientType = NotificationRecipientTypes.Role,
RecipientId = "admin",
RecipientId = PlatformConsts.AbpIdentity.User.AdminRoleName,
Channel = NotificationChannels.Desktop,
IsActive = true,
IsFixed = false,
@ -45,7 +45,7 @@ public class NotificationRuleSeeder : IDataSeedContributor, ITransientDependency
new() {
NotificationType = NotificationTypes.YeniKullanici,
RecipientType = NotificationRecipientTypes.Role,
RecipientId = "admin",
RecipientId = PlatformConsts.AbpIdentity.User.AdminRoleName,
Channel = NotificationChannels.Rocket,
IsActive = true,
IsFixed = false,

View file

@ -83,7 +83,7 @@ public class PlatformIdentityDataSeeder : IdentityDataSeeder
adminUser.SetEmailConfirmed(true);
adminUser.SetIsVerified(true);
adminUser.SetRocketUsername("sedat.ozturk");
adminUser.SetRocketUsername(PlatformConsts.AbpIdentity.User.AdminEmailDefaultValue);
adminUser.SetPhoneNumber(PlatformConsts.AbpIdentity.User.AdminPhoneNumberDefaultValue, true);
(await UserManager.CreateAsync(adminUser, adminPassword, validatePassword: false)).CheckErrors();

View file

@ -3,7 +3,7 @@
{
"code": "Default",
"dataSourceType": 2,
"connectionString": "User ID=sa;Password=NvQp8s@l;Host=postgres;Port=5432;Database=Platform;"
"connectionString": "User ID=sa;Password=NvQp8s@l;Host=postgres;Port=5432;Database=Demo;"
}
]
}

View file

@ -3,7 +3,7 @@
{
"code": "Default",
"dataSourceType": 2,
"connectionString": "User ID=sa;Password=NvQp8s@l;Host=postgres;Port=5432;Database=Platform;"
"connectionString": "User ID=sa;Password=NvQp8s@l;Host=postgres;Port=5432;Database=Demo;"
}
]
}

View file

@ -4080,7 +4080,7 @@
{
"code": "Default",
"dataSourceType": 2,
"connectionString": "User ID=sa;Password=NvQp8s@l;Host=localhost;Port=5432;Database=Platform;"
"connectionString": "User ID=sa;Password=NvQp8s@l;Host=localhost;Port=5432;Database=Demo;"
},
{
"code": "KIM",
@ -4191,7 +4191,7 @@
"code": "App.SiteManagement.General.NewMemberNotificationEmails",
"nameKey": "App.SiteManagement.General.NewMemberNotificationEmails",
"descriptionKey": "App.SiteManagement.General.NewMemberNotificationEmails.Description",
"defaultValue": "sedat@sozsoft.com",
"defaultValue": "system@sozsoft.com",
"isVisibleToClients": false,
"providers": ["G", "D"],
"isInherited": false,
@ -4207,7 +4207,7 @@
"code": "App.SiteManagement.General.TimedLoginEmails",
"nameKey": "App.SiteManagement.General.TimedLoginEmails",
"descriptionKey": "App.SiteManagement.General.TimedLoginEmails.Description",
"defaultValue": "sedat@sozsoft.com",
"defaultValue": "system@sozsoft.com",
"isVisibleToClients": false,
"providers": ["G", "D"],
"isInherited": false,
@ -4335,7 +4335,7 @@
"code": "App.Sender.Rocket.Url",
"nameKey": "App.Sender.Rocket.Url",
"descriptionKey": "App.Sender.Rocket.Url.Description",
"defaultValue": "https://chat.sozsoft.net/api/v1",
"defaultValue": "https://chat.sozsoft.com/api/v1",
"isVisibleToClients": false,
"providers": ["G", "D", "T"],
"isInherited": false,
@ -4399,7 +4399,7 @@
"code": "Abp.Mailing.DefaultFromAddress",
"nameKey": "Abp.Mailing.DefaultFromAddress",
"descriptionKey": "Abp.Mailing.DefaultFromAddress.Description",
"defaultValue": "sedat@sozsoft.com",
"defaultValue": "system@sozsoft.com",
"isVisibleToClients": false,
"providers": ["G", "D", "T"],
"isInherited": false,
@ -4415,7 +4415,7 @@
"code": "Abp.Mailing.Smtp.UserName",
"nameKey": "Abp.Mailing.Smtp.UserName",
"descriptionKey": "Abp.Mailing.Smtp.UserName.Description",
"defaultValue": "sedat@sozsoft.com",
"defaultValue": "system@sozsoft.com",
"isVisibleToClients": false,
"providers": ["G", "D", "T"],
"isInherited": false,

View file

@ -1,7 +1,7 @@
{
"ConnectionStrings": {
// "Default": "Server=sql;Database=Platform;User Id=sa;password=NvQp8s@l;Trusted_Connection=False;TrustServerCertificate=True;"
"Default": "User ID=sa;Password=NvQp8s@l;Host=postgres;Port=5432;Database=Platform;"
// "Default": "Server=sql;Database=Demo;User Id=sa;password=NvQp8s@l;Trusted_Connection=False;TrustServerCertificate=True;"
"Default": "User ID=sa;Password=NvQp8s@l;Host=postgres;Port=5432;Database=Demo;"
},
"Redis": {
"IsEnabled": "true",
@ -12,21 +12,21 @@
"Platform_Web": {
"ClientId": "Platform_Web",
"ClientSecret": "1q2w3e*",
"RootUrl": "https://platform-dev-api.sozsoft.net"
"RootUrl": "https://platform-dev-api.sozsoft.com"
},
"Platform_App": {
"ClientId": "Platform_App",
"RootUrl": "https://platform-dev.sozsoft.net",
"RootUrl": "https://platform-dev.sozsoft.com",
"TokenLifeTime": 2,
"RefreshTokenLifeTime": 8760
},
"Platform_Swagger": {
"ClientId": "Platform_Swagger",
"RootUrl": "https://platform-dev-api.sozsoft.net"
"RootUrl": "https://platform-dev-api.sozsoft.com"
},
"Platform_PublicApi": {
"ClientId": "Platform_PublicApi",
"RootUrl": "https://platform-dev.sozsoft.net",
"RootUrl": "https://platform-dev.sozsoft.com",
"TokenLifeTime": 2,
"RefreshTokenLifeTime": 8760
}

View file

@ -1,7 +1,7 @@
{
"ConnectionStrings": {
// "Default": "Server=sql;Database=Platform;User Id=sa;password=NvQp8s@l;Trusted_Connection=False;TrustServerCertificate=True;"
"Default": "User ID=sa;Password=NvQp8s@l;Host=postgres;Port=5432;Database=Platform;"
// "Default": "Server=sql;Database=Demo;User Id=sa;password=NvQp8s@l;Trusted_Connection=False;TrustServerCertificate=True;"
"Default": "User ID=sa;Password=NvQp8s@l;Host=postgres;Port=5432;Database=Demo;"
},
"Redis": {
"IsEnabled": "true",
@ -12,21 +12,21 @@
"Platform_Web": {
"ClientId": "Platform_Web",
"ClientSecret": "1q2w3e*",
"RootUrl": "https://platform-api.sozsoft.net"
"RootUrl": "https://platform-api.sozsoft.com"
},
"Platform_App": {
"ClientId": "Platform_App",
"RootUrl": "https://platform.sozsoft.net",
"RootUrl": "https://platform.sozsoft.com",
"TokenLifeTime": 2,
"RefreshTokenLifeTime": 8760
},
"Platform_Swagger": {
"ClientId": "Platform_Swagger",
"RootUrl": "https://platform-api.sozsoft.net"
"RootUrl": "https://platform-api.sozsoft.com"
},
"Platform_PublicApi": {
"ClientId": "Platform_PublicApi",
"RootUrl": "https://platform.sozsoft.net",
"RootUrl": "https://platform.sozsoft.com",
"TokenLifeTime": 2,
"RefreshTokenLifeTime": 8760
}

View file

@ -1,8 +1,8 @@
{
"Seed": false,
"ConnectionStrings": {
// "Default": "Server=localhost;Database=Platform;User Id=sa;password=NvQp8s@l;Trusted_Connection=False;TrustServerCertificate=True;"
"Default": "User ID=sa;Password=NvQp8s@l;Host=localhost;Port=5432;Database=Platform;"
// "Default": "Server=localhost;Database=Demo;User Id=sa;password=NvQp8s@l;Trusted_Connection=False;TrustServerCertificate=True;"
"Default": "User ID=sa;Password=NvQp8s@l;Host=localhost;Port=5432;Database=Demo;"
},
"Redis": {
"IsEnabled": "true",

View file

@ -64,7 +64,7 @@ public static class PlatformConsts
public const string AdminRoleName = "admin";
public const string AdminNameDefaultValue = "Sedat";
public const string AdminSurNameDefaultValue = "ÖZTÜRK";
public const string AdminEmailDefaultValue = "sedat@sozsoft.com";
public const string AdminEmailDefaultValue = "system@sozsoft.com";
public const string AdminPasswordDefaultValue = "1q2w3E*";
public const string AdminPhoneNumberDefaultValue = "05449476346";
}

View file

@ -1,22 +1,22 @@
{
"App": {
"SelfUrl": "https://platform-dev-api.sozsoft.net",
"ClientUrl": "https://platform-dev.sozsoft.net",
"CorsOrigins": "https://platform-dev.sozsoft.net",
"RedirectAllowedUrls": "https://platform-dev.sozsoft.net,https://platform-dev.sozsoft.net/authentication/callback",
"SelfUrl": "https://platform-dev-api.sozsoft.com",
"ClientUrl": "https://platform-dev.sozsoft.com",
"CorsOrigins": "https://platform-dev.sozsoft.com",
"RedirectAllowedUrls": "https://platform-dev.sozsoft.com,https://platform-dev.sozsoft.com/authentication/callback",
"AttachmentsPath": "/etc/api/mail-queue/attachments",
"CdnPath": "/etc/api/cdn"
},
"ConnectionStrings": {
// "Default": "Server=sql;Database=Platform;User Id=sa;password=NvQp8s@l;Trusted_Connection=False;TrustServerCertificate=True;"
"Default": "User ID=sa;Password=NvQp8s@l;Host=postgres;Port=5432;Database=Platform;"
// "Default": "Server=sql;Database=Demo;User Id=sa;password=NvQp8s@l;Trusted_Connection=False;TrustServerCertificate=True;"
"Default": "User ID=sa;Password=NvQp8s@l;Host=postgres;Port=5432;Database=Demo;"
},
"Redis": {
"IsEnabled": "true",
"Configuration": "redis:6379,abortConnect=false,connectTimeout=30000,responseTimeout=30000"
},
"AuthServer": {
"Authority": "https://platform-dev-api.sozsoft.net",
"Authority": "https://platform-dev-api.sozsoft.com",
"RequireHttpsMetadata": false,
"SwaggerClientId": "Platform_Swagger"
},

View file

@ -1,22 +1,22 @@
{
"App": {
"SelfUrl": "https://platform-api.sozsoft.net",
"ClientUrl": "https://platform.sozsoft.net",
"CorsOrigins": "https://platform.sozsoft.net",
"RedirectAllowedUrls": "https://platform.sozsoft.net,https://platform.sozsoft.net/authentication/callback",
"SelfUrl": "https://platform-api.sozsoft.com",
"ClientUrl": "https://platform.sozsoft.com",
"CorsOrigins": "https://platform.sozsoft.com",
"RedirectAllowedUrls": "https://platform.sozsoft.com,https://platform.sozsoft.com/authentication/callback",
"AttachmentsPath": "/etc/api/mail-queue/attachments",
"CdnPath": "/etc/api/cdn"
},
"ConnectionStrings": {
// "Default": "Server=sql;Database=Platform;User Id=sa;password=NvQp8s@l;Trusted_Connection=False;TrustServerCertificate=True;"
"Default": "User ID=sa;Password=NvQp8s@l;Host=postgres;Port=5432;Database=Platform;"
// "Default": "Server=sql;Database=Demo;User Id=sa;password=NvQp8s@l;Trusted_Connection=False;TrustServerCertificate=True;"
"Default": "User ID=sa;Password=NvQp8s@l;Host=postgres;Port=5432;Database=Demo;"
},
"Redis": {
"IsEnabled": "true",
"Configuration": "redis:6379,abortConnect=false,connectTimeout=30000,responseTimeout=30000"
},
"AuthServer": {
"Authority": "https://platform-api.sozsoft.net",
"Authority": "https://platform-api.sozsoft.com",
"RequireHttpsMetadata": false,
"SwaggerClientId": "Platform_Swagger"
},

View file

@ -4,13 +4,13 @@
"ClientUrl": "http://localhost:3000",
"CorsOrigins": "http://localhost,http://localhost:3000,http://localhost:4200,http://localhost:5173",
"RedirectAllowedUrls": "http://localhost:4200,http://localhost:4200/authentication/callback",
"AttachmentsPath": "C:\\Projects\\kurs\\kurs-platform\\configs\\mail-queue\\attachments",
"CdnPath": "C:\\Projects\\kurs\\kurs-platform\\configs\\docker\\data\\cdn",
"AttachmentsPath": "C:\\Private\\Projects\\kurs-platform\\configs\\mail-queue\\attachments",
"CdnPath": "C:\\Private\\Projects\\kurs-platform\\configs\\docker\\data\\cdn",
"Version": "1.0.4"
},
"ConnectionStrings": {
// "Default": "Server=localhost;Database=Platform;User Id=sa;password=NvQp8s@l;Trusted_Connection=False;TrustServerCertificate=True;"
"Default": "User ID=sa;Password=NvQp8s@l;Host=localhost;Port=5432;Database=Platform;"
// "Default": "Server=localhost;Database=Demo;User Id=sa;password=NvQp8s@l;Trusted_Connection=False;TrustServerCertificate=True;"
"Default": "User ID=sa;Password=NvQp8s@l;Host=localhost;Port=5432;Database=Demo;"
},
"Redis": {
"IsEnabled": "true",

View file

@ -16,8 +16,8 @@ public class DynamicDataRepository_Tests : PlatformEntityFrameworkCoreTestBase
{
private readonly DbContext _context;
private readonly DbContext _context2;
private readonly string ConnectionString = "Server=localhost;Database=PlatformTests;User Id=sa;password=NvQp8s@l;Trusted_Connection=False;TrustServerCertificate=True;";
private readonly string ConnectionString2 = "Server=localhost;Database=PlatformTests2;User Id=sa;password=NvQp8s@l;Trusted_Connection=False;TrustServerCertificate=True;";
private readonly string ConnectionString = "Server=localhost;Database=DemoTests;User Id=sa;password=NvQp8s@l;Trusted_Connection=False;TrustServerCertificate=True;";
private readonly string ConnectionString2 = "Server=localhost;Database=DemoTests2;User Id=sa;password=NvQp8s@l;Trusted_Connection=False;TrustServerCertificate=True;";
public DynamicDataRepository_Tests()
{

View file

@ -19,19 +19,19 @@ Host PlatformProd
# 2. Altyapı
1. DevOps
- devops.sozsoft.net
- devops.sozsoft.com
- 192.168.1.6
- kurs:ChatR+...
1. Dev
- platform-dev-cdn.sozsoft.net
- platform-dev-api.sozsoft.net
- platform-dev.sozsoft.net
- platform-dev-cdn.sozsoft.com
- platform-dev-api.sozsoft.com
- platform-dev.sozsoft.com
- 192.168.1.106
- kurs:ChatR+...
1. Prod
- platform-cdn.sozsoft.net
- platform-api.sozsoft.net
- platform.sozsoft.net
- platform-cdn.sozsoft.com
- platform-api.sozsoft.com
- platform.sozsoft.com
- 192.168.1.137
- kurs:ChatR+...
@ -63,22 +63,22 @@ Buradaki maddeler tüm makinalarda başlangıçta yapılır.
## 3.3. Sertifika alma
certbot ile otomatik sertifika bu şekilde alınıyor. Ancak 3 ayda bir aşağıdaki komutları manuel çalıştırıp üretilen txt yi DNS sozsoft.net domaine eklememiz gerekiyor. Bu işlemi otomatize edilebilecek şekilde reha bey ile görüşülecektir.
certbot ile otomatik sertifika bu şekilde alınıyor. Ancak 3 ayda bir aşağıdaki komutları manuel çalıştırıp üretilen txt yi DNS sozsoft.com domaine eklememiz gerekiyor. Bu işlemi otomatize edilebilecek şekilde reha bey ile görüşülecektir.
```
sudo apt-get remove certbot
sudo snap install --classic certbot
sudo ln -s /snap/bin/certbot /usr/bin/certbot
sudo certbot certonly --manual --preferred-challenges=dns --email sedat@sozsoft.com --agree-tos -d sozsoft.net -d *.sozsoft.net
sudo certbot certonly --manual --preferred-challenges=dns --email system@sozsoft.com --agree-tos -d sozsoft.com -d *.sozsoft.com
sudo su
cd /etc/letsencrypt/archive
chgrp docker -R sozsoft.net
chown kurs -R sozsoft.net
chgrp docker -R sozsoft.com
chown kurs -R sozsoft.com
```
Sertifika ortam makinalarına manuel olarak kopyalanır
- DevOps makinasından sertifikalar indirilir (indirmek için sudo su, cp -R /etc/letsencrypt/archive/sozsoft.net /home/kurs)
- DevOps makinasından sertifikalar indirilir (indirmek için sudo su, cp -R /etc/letsencrypt/archive/sozsoft.com /home/kurs)
- Ortam makinasına /home/kurs klasörüne yüklenir
# 4. DevOps Makina Kurulumu
@ -102,7 +102,7 @@ DevOps platformu olarak, Forgejo, Gitea, OneDev, Harness gibi alternatifler değ
"uuid": "8407f0f8-f296-46af-adba-5ee88ffdfccd",
"name": "devops",
"token": "39f9af97febdd8ea131a3a65c4710e7682a79635",
"address": "https://devops.sozsoft.net",
"address": "https://devops.sozsoft.com",
"labels": ["devops:docker://code.forgejo.org/oci/alpine:3"]
}
```
@ -118,7 +118,7 @@ DevOps platformu olarak, Forgejo, Gitea, OneDev, Harness gibi alternatifler değ
- daemon.json ~/forgejo-runner klasörüne kopyalanmalı
```json
{
"insecure-registries": ["devops.sozsoft.net"]
"insecure-registries": ["devops.sozsoft.com"]
}
```
- ardından docker-compose-forgejo-runner.yml içerisine docker-in-docker kısmına şu volume eklenmeli
@ -131,8 +131,8 @@ DevOps platformu olarak, Forgejo, Gitea, OneDev, Harness gibi alternatifler değ
```ini
[server]
APP_DATA_PATH = /data/gitea
DOMAIN = devops.sozsoft.net
SSH_DOMAIN = devops.sozsoft.net
DOMAIN = devops.sozsoft.com
SSH_DOMAIN = devops.sozsoft.com
DISABLE_SSH = false
SSH_PORT = 222
SSH_LISTEN_PORT = 22
@ -141,7 +141,7 @@ DevOps platformu olarak, Forgejo, Gitea, OneDev, Harness gibi alternatifler değ
OFFLINE_MODE = true
PROTOCOL=https
HTTP_PORT = 443
ROOT_URL = https://devops.sozsoft.net/
ROOT_URL = https://devops.sozsoft.com/
CERT_FILE = /etc/ssl/cert1.pem
KEY_FILE = /etc/ssl/privkey1.pem
```
@ -151,27 +151,27 @@ DevOps platformu olarak, Forgejo, Gitea, OneDev, Harness gibi alternatifler değ
- Base image build ve push
```sh
docker build -t devops.sozsoft.net/sozsoft/base-image:latest -f Kurs.WorkflowBaseImage.Dockerfile .
docker push devops.sozsoft.net/sozsoft/base-image:latest
docker build -t devops.sozsoft.com/kurs/base-image:latest -f Kurs.WorkflowBaseImage.Dockerfile .
docker push devops.sozsoft.com/kurs/base-image:latest
```
- Docker login işlemi "bot" kullanıcı ile yapılır. SSH yapılır. `docker login devops.sozsoft.net`
- Docker login işlemi "bot" kullanıcı ile yapılır. SSH yapılır. `docker login devops.sozsoft.com`
- Git kurulumu
- Aşağıdaki komut ile SSH anahtarı oluşturulur. Passphrase boş geçilerek oluşturulabilir.
```sh
cd ~/
ssh-keygen -t ed25519 -C "platformdev/prod@sozsoft.net"
ssh-keygen -t ed25519 -C "platformdev/prod@sozsoft.com"
```
- Yukarıdaki komutun çıktısı olan ".pub" dosyasıdır. Bu dosyanın içeriği devops.sozsoft.net repository nin Deploy key sekmesine eklenir.
- Yukarıdaki komutun çıktısı olan ".pub" dosyasıdır. Bu dosyanın içeriği devops.sozsoft.com repository nin Deploy key sekmesine eklenir.
`cat ~/.ssh/id_ed25519.pub`
- https://devops.sozsoft.net/Sozsoft/kurs-platform/settings/keys kısmına Add New Key diyerek yapıştırılır.
- https://devops.sozsoft.com/Kurs/kurs-platform/settings/keys kısmına Add New Key diyerek yapıştırılır.
- Aşağıdaki komutlar sırasıyla çalıştırılır.
```sh
git clone ssh://git@devops.sozsoft.net:222/Sozsoft/kurs-platform.git
git clone ssh://git@devops.sozsoft.com:222/Kurs/kurs-platform.git
git config http.sslVerify false # Eğer lazım olursa kullanılabilir
```
@ -188,7 +188,7 @@ docker push devops.sozsoft.net/sozsoft/base-image:latest
# CERT_FILE = /etc/ssl/cert1.pem
# KEY_FILE = /etc/ssl/privkey1.pem
```
- Kurulumdan sonra default olarak Starter Plan ile başlıyor. https://chat.sozsoft.net/admin/subscription adresine giderek "Cancel Subscription"a basılmalı, böylece Community Edition kullanılamya başlanacaktır.
- Kurulumdan sonra default olarak Starter Plan ile başlıyor. https://chat.sozsoft.com/admin/subscription adresine giderek "Cancel Subscription"a basılmalı, böylece Community Edition kullanılamya başlanacaktır.
- Setup Wizard'da admin kullanıcı olarak sedat.ozturk ve 1q... parolası seçilmiştir.
# 5. Dev - Prod Ortam Makinaları Kurulumu
@ -199,7 +199,7 @@ Yeni bir ortam makina kurulumunda bir defaya mahsus yapılacaktır.
- docker-compose-dev/production.yml dosyası hazırlanır.
- ui için env.dev/production hazırlanır.
- Yukarıda **Git Kurulumu** maddesinde adımlar izlenir.
- Docker login işlemi "bot" kullanıcı ile yapılır. SSH yapılır. `docker login devops.sozsoft.net`
- Docker login işlemi "bot" kullanıcı ile yapılır. SSH yapılır. `docker login devops.sozsoft.com`
- cd ~/kurs-platform/configs/deployment klasöründe komut çalıştırılır. `docker compose -f ./docker-compose-data.yml up -d`
# 6. Deployment
@ -238,26 +238,26 @@ git checkout master/branch
git fetch && git pull
cd ~/kurs-platform/api
docker build \
-t devops.sozsoft.net/sozsoft/kurs-platform-api:1.0.0 \
-t devops.sozsoft.net/sozsoft/kurs-platform-api:latest \
-t devops.sozsoft.com/kurs/kurs-platform-api:1.0.0 \
-t devops.sozsoft.com/kurs/kurs-platform-api:latest \
-f Kurs.Platform.HttpApi.Host.Dockerfile .
docker push devops.sozsoft.net/sozsoft/kurs-platform-api:1.0.0
docker push devops.sozsoft.net/sozsoft/kurs-platform-api:latest
docker push devops.sozsoft.com/kurs/kurs-platform-api:1.0.0
docker push devops.sozsoft.com/kurs/kurs-platform-api:latest
docker build \
-t devops.sozsoft.net/sozsoft/kurs-platform-migrator:1.0.0 \
-t devops.sozsoft.net/sozsoft/kurs-platform-migrator:latest \
-t devops.sozsoft.com/kurs/kurs-platform-migrator:1.0.0 \
-t devops.sozsoft.com/kurs/kurs-platform-migrator:latest \
-f Kurs.Platform.DbMigrator.Dockerfile .
docker push devops.sozsoft.net/sozsoft/kurs-platform-migrator:1.0.0
docker push devops.sozsoft.net/sozsoft/kurs-platform-migrator:latest
docker push devops.sozsoft.com/kurs/kurs-platform-migrator:1.0.0
docker push devops.sozsoft.com/kurs/kurs-platform-migrator:latest
cd ~/kurs-platform/ui
docker build \
-t devops.sozsoft.net/sozsoft/kurs-platform-ui:1.0.0 \
-t devops.sozsoft.net/sozsoft/kurs-platform-ui:latest \
-t devops.sozsoft.com/kurs/kurs-platform-ui:1.0.0 \
-t devops.sozsoft.com/kurs/kurs-platform-ui:latest \
-f Kurs.Platform.Ui.Dockerfile --build-arg ENV=dev .
docker push devops.sozsoft.net/sozsoft/kurs-platform-ui:1.0.0
docker push devops.sozsoft.net/sozsoft/kurs-platform-ui:latest
docker push devops.sozsoft.com/kurs/kurs-platform-ui:1.0.0
docker push devops.sozsoft.com/kurs/kurs-platform-ui:latest
```
### Dev-Prod Ortam Makinaları
@ -280,16 +280,16 @@ docker compose -f docker-compose-app.yml -f docker-compose-app.dev.yml up -d
## 7.1.Komutlar
- docker build -t devops.sozsoft.net/sozsoft/kurs-platform-api:1.0.0 -f Kurs.Platform.HttpApi.Host.Dockerfile .
- docker build -t devops.sozsoft.net/sozsoft/kurs-platform-migrator:1.0.0 -f Kurs.Platform.DbMigrator.Dockerfile .
- docker build -t devops.sozsoft.net/sozsoft/kurs-platform-ui:1.0.0 -f Kurs.Platform.Ui.Dockerfile --build-arg ENV=dev .
- docker build -t devops.sozsoft.com/kurs/kurs-platform-api:1.0.0 -f Kurs.Platform.HttpApi.Host.Dockerfile .
- docker build -t devops.sozsoft.com/kurs/kurs-platform-migrator:1.0.0 -f Kurs.Platform.DbMigrator.Dockerfile .
- docker build -t devops.sozsoft.com/kurs/kurs-platform-ui:1.0.0 -f Kurs.Platform.Ui.Dockerfile --build-arg ENV=dev .
- docker run -it --entrypoint /bin/sh kurs-platform-api
- docker run -it --entrypoint /bin/sh --network kurs-platform_default kurs-platform-api --env ASPNETCORE_ENVIRONMENT=Development --port 8080:80
- docker run -it --entrypoint /bin/sh --network kurs-platform_default --env ASPNETCORE_ENVIRONMENT=Development kurs-platform-migrator
- docker login devops.sozsoft.net
- docker push devops.sozsoft.net/sozsoft/kurs-platform-api:1.0.0
- docker push devops.sozsoft.net/sozsoft/kurs-platform-migrator:1.0.0
- docker push devops.sozsoft.net/sozsoft/kurs-platform-ui:1.0.0
- docker login devops.sozsoft.com
- docker push devops.sozsoft.com/kurs/kurs-platform-api:1.0.0
- docker push devops.sozsoft.com/kurs/kurs-platform-migrator:1.0.0
- docker push devops.sozsoft.com/kurs/kurs-platform-ui:1.0.0
## 7.2. SSL olmayan registry'e bağlanma
@ -297,7 +297,7 @@ docker compose -f docker-compose-app.yml -f docker-compose-app.dev.yml up -d
cd ~/
touch daemon.json
{
"insecure-registries": ["devops.sozsoft.net"]
"insecure-registries": ["devops.sozsoft.com"]
}
sudo cp daemon.json /etc/docker
sudo systemctl stop docker

View file

@ -9,10 +9,10 @@ server {
server {
listen 443 ssl http2;
server_name devops.sozsoft.net;
server_name devops.sozsoft.com;
ssl_certificate /etc/ssl/sozsoft.net/cert1.pem;
ssl_certificate_key /etc/ssl/sozsoft.net/privkey1.pem;
ssl_certificate /etc/ssl/sozsoft.com/cert1.pem;
ssl_certificate_key /etc/ssl/sozsoft.com/privkey1.pem;
location / {
proxy_pass http://forgejo;
@ -29,10 +29,10 @@ server {
server {
listen 443 ssl;
server_name chat.sozsoft.net;
server_name chat.sozsoft.com;
ssl_certificate /etc/ssl/sozsoft.net/cert1.pem;
ssl_certificate_key /etc/ssl/sozsoft.net/privkey1.pem;
ssl_certificate /etc/ssl/sozsoft.com/cert1.pem;
ssl_certificate_key /etc/ssl/sozsoft.com/privkey1.pem;
location / {
proxy_pass http://rocket_chat;
@ -49,10 +49,10 @@ server {
server {
listen 443 ssl;
server_name ai.sozsoft.net;
server_name ai.sozsoft.com;
ssl_certificate /etc/ssl/sozsoft.net/cert1.pem;
ssl_certificate_key /etc/ssl/sozsoft.net/privkey1.pem;
ssl_certificate /etc/ssl/sozsoft.com/cert1.pem;
ssl_certificate_key /etc/ssl/sozsoft.com/privkey1.pem;
location / {
proxy_pass http://n8n:5678;

View file

@ -1,12 +1,12 @@
server {
listen 80;
listen 443 ssl http2;
server_name platform-dev.sozsoft.net;
server_name platform-dev.sozsoft.com;
underscores_in_headers on;
ignore_invalid_headers off;
ssl_certificate /etc/ssl/sozsoft.net/cert1.pem;
ssl_certificate_key /etc/ssl/sozsoft.net/privkey1.pem;
ssl_certificate /etc/ssl/sozsoft.com/cert1.pem;
ssl_certificate_key /etc/ssl/sozsoft.com/privkey1.pem;
location / {
proxy_pass http://ui;
@ -19,10 +19,10 @@ server {
server {
listen 80;
listen 443 ssl;
server_name platform-dev-api.sozsoft.net;
server_name platform-dev-api.sozsoft.com;
ssl_certificate /etc/ssl/sozsoft.net/cert1.pem;
ssl_certificate_key /etc/ssl/sozsoft.net/privkey1.pem;
ssl_certificate /etc/ssl/sozsoft.com/cert1.pem;
ssl_certificate_key /etc/ssl/sozsoft.com/privkey1.pem;
location / {
proxy_pass http://api:8080/;
@ -35,10 +35,10 @@ server {
server {
listen 80;
listen 443 ssl;
server_name platform-dev-cdn.sozsoft.net;
server_name platform-dev-cdn.sozsoft.com;
ssl_certificate /etc/ssl/sozsoft.net/cert1.pem;
ssl_certificate_key /etc/ssl/sozsoft.net/privkey1.pem;
ssl_certificate /etc/ssl/sozsoft.com/cert1.pem;
ssl_certificate_key /etc/ssl/sozsoft.com/privkey1.pem;
location / {
proxy_pass http://cdn:8080;

View file

@ -1,12 +1,12 @@
server {
listen 80;
listen 443 ssl http2;
server_name platform.sozsoft.net;
server_name platform.sozsoft.com;
underscores_in_headers on;
ignore_invalid_headers off;
ssl_certificate /etc/ssl/sozsoft.net/cert1.pem;
ssl_certificate_key /etc/ssl/sozsoft.net/privkey1.pem;
ssl_certificate /etc/ssl/sozsoft.com/cert1.pem;
ssl_certificate_key /etc/ssl/sozsoft.com/privkey1.pem;
location / {
proxy_pass http://ui;
@ -19,10 +19,10 @@ server {
server {
listen 80;
listen 443 ssl;
server_name platform-api.sozsoft.net;
server_name platform-api.sozsoft.com;
ssl_certificate /etc/ssl/sozsoft.net/cert1.pem;
ssl_certificate_key /etc/ssl/sozsoft.net/privkey1.pem;
ssl_certificate /etc/ssl/sozsoft.com/cert1.pem;
ssl_certificate_key /etc/ssl/sozsoft.com/privkey1.pem;
location / {
proxy_pass http://api:8080/;
@ -35,10 +35,10 @@ server {
server {
listen 80;
listen 443 ssl;
server_name platform-cdn.sozsoft.net;
server_name platform-cdn.sozsoft.com;
ssl_certificate /etc/ssl/sozsoft.net/cert1.pem;
ssl_certificate_key /etc/ssl/sozsoft.net/privkey1.pem;
ssl_certificate /etc/ssl/sozsoft.com/cert1.pem;
ssl_certificate_key /etc/ssl/sozsoft.com/privkey1.pem;
location / {
proxy_pass http://cdn:8080;

View file

@ -12,7 +12,7 @@ services:
environment:
- ASPNETCORE_ENVIRONMENT=Dev
ui:
image: devops.sozsoft.net/sozsoft/kurs-platform-ui:dev-latest
image: devops.sozsoft.com/kurs/kurs-platform-ui:dev-latest
restart: always
cdn:
restart: always

View file

@ -12,7 +12,7 @@ services:
environment:
- ASPNETCORE_ENVIRONMENT=Production
ui:
image: devops.sozsoft.net/sozsoft/kurs-platform-ui:production-latest
image: devops.sozsoft.com/kurs/kurs-platform-ui:production-latest
restart: always
cdn:
restart: always

View file

@ -12,7 +12,7 @@ volumes:
services:
migrator:
image: devops.sozsoft.net/sozsoft/kurs-platform-migrator:latest
image: devops.sozsoft.com/kurs/kurs-platform-migrator:latest
profiles: ["migrator"]
environment:
- ASPNETCORE_ENVIRONMENT=Dev
@ -21,7 +21,7 @@ services:
- kurs-platform-data_db
- kurs-platform-data_log
api:
image: devops.sozsoft.net/sozsoft/kurs-platform-api:latest
image: devops.sozsoft.com/kurs/kurs-platform-api:latest
profiles: ["app"]
environment:
- ASPNETCORE_ENVIRONMENT=Dev
@ -33,7 +33,7 @@ services:
- cdn:/etc/api/cdn
- api-keys:/root/.aspnet/DataProtection-Keys
ui:
image: devops.sozsoft.net/sozsoft/kurs-platform-ui:latest
image: devops.sozsoft.com/kurs/kurs-platform-ui:latest
profiles: ["app"]
networks:
- default
@ -56,4 +56,4 @@ services:
- 443:443
volumes:
- ./configs/nginx.conf:/etc/nginx/conf.d/default.conf
- ~/sozsoft.net:/etc/ssl/sozsoft.net:ro
- ~/sozsoft.com:/etc/ssl/sozsoft.com:ro

View file

@ -19,7 +19,7 @@ services:
- ./data:/data
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
- /etc/letsencrypt/archive/sozsoft.net:/etc/ssl:ro
- /etc/letsencrypt/archive/sozsoft.com:/etc/ssl:ro
ports:
- "80:80"
- "443:443"

View file

@ -26,7 +26,7 @@ services:
- 443:443
volumes:
- ./configs/nginx-devops.conf:/etc/nginx/conf.d/default.conf
- ~/sozsoft.net:/etc/ssl/sozsoft.net:ro
- ~/sozsoft.com:/etc/ssl/sozsoft.com:ro
depends_on:
- forgejo
- rocket_mongodb
@ -59,7 +59,7 @@ services:
environment:
MONGO_URL: "mongodb://bot:JT74Sb2Tb3@rocket_mongodb:27017/rocketchat?authSource=admin&replicaSet=rs0"
MONGO_OPLOG_URL: "mongodb://bot:JT74Sb2Tb3@rocket_mongodb:27017/local?authSource=admin&replicaSet=rs0"
ROOT_URL: https://chat.sozsoft.net
ROOT_URL: https://chat.sozsoft.com
PORT: 80
DEPLOY_METHOD: docker
depends_on:
@ -98,7 +98,7 @@ services:
- N8N_BASIC_AUTH_ACTIVE=true
- N8N_BASIC_AUTH_USER=admin
- N8N_BASIC_AUTH_PASSWORD=NvQp8s@l
- N8N_HOST=ai.sozsoft.net
- N8N_HOST=ai.sozsoft.com
- N8N_PORT=5678
- NODE_ENV=production
- GENERIC_TIMEZONE=Europe/Istanbul

View file

@ -10,8 +10,8 @@ VERSION=$(cat ~/kurs-platform/api/src/Kurs.Platform.HttpApi.Host/appsettings.jso
| sed 's/"//g')
docker build \
-t devops.sozsoft.net/sozsoft/kurs-platform-api:${VERSION} \
-t devops.sozsoft.net/sozsoft/kurs-platform-api:latest \
-t devops.sozsoft.com/kurs/kurs-platform-api:${VERSION} \
-t devops.sozsoft.com/kurs/kurs-platform-api:latest \
-f Kurs.Platform.HttpApi.Host.Dockerfile .
docker push devops.sozsoft.net/sozsoft/kurs-platform-api:${VERSION}
docker push devops.sozsoft.net/sozsoft/kurs-platform-api:latest
docker push devops.sozsoft.com/kurs/kurs-platform-api:${VERSION}
docker push devops.sozsoft.com/kurs/kurs-platform-api:latest

View file

@ -4,8 +4,8 @@ git fetch && git pull
cd api
docker build \
-t devops.sozsoft.net/sozsoft/kurs-platform-migrator:1.0.0 \
-t devops.sozsoft.net/sozsoft/kurs-platform-migrator:latest \
-t devops.sozsoft.com/kurs/kurs-platform-migrator:1.0.0 \
-t devops.sozsoft.com/kurs/kurs-platform-migrator:latest \
-f Kurs.Platform.DbMigrator.Dockerfile .
docker push devops.sozsoft.net/sozsoft/kurs-platform-migrator:1.0.0
docker push devops.sozsoft.net/sozsoft/kurs-platform-migrator:latest
docker push devops.sozsoft.com/kurs/kurs-platform-migrator:1.0.0
docker push devops.sozsoft.com/kurs/kurs-platform-migrator:latest

View file

@ -12,8 +12,8 @@ VERSION=$(cat package.json \
| sed 's/^.* //' \
| sed 's/"//g')
docker build \
-t devops.sozsoft.net/sozsoft/kurs-platform-ui:${ENV}-${VERSION} \
-t devops.sozsoft.net/sozsoft/kurs-platform-ui:${ENV}-latest \
-t devops.sozsoft.com/kurs/kurs-platform-ui:${ENV}-${VERSION} \
-t devops.sozsoft.com/kurs/kurs-platform-ui:${ENV}-latest \
-f Kurs.Platform.Ui.Dockerfile --build-arg ENV=${ENV} .
docker push devops.sozsoft.net/sozsoft/kurs-platform-ui:${ENV}-${VERSION}
docker push devops.sozsoft.net/sozsoft/kurs-platform-ui:${ENV}-latest
docker push devops.sozsoft.com/kurs/kurs-platform-ui:${ENV}-${VERSION}
docker push devops.sozsoft.com/kurs/kurs-platform-ui:${ENV}-latest

View file

@ -11,7 +11,7 @@ services:
- N8N_BASIC_AUTH_ACTIVE=true
- N8N_BASIC_AUTH_USER=admin
- N8N_BASIC_AUTH_PASSWORD=NvQp8s@l
- N8N_HOST=api.sozsoft.net
- N8N_HOST=api.sozsoft.com
- N8N_PORT=5678
- NODE_ENV=production
- GENERIC_TIMEZONE=Europe/Istanbul

View file

@ -11,4 +11,4 @@ VITE_API_URL='https://localhost:44344/'
API_ROOTNAMESPACE='Kurs.Platform'
VITE_CDN_URL='http://localhost:4005'
VITE_REACT_APP_VERSION=$npm_package_version
VITE_AI_URL='https://ai.sozsoft.net/webhook/'
VITE_AI_URL='https://ai.sozsoft.com/webhook/'

View file

@ -1,12 +1,12 @@
APPLICATION_BASEURL='https://platform-dev.sozsoft.net'
APPLICATION_BASEURL='https://platform-dev.sozsoft.com'
APPLICATION_NAME='Platform'
APPLICATION_LOGOURL=''
OAUTH_ISSUER='https://platform-dev-api.sozsoft.net'
OAUTH_REDIRECTURI='https://platform-dev.sozsoft.net'
OAUTH_ISSUER='https://platform-dev-api.sozsoft.com'
OAUTH_REDIRECTURI='https://platform-dev.sozsoft.com'
OAUTH_CLIENTID='Platform_App'
OAUTH_RESPONSETYPE='code'
OAUTH_SCOPE='offline_access Platform'
OAUTH_REQUIREHTTPS=true
VITE_API_URL='https://platform-dev-api.sozsoft.net/'
VITE_API_URL='https://platform-dev-api.sozsoft.com/'
API_ROOTNAMESPACE='Kurs.Platform'
VITE_CDN_URL='https://platform-dev-cdn.sozsoft.net'
VITE_CDN_URL='https://platform-dev-cdn.sozsoft.com'

View file

@ -1,12 +1,12 @@
APPLICATION_BASEURL='https://platform.sozsoft.net'
APPLICATION_BASEURL='https://platform.sozsoft.com'
APPLICATION_NAME='Platform'
APPLICATION_LOGOURL=''
OAUTH_ISSUER='https://platform-api.sozsoft.net'
OAUTH_REDIRECTURI='https://platform.sozsoft.net'
OAUTH_ISSUER='https://platform-api.sozsoft.com'
OAUTH_REDIRECTURI='https://platform.sozsoft.com'
OAUTH_CLIENTID='Platform_App'
OAUTH_RESPONSETYPE='code'
OAUTH_SCOPE='offline_access Platform'
OAUTH_REQUIREHTTPS=true
VITE_API_URL='https://platform-api.sozsoft.net/'
VITE_API_URL='https://platform-api.sozsoft.com/'
API_ROOTNAMESPACE='Kurs.Platform'
VITE_CDN_URL='https://platform-cdn.sozsoft.net'
VITE_CDN_URL='https://platform-cdn.sozsoft.com'

View file

@ -82,7 +82,7 @@ define(['./workbox-54d0af47'], (function (workbox) { 'use strict';
"revision": "3ca0b8505b4bec776b69afdba2768812"
}, {
"url": "index.html",
"revision": "0.jp130trvbeg"
"revision": "0.85ufv4pqo4o"
}], {});
workbox.cleanupOutdatedCaches();
workbox.registerRoute(new workbox.NavigationRoute(workbox.createHandlerBoundToURL("index.html"), {

Binary file not shown.

After

Width:  |  Height:  |  Size: 94 KiB

View file

@ -23,9 +23,9 @@ const Cover = ({ children, content, ...rest }: CoverProps) => {
Jump start your project with Elstar
</h3>
<p className="text-lg text-white opacity-80 max-w-[700px]">
Kurs fabrics are designed to meet all international quality
and safety-standards and customer requirements. Our products
are tested both in house and in internationally accredited laboratories.
From interactive desktop applications to immersive web and mobile
solutions, we exist to meet your needs today and ensure continued
success tomorrow.
</p>
</div>
<span className="text-white">

View file

@ -23,15 +23,15 @@ const Side = ({ children, content, ...rest }: SideProps) => {
<Avatar
className="border-2 border-white"
shape="circle"
src="/img/avatars/thumb-8.jpg"
src="/img/others/cto.png"
/>
<div className="text-white">
<div className="font-semibold text-base">Sedat ÖZTÜRK</div>
<span className="opacity-80">CTO, Onward</span>
<span className="opacity-80">CTO</span>
</div>
</div>
<p className="text-lg text-white opacity-80">
Kurs fabrics are designed to meet all international quality and safety-standards and customer requirements. Our products are tested both in house and in internationally accredited laboratories.
From interactive desktop applications to immersive web and mobile solutions, we exist to meet your needs today and ensure continued success tomorrow.
</p>
</div>
<span className="text-white">

View file

@ -264,7 +264,7 @@ const Assistant = () => {
<div className="text-center text-gray-500 mt-8">
<Bot className="w-12 h-12 mx-auto mb-4 text-gray-400" />
<p className="mt-2">Hoş Geldiniz!</p>
<p className="text-lg font-medium">Sozsoft AI</p>
<p className="text-lg font-medium">Kurs AI</p>
</div>
)}

View file

@ -62,6 +62,6 @@ export default defineConfig({
host: '0.0.0.0',
port: 80,
open: false,
allowedHosts: ['platform-dev.sozsoft.net', 'platform.sozsoft.net', 'localhost'],
allowedHosts: ['platform-dev.sozsoft.com', 'platform.sozsoft.com', 'localhost'],
},
})