No docker mode

This commit is contained in:
Wvader 2022-09-18 02:17:37 +01:00
parent b697a4b357
commit 56a56c6c38
6 changed files with 48 additions and 35 deletions

View File

@ -0,0 +1,7 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="BlueWest-NoDocker" type="CompoundRunConfigurationType">
<toRun name="DockerComposeDbOnly" type="ShConfigurationType" />
<toRun name="BlueWest.Api: BlueWest.WebApi" type="LaunchSettings" />
<method v="2" />
</configuration>
</component>

View File

@ -146,7 +146,7 @@ namespace BlueWest.WebApi
.AddSingleton<EventManager>();
services.AddAuthServerServices( _configuration, _environment);
services.AddAuthServerServices( _configuration, _environment, configuration);
services.AddScoped<ExchangeInterface>();

View File

@ -28,6 +28,25 @@ namespace BlueWest.WebApi
{
private static MySqlServerVersion GetMySqlServerVersion(int major, int minor, int build) => new (new Version(major, minor, build));
private static BlueWestConnectionString GetConnectionString(this IConfigurationRoot configurationRoot)
{
// Docker / No-Docker
var startupMode = configurationRoot["mode"];
if (startupMode == "docker")
{
var config = configurationRoot.Get<ConnectionStringDocker>();
return config;
}
else
{
var config = configurationRoot.Get<ConnectionStringNoDocker>();
return config;
}
return null;
}
/// <summary>
/// Get MYSQL Connection String
/// </summary>
@ -43,20 +62,8 @@ namespace BlueWest.WebApi
var sqlVersion = GetMySqlServerVersion(8, 0, 11);
// Docker / No-Docker
var startupMode = configurationRoot["mode"];
string mySqlConnectionString = String.Empty;
if (startupMode == "docker")
{
var config = configuration.Get<ConnectionStringDocker>();
if(config != null) mySqlConnectionString = config.MySql;
}
else
{
var config = configuration.Get<ConnectionStringNoDocker>();
if(config != null) mySqlConnectionString = config.MySql;
}
string mySqlConnectionString = configurationRoot.GetConnectionString().MySql;
if (mySqlConnectionString == string.Empty)
{
@ -131,12 +138,18 @@ namespace BlueWest.WebApi
}
internal static IServiceCollection AddAuthServerServices(this IServiceCollection services, IConfiguration configuration , IWebHostEnvironment environment)
internal static IServiceCollection AddAuthServerServices(this IServiceCollection services, IConfiguration configuration , IWebHostEnvironment environment, IConfigurationRoot configurationRoot)
{
var connectionString = configurationRoot.GetConnectionString();
if (connectionString == null)
{
throw new InvalidOperationException("Redis connection string is empty");
}
services
.AddSingleton(new RedisConnectionProvider("redis://redisinstance:6379"))
.AddSingleton(new RedisConnectionProvider(connectionString.Redis))
.AddScoped<IJwtTokenHandler, JwtTokenHandler>()
.AddScoped<IJwtFactory, JwtFactory>()
.AddHostedService<SessionDataService>()

View File

@ -1,5 +1,5 @@
{
"mode": "docker",
"mode": "no-docker",
"database": "sqlite",
"environment": "dev"
}

BIN
data/dump.rdb Normal file

Binary file not shown.

View File

@ -1,29 +1,22 @@
version: '3'
services:
db:
container_name: BW1_DB_MYSQL
container_name: BW1_MYSQL
image: mysql/mysql-server:8.0
environment:
MYSQL_ROOT_HOST: db
MYSQL_USER_HOST: db
MYSQL_ROOT_HOST: localhost
MYSQL_USER_HOST: localhost
MYSQL_ROOT_PASSWORD: dXjw127124dJ
MYSQL_USER: blueuser
MYSQL_PASSWORD: dXjw127124dJ
MYSQL_DATABASE: bluedb
ports:
- "3306:3306"
volumes:
- ./docker-entrypoint-initdb.d/:/docker-entrypoint-initdb.d/
phpmyadmin:
container_name: BW_PHPMYADMIN
image: phpmyadmin/phpmyadmin
ports:
- 80:80
environment:
MYSQL_USERNAME: 'blueuser'
MYSQL_ROOT_PASSWORD: 'dXjw127124dJ'
# ports:
# - "3308:3306"
redis:
image: "redis:alpine"
command: redis-server
redisinstance:
image: "redislabs/redismod"
ports:
- "6379:6379"
container_name: BW1_REDIS