Compare commits
	
		
			2 Commits
		
	
	
		
			3caa79b9a7
			...
			71fe2a30e7
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 71fe2a30e7 | |||
| d8f57161ae | 
							
								
								
									
										190
									
								
								.github/workflows/docker-build.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										190
									
								
								.github/workflows/docker-build.yml
									
									
									
									
										vendored
									
									
								
							| @@ -1,4 +1,4 @@ | ||||
| name: Build and Push Microservices | ||||
| name: Aspire Publish Workflow | ||||
|  | ||||
| on: | ||||
|   push: | ||||
| @@ -7,7 +7,7 @@ on: | ||||
|   workflow_dispatch: | ||||
|  | ||||
| jobs: | ||||
|   build-sphere: | ||||
|   publish: | ||||
|     runs-on: ubuntu-latest | ||||
|     permissions: | ||||
|       contents: read | ||||
| @@ -15,174 +15,46 @@ jobs: | ||||
|     steps: | ||||
|       - name: Checkout repository | ||||
|         uses: actions/checkout@v3 | ||||
|         with: | ||||
|           fetch-depth: 0 | ||||
|       - name: Setup NBGV | ||||
|         uses: dotnet/nbgv@master | ||||
|         id: nbgv | ||||
|       - name: Set up Docker Buildx | ||||
|         uses: docker/setup-buildx-action@v3 | ||||
|       - name: Log in to GitHub Container Registry | ||||
|         uses: docker/login-action@v3 | ||||
|         with: | ||||
|           registry: ghcr.io | ||||
|           username: ${{ github.actor }} | ||||
|           password: ${{ secrets.GITHUB_TOKEN }} | ||||
|       - name: Build and push DysonNetwork.Sphere Docker image | ||||
|         uses: docker/build-push-action@v6 | ||||
|         with: | ||||
|           file: DysonNetwork.Sphere/Dockerfile | ||||
|           context: . | ||||
|           push: true | ||||
|           tags: ghcr.io/${{ vars.PACKAGE_OWNER }}/dyson-sphere:latest | ||||
|           platforms: linux/amd64 | ||||
|  | ||||
|   build-pass: | ||||
|     runs-on: ubuntu-latest | ||||
|     permissions: | ||||
|       contents: read | ||||
|       packages: write | ||||
|     steps: | ||||
|       - name: Checkout repository | ||||
|         uses: actions/checkout@v3 | ||||
|       - name: Setup .NET | ||||
|         uses: actions/setup-dotnet@v3 | ||||
|         with: | ||||
|           fetch-depth: 0 | ||||
|       - name: Setup NBGV | ||||
|         uses: dotnet/nbgv@master | ||||
|         id: nbgv | ||||
|       - name: Set up Docker Buildx | ||||
|         uses: docker/setup-buildx-action@v3 | ||||
|       - name: Log in to GitHub Container Registry | ||||
|         uses: docker/login-action@v3 | ||||
|         with: | ||||
|           registry: ghcr.io | ||||
|           username: ${{ github.actor }} | ||||
|           password: ${{ secrets.GITHUB_TOKEN }} | ||||
|       - name: Build and push DysonNetwork.Pass Docker image | ||||
|         uses: docker/build-push-action@v6 | ||||
|         with: | ||||
|           file: DysonNetwork.Pass/Dockerfile | ||||
|           context: . | ||||
|           push: true | ||||
|           tags: ghcr.io/${{ vars.PACKAGE_OWNER }}/dyson-pass:latest | ||||
|           platforms: linux/amd64 | ||||
|           dotnet-version: "9.0.x" | ||||
|  | ||||
|   build-ring: | ||||
|     runs-on: ubuntu-latest | ||||
|     permissions: | ||||
|       contents: read | ||||
|       packages: write | ||||
|     steps: | ||||
|       - name: Checkout repository | ||||
|         uses: actions/checkout@v3 | ||||
|         with: | ||||
|           fetch-depth: 0 | ||||
|       - name: Setup NBGV | ||||
|         uses: dotnet/nbgv@master | ||||
|         id: nbgv | ||||
|       - name: Set up Docker Buildx | ||||
|         uses: docker/setup-buildx-action@v3 | ||||
|       - name: Log in to GitHub Container Registry | ||||
|         uses: docker/login-action@v3 | ||||
|         with: | ||||
|           registry: ghcr.io | ||||
|           username: ${{ github.actor }} | ||||
|           password: ${{ secrets.GITHUB_TOKEN }} | ||||
|       - name: Build and push DysonNetwork.Pusher Docker image | ||||
|         uses: docker/build-push-action@v6 | ||||
|         with: | ||||
|           file: DysonNetwork.Ring/Dockerfile | ||||
|           context: . | ||||
|           push: true | ||||
|           tags: ghcr.io/${{ vars.PACKAGE_OWNER }}/dyson-ring:latest | ||||
|           platforms: linux/amd64 | ||||
|  | ||||
|   build-drive: | ||||
|     runs-on: ubuntu-latest | ||||
|     permissions: | ||||
|       contents: read | ||||
|       packages: write | ||||
|     steps: | ||||
|       - name: Checkout repository | ||||
|         uses: actions/checkout@v3 | ||||
|         with: | ||||
|           fetch-depth: 0 | ||||
|       - name: Setup NBGV | ||||
|         uses: dotnet/nbgv@master | ||||
|         id: nbgv | ||||
|       - name: Set up Docker Buildx | ||||
|         uses: docker/setup-buildx-action@v3 | ||||
|       - name: Log in to GitHub Container Registry | ||||
|         uses: docker/login-action@v3 | ||||
|         with: | ||||
|           registry: ghcr.io | ||||
|           username: ${{ github.actor }} | ||||
|           password: ${{ secrets.GITHUB_TOKEN }} | ||||
|       - name: Build and push DysonNetwork.Drive Docker image | ||||
|         uses: docker/build-push-action@v6 | ||||
|         with: | ||||
|           file: DysonNetwork.Drive/Dockerfile | ||||
|           context: . | ||||
|           push: true | ||||
|           tags: ghcr.io/${{ vars.PACKAGE_OWNER }}/dyson-drive:latest | ||||
|           platforms: linux/amd64 | ||||
|       - name: Install Aspire CLI | ||||
|         run: dotnet tool install -g Aspire.Cli --prerelease | ||||
|  | ||||
|   build-gateway: | ||||
|     runs-on: ubuntu-latest | ||||
|     permissions: | ||||
|       contents: read | ||||
|       packages: write | ||||
|     steps: | ||||
|       - name: Checkout repository | ||||
|         uses: actions/checkout@v3 | ||||
|         with: | ||||
|           fetch-depth: 0 | ||||
|       - name: Setup NBGV | ||||
|         uses: dotnet/nbgv@master | ||||
|         id: nbgv | ||||
|       - name: Set up Docker Buildx | ||||
|         uses: docker/setup-buildx-action@v3 | ||||
|       - name: Log in to GitHub Container Registry | ||||
|         uses: docker/login-action@v3 | ||||
|         with: | ||||
|           registry: ghcr.io | ||||
|           username: ${{ github.actor }} | ||||
|           password: ${{ secrets.GITHUB_TOKEN }} | ||||
|       - name: Build and push DysonNetwork.Gateway Docker image | ||||
|         uses: docker/build-push-action@v6 | ||||
|         with: | ||||
|           file: DysonNetwork.Gateway/Dockerfile | ||||
|           context: . | ||||
|           push: true | ||||
|           tags: ghcr.io/${{ vars.PACKAGE_OWNER }}/dyson-gateway:latest | ||||
|           platforms: linux/amd64 | ||||
|       - name: Build and Publish Aspire Application | ||||
|         run: aspire publish --project ./DysonNetwork.Control/DysonNetwork.Control.csproj --output publish | ||||
|  | ||||
|   build-develop: | ||||
|     runs-on: ubuntu-latest | ||||
|     permissions: | ||||
|       contents: read | ||||
|       packages: write | ||||
|     steps: | ||||
|       - name: Checkout repository | ||||
|         uses: actions/checkout@v3 | ||||
|       - name: Tag and Push Images | ||||
|         run: | | ||||
|           IMAGES=( "sphere" "pass" "ring" "drive" "develop" ) | ||||
|  | ||||
|           for image in "${IMAGES[@]}"; do | ||||
|             IMAGE_NAME="ghcr.io/${{ vars.PACKAGE_OWNER }}/dyson-$image:alpha" | ||||
|             SOURCE_IMAGE_NAME="$image:latest" # Aspire's default local image name | ||||
|  | ||||
|             echo "Tagging and pushing $SOURCE_IMAGE_NAME to $IMAGE_NAME..." | ||||
|             docker tag $SOURCE_IMAGE_NAME $IMAGE_NAME | ||||
|             docker push $IMAGE_NAME | ||||
|           done | ||||
|  | ||||
|       - name: Upload Aspire Publish Directory | ||||
|         uses: actions/upload-artifact@v3 | ||||
|         with: | ||||
|           fetch-depth: 0 | ||||
|       - name: Setup NBGV | ||||
|         uses: dotnet/nbgv@master | ||||
|         id: nbgv | ||||
|       - name: Set up Docker Buildx | ||||
|         uses: docker/setup-buildx-action@v3 | ||||
|       - name: Log in to GitHub Container Registry | ||||
|         uses: docker/login-action@v3 | ||||
|           name: aspire-publish-output | ||||
|           path: ./publish/ | ||||
|  | ||||
|       - name: Upload Docker Compose file | ||||
|         uses: actions/upload-artifact@v3 | ||||
|         with: | ||||
|           registry: ghcr.io | ||||
|           username: ${{ github.actor }} | ||||
|           password: ${{ secrets.GITHUB_TOKEN }} | ||||
|       - name: Build and push DysonNetwork.Develop Docker image | ||||
|         uses: docker/build-push-action@v6 | ||||
|         with: | ||||
|           file: DysonNetwork.Develop/Dockerfile | ||||
|           context: . | ||||
|           push: true | ||||
|           tags: ghcr.io/${{ vars.PACKAGE_OWNER }}/dyson-develop:latest | ||||
|           platforms: linux/amd64 | ||||
|           name: docker-compose-output | ||||
|           path: ./publish/docker-compose.yml | ||||
|   | ||||
| @@ -22,6 +22,7 @@ | ||||
| 	<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AClaim_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003F_002E_002E_003FLibrary_003FApplication_0020Support_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003Fa7fdc52b6e574ae7b9822133be91162a15800_003Ff7_003Feebffd8d_003FClaim_002Ecs/@EntryIndexedValue">ForceIncluded</s:String> | ||||
| 	<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AClusterConfig_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003F_002E_002E_003FLibrary_003FApplication_0020Support_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003Fbf3f51607a3e4e76b5b91640cd7409195c430_003F3f_003F87f581ed_003FClusterConfig_002Ecs/@EntryIndexedValue">ForceIncluded</s:String> | ||||
| 	<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AConnectionMultiplexer_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003F_002E_002E_003FLibrary_003FApplication_0020Support_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FSourcesCache_003F2ed0e2f073b1d77b98dadb822da09ee8a9dfb91bf29bf2bbaecb8750d7e74cc9_003FConnectionMultiplexer_002Ecs/@EntryIndexedValue">ForceIncluded</s:String> | ||||
| 	<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AContainerResourceBuilderExtensions_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003F_002E_002E_003FLibrary_003FApplication_0020Support_003FJetBrains_003FRider2025_002E2_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F19256b6d2a8a458692f07fe8d98d79e9161628_003Fd7_003F266d041b_003FContainerResourceBuilderExtensions_002Ecs/@EntryIndexedValue">ForceIncluded</s:String> | ||||
| 	<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AControllerBase_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003F_002E_002E_003FLibrary_003FApplication_0020Support_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F0b5acdd962e549369896cece0026e556214600_003Ff6_003Fdf150bb3_003FControllerBase_002Ecs/@EntryIndexedValue">ForceIncluded</s:String> | ||||
| 	<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AController_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003F_002E_002E_003FLibrary_003FApplication_0020Support_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003Fb320290c1b964c3e88434ff5505d9086c9a00_003Fdf_003F95b535f9_003FController_002Ecs/@EntryIndexedValue">ForceIncluded</s:String> | ||||
| 	<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003ACookieOptions_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003F_002E_002E_003FLibrary_003FApplication_0020Support_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F663f33943e4c4e889dc7050c1e97e703e000_003F89_003Fb06980d7_003FCookieOptions_002Ecs/@EntryIndexedValue">ForceIncluded</s:String> | ||||
| @@ -33,6 +34,7 @@ | ||||
| 	<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003ADbFunctionsExtensions_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003F_002E_002E_003FLibrary_003FApplication_0020Support_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FSourcesCache_003Fc1c46ed28c61e1caa79185e4375a8ae7cd11cd5ba8853dcb37577f93f2ca8d5_003FDbFunctionsExtensions_002Ecs/@EntryIndexedValue">ForceIncluded</s:String> | ||||
| 	<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003ADiagnosticServiceCollectionExtensions_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003F_002E_002E_003FLibrary_003FApplication_0020Support_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F47e01f36dea14a23aaea6e0391c1347ace00_003F3c_003F140e6d8b_003FDiagnosticServiceCollectionExtensions_002Ecs/@EntryIndexedValue">ForceIncluded</s:String> | ||||
| 	<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003ADirectory_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003F_002E_002E_003FLibrary_003FApplication_0020Support_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003Fb6f0571a6bc744b0b551fd4578292582e54c00_003Fde_003F94973e27_003FDirectory_002Ecs/@EntryIndexedValue">ForceIncluded</s:String> | ||||
| 	<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003ADockerComposeServiceExtensions_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003F_002E_002E_003FLibrary_003FApplication_0020Support_003FJetBrains_003FRider2025_002E2_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F4768773ea5864bf8b6fc7a1a3c6f6f311fc38_003F2d_003F5f83b17e_003FDockerComposeServiceExtensions_002Ecs/@EntryIndexedValue">ForceIncluded</s:String> | ||||
| 	<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AEndpointConventionBuilderExtensions_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003F_002E_002E_003FLibrary_003FApplication_0020Support_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F8bb08a178b5b43c5bac20a5a54159a5b2a800_003F8a_003F101938e3_003FEndpointConventionBuilderExtensions_002Ecs/@EntryIndexedValue">ForceIncluded</s:String> | ||||
| 	<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AEndpointHttpContextExtensions_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003F_002E_002E_003FLibrary_003FApplication_0020Support_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003Fc181aff8c6ec418494a7efcfec578fc154e00_003F81_003F048fd513_003FEndpointHttpContextExtensions_002Ecs/@EntryIndexedValue">ForceIncluded</s:String> | ||||
| 	<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AEndpointReference_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003F_002E_002E_003FLibrary_003FApplication_0020Support_003FJetBrains_003FRider2025_002E2_003Fresharper_002Dhost_003FSourcesCache_003Fd5f877f8f192ec96518ae1b12604f822fe9d2d030cdf8c9ada29b2b831f442f_003FEndpointReference_002Ecs/@EntryIndexedValue">ForceIncluded</s:String> | ||||
|   | ||||
							
								
								
									
										35
									
								
								publish/.env
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										35
									
								
								publish/.env
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,35 @@ | ||||
| # Default container port for ring | ||||
| RING_PORT=8080 | ||||
|  | ||||
| # Default container port for pass | ||||
| PASS_PORT=8080 | ||||
|  | ||||
| # Default container port for drive | ||||
| DRIVE_PORT=8080 | ||||
|  | ||||
| # Default container port for sphere | ||||
| SPHERE_PORT=8080 | ||||
|  | ||||
| # Default container port for develop | ||||
| DEVELOP_PORT=8080 | ||||
|  | ||||
| # Parameter cache-password | ||||
| CACHE_PASSWORD=KS3jSPaU9e | ||||
|  | ||||
| # Parameter queue-password | ||||
| QUEUE_PASSWORD=8xEECa4ckz | ||||
|  | ||||
| # Container image name for ring | ||||
| RING_IMAGE=ring:latest | ||||
|  | ||||
| # Container image name for pass | ||||
| PASS_IMAGE=pass:latest | ||||
|  | ||||
| # Container image name for drive | ||||
| DRIVE_IMAGE=drive:latest | ||||
|  | ||||
| # Container image name for sphere | ||||
| SPHERE_IMAGE=sphere:latest | ||||
|  | ||||
| # Container image name for develop | ||||
| DEVELOP_IMAGE=develop:latest | ||||
							
								
								
									
										181
									
								
								publish/docker-compose.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										181
									
								
								publish/docker-compose.yaml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,181 @@ | ||||
| services: | ||||
|   docker-compose-dashboard: | ||||
|     image: "mcr.microsoft.com/dotnet/nightly/aspire-dashboard:latest" | ||||
|     expose: | ||||
|       - "18888" | ||||
|       - "18889" | ||||
|     networks: | ||||
|       - "aspire" | ||||
|     restart: "always" | ||||
|   cache: | ||||
|     image: "docker.io/library/redis:7.4" | ||||
|     command: | ||||
|       - "-c" | ||||
|       - "redis-server --requirepass $$REDIS_PASSWORD" | ||||
|     entrypoint: | ||||
|       - "/bin/sh" | ||||
|     environment: | ||||
|       REDIS_PASSWORD: "${CACHE_PASSWORD}" | ||||
|     expose: | ||||
|       - "6379" | ||||
|     networks: | ||||
|       - "aspire" | ||||
|   queue: | ||||
|     image: "docker.io/library/nats:2.11" | ||||
|     command: | ||||
|       - "--user" | ||||
|       - "nats" | ||||
|       - "--pass" | ||||
|       - "${QUEUE_PASSWORD}" | ||||
|       - "-js" | ||||
|     expose: | ||||
|       - "4222" | ||||
|     networks: | ||||
|       - "aspire" | ||||
|   ring: | ||||
|     image: "${RING_IMAGE}" | ||||
|     environment: | ||||
|       OTEL_DOTNET_EXPERIMENTAL_OTLP_EMIT_EXCEPTION_LOG_ATTRIBUTES: "true" | ||||
|       OTEL_DOTNET_EXPERIMENTAL_OTLP_EMIT_EVENT_LOG_ATTRIBUTES: "true" | ||||
|       OTEL_DOTNET_EXPERIMENTAL_OTLP_RETRY: "in_memory" | ||||
|       ASPNETCORE_FORWARDEDHEADERS_ENABLED: "true" | ||||
|       HTTP_PORTS: "${RING_PORT}" | ||||
|       ConnectionStrings__queue: "nats://nats:${QUEUE_PASSWORD}@queue:4222" | ||||
|       services__pass__http__0: "http://pass:${PASS_PORT}" | ||||
|       OTEL_EXPORTER_OTLP_ENDPOINT: "http://docker-compose-dashboard:18889" | ||||
|       OTEL_EXPORTER_OTLP_PROTOCOL: "grpc" | ||||
|       OTEL_SERVICE_NAME: "ring" | ||||
|     expose: | ||||
|       - "${RING_PORT}" | ||||
|     networks: | ||||
|       - "aspire" | ||||
|   pass: | ||||
|     image: "${PASS_IMAGE}" | ||||
|     environment: | ||||
|       OTEL_DOTNET_EXPERIMENTAL_OTLP_EMIT_EXCEPTION_LOG_ATTRIBUTES: "true" | ||||
|       OTEL_DOTNET_EXPERIMENTAL_OTLP_EMIT_EVENT_LOG_ATTRIBUTES: "true" | ||||
|       OTEL_DOTNET_EXPERIMENTAL_OTLP_RETRY: "in_memory" | ||||
|       ASPNETCORE_FORWARDEDHEADERS_ENABLED: "true" | ||||
|       HTTP_PORTS: "${PASS_PORT}" | ||||
|       ConnectionStrings__cache: "cache:6379,password=${CACHE_PASSWORD}" | ||||
|       ConnectionStrings__queue: "nats://nats:${QUEUE_PASSWORD}@queue:4222" | ||||
|       services__ring__http__0: "http://ring:${RING_PORT}" | ||||
|       OTEL_EXPORTER_OTLP_ENDPOINT: "http://docker-compose-dashboard:18889" | ||||
|       OTEL_EXPORTER_OTLP_PROTOCOL: "grpc" | ||||
|       OTEL_SERVICE_NAME: "pass" | ||||
|     expose: | ||||
|       - "${PASS_PORT}" | ||||
|     networks: | ||||
|       - "aspire" | ||||
|   drive: | ||||
|     image: "${DRIVE_IMAGE}" | ||||
|     environment: | ||||
|       OTEL_DOTNET_EXPERIMENTAL_OTLP_EMIT_EXCEPTION_LOG_ATTRIBUTES: "true" | ||||
|       OTEL_DOTNET_EXPERIMENTAL_OTLP_EMIT_EVENT_LOG_ATTRIBUTES: "true" | ||||
|       OTEL_DOTNET_EXPERIMENTAL_OTLP_RETRY: "in_memory" | ||||
|       ASPNETCORE_FORWARDEDHEADERS_ENABLED: "true" | ||||
|       HTTP_PORTS: "${DRIVE_PORT}" | ||||
|       ConnectionStrings__cache: "cache:6379,password=${CACHE_PASSWORD}" | ||||
|       ConnectionStrings__queue: "nats://nats:${QUEUE_PASSWORD}@queue:4222" | ||||
|       services__pass__http__0: "http://pass:${PASS_PORT}" | ||||
|       services__ring__http__0: "http://ring:${RING_PORT}" | ||||
|       OTEL_EXPORTER_OTLP_ENDPOINT: "http://docker-compose-dashboard:18889" | ||||
|       OTEL_EXPORTER_OTLP_PROTOCOL: "grpc" | ||||
|       OTEL_SERVICE_NAME: "drive" | ||||
|     expose: | ||||
|       - "${DRIVE_PORT}" | ||||
|     networks: | ||||
|       - "aspire" | ||||
|   sphere: | ||||
|     image: "${SPHERE_IMAGE}" | ||||
|     environment: | ||||
|       OTEL_DOTNET_EXPERIMENTAL_OTLP_EMIT_EXCEPTION_LOG_ATTRIBUTES: "true" | ||||
|       OTEL_DOTNET_EXPERIMENTAL_OTLP_EMIT_EVENT_LOG_ATTRIBUTES: "true" | ||||
|       OTEL_DOTNET_EXPERIMENTAL_OTLP_RETRY: "in_memory" | ||||
|       ASPNETCORE_FORWARDEDHEADERS_ENABLED: "true" | ||||
|       HTTP_PORTS: "${SPHERE_PORT}" | ||||
|       ConnectionStrings__cache: "cache:6379,password=${CACHE_PASSWORD}" | ||||
|       ConnectionStrings__queue: "nats://nats:${QUEUE_PASSWORD}@queue:4222" | ||||
|       services__pass__http__0: "http://pass:${PASS_PORT}" | ||||
|       services__ring__http__0: "http://ring:${RING_PORT}" | ||||
|       OTEL_EXPORTER_OTLP_ENDPOINT: "http://docker-compose-dashboard:18889" | ||||
|       OTEL_EXPORTER_OTLP_PROTOCOL: "grpc" | ||||
|       OTEL_SERVICE_NAME: "sphere" | ||||
|     expose: | ||||
|       - "${SPHERE_PORT}" | ||||
|     networks: | ||||
|       - "aspire" | ||||
|   develop: | ||||
|     image: "${DEVELOP_IMAGE}" | ||||
|     environment: | ||||
|       OTEL_DOTNET_EXPERIMENTAL_OTLP_EMIT_EXCEPTION_LOG_ATTRIBUTES: "true" | ||||
|       OTEL_DOTNET_EXPERIMENTAL_OTLP_EMIT_EVENT_LOG_ATTRIBUTES: "true" | ||||
|       OTEL_DOTNET_EXPERIMENTAL_OTLP_RETRY: "in_memory" | ||||
|       ASPNETCORE_FORWARDEDHEADERS_ENABLED: "true" | ||||
|       HTTP_PORTS: "${DEVELOP_PORT}" | ||||
|       ConnectionStrings__cache: "cache:6379,password=${CACHE_PASSWORD}" | ||||
|       services__pass__http__0: "http://pass:${PASS_PORT}" | ||||
|       services__ring__http__0: "http://ring:${RING_PORT}" | ||||
|       OTEL_EXPORTER_OTLP_ENDPOINT: "http://docker-compose-dashboard:18889" | ||||
|       OTEL_EXPORTER_OTLP_PROTOCOL: "grpc" | ||||
|       OTEL_SERVICE_NAME: "develop" | ||||
|     expose: | ||||
|       - "${DEVELOP_PORT}" | ||||
|     networks: | ||||
|       - "aspire" | ||||
|   gateway: | ||||
|     image: "mcr.microsoft.com/dotnet/nightly/yarp:2.3.0-preview.4" | ||||
|     command: | ||||
|       - "/app/yarp.dll" | ||||
|     entrypoint: | ||||
|       - "dotnet" | ||||
|     environment: | ||||
|       ASPNETCORE_ENVIRONMENT: "Production" | ||||
|       services__ring__http__0: "http://ring:${RING_PORT}" | ||||
|       REVERSEPROXY__ROUTES__route0__MATCH__PATH: "/ws" | ||||
|       REVERSEPROXY__ROUTES__route0__CLUSTERID: "cluster_ring" | ||||
|       REVERSEPROXY__ROUTES__route1__MATCH__PATH: "/ring/{**catch-all}" | ||||
|       REVERSEPROXY__ROUTES__route1__CLUSTERID: "cluster_ring" | ||||
|       REVERSEPROXY__ROUTES__route1__TRANSFORMS__0__PathRemovePrefix: "/ring" | ||||
|       REVERSEPROXY__ROUTES__route1__TRANSFORMS__1__PathPrefix: "/api" | ||||
|       REVERSEPROXY__ROUTES__route2__MATCH__PATH: "/.well-known/openid-configuration" | ||||
|       REVERSEPROXY__ROUTES__route2__CLUSTERID: "cluster_pass" | ||||
|       REVERSEPROXY__ROUTES__route3__MATCH__PATH: "/.well-known/jwks" | ||||
|       REVERSEPROXY__ROUTES__route3__CLUSTERID: "cluster_pass" | ||||
|       REVERSEPROXY__ROUTES__route4__MATCH__PATH: "/id/{**catch-all}" | ||||
|       REVERSEPROXY__ROUTES__route4__CLUSTERID: "cluster_pass" | ||||
|       REVERSEPROXY__ROUTES__route4__TRANSFORMS__0__PathRemovePrefix: "/id" | ||||
|       REVERSEPROXY__ROUTES__route4__TRANSFORMS__1__PathPrefix: "/api" | ||||
|       REVERSEPROXY__ROUTES__route5__MATCH__PATH: "/api/tus" | ||||
|       REVERSEPROXY__ROUTES__route5__CLUSTERID: "cluster_drive" | ||||
|       REVERSEPROXY__ROUTES__route6__MATCH__PATH: "/drive/{**catch-all}" | ||||
|       REVERSEPROXY__ROUTES__route6__CLUSTERID: "cluster_drive" | ||||
|       REVERSEPROXY__ROUTES__route6__TRANSFORMS__0__PathRemovePrefix: "/drive" | ||||
|       REVERSEPROXY__ROUTES__route6__TRANSFORMS__1__PathPrefix: "/api" | ||||
|       REVERSEPROXY__ROUTES__route7__MATCH__PATH: "/sphere/{**catch-all}" | ||||
|       REVERSEPROXY__ROUTES__route7__CLUSTERID: "cluster_sphere" | ||||
|       REVERSEPROXY__ROUTES__route7__TRANSFORMS__0__PathRemovePrefix: "/sphere" | ||||
|       REVERSEPROXY__ROUTES__route7__TRANSFORMS__1__PathPrefix: "/api" | ||||
|       REVERSEPROXY__ROUTES__route8__MATCH__PATH: "/develop/{**catch-all}" | ||||
|       REVERSEPROXY__ROUTES__route8__CLUSTERID: "cluster_develop" | ||||
|       REVERSEPROXY__ROUTES__route8__TRANSFORMS__0__PathRemovePrefix: "/develop" | ||||
|       REVERSEPROXY__ROUTES__route8__TRANSFORMS__1__PathPrefix: "/api" | ||||
|       REVERSEPROXY__CLUSTERS__cluster_ring__DESTINATIONS__destination1__ADDRESS: "http://_http.ring" | ||||
|       REVERSEPROXY__CLUSTERS__cluster_pass__DESTINATIONS__destination1__ADDRESS: "http://_http.pass" | ||||
|       REVERSEPROXY__CLUSTERS__cluster_drive__DESTINATIONS__destination1__ADDRESS: "http://_http.drive" | ||||
|       REVERSEPROXY__CLUSTERS__cluster_sphere__DESTINATIONS__destination1__ADDRESS: "http://_http.sphere" | ||||
|       REVERSEPROXY__CLUSTERS__cluster_develop__DESTINATIONS__destination1__ADDRESS: "http://_http.develop" | ||||
|       services__pass__http__0: "http://pass:${PASS_PORT}" | ||||
|       services__drive__http__0: "http://drive:${DRIVE_PORT}" | ||||
|       services__sphere__http__0: "http://sphere:${SPHERE_PORT}" | ||||
|       services__develop__http__0: "http://develop:${DEVELOP_PORT}" | ||||
|       OTEL_EXPORTER_OTLP_ENDPOINT: "http://docker-compose-dashboard:18889" | ||||
|       OTEL_EXPORTER_OTLP_PROTOCOL: "grpc" | ||||
|       OTEL_SERVICE_NAME: "gateway" | ||||
|     expose: | ||||
|       - "5000" | ||||
|     networks: | ||||
|       - "aspire" | ||||
| networks: | ||||
|   aspire: | ||||
|     driver: "bridge" | ||||
							
								
								
									
										26
									
								
								settings/develop.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										26
									
								
								settings/develop.json
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,26 @@ | ||||
| { | ||||
|   "Debug": true, | ||||
|   "BaseUrl": "http://localhost:5071", | ||||
|   "SiteUrl": "https://solian.app", | ||||
|   "Logging": { | ||||
|     "LogLevel": { | ||||
|       "Default": "Information", | ||||
|       "Microsoft.AspNetCore": "Warning" | ||||
|     } | ||||
|   }, | ||||
|   "AllowedHosts": "*", | ||||
|   "ConnectionStrings": { | ||||
|     "App": "Host=localhost;Port=5432;Database=dyson_network_dev;Username=postgres;Password=postgres;Include Error Detail=True;Maximum Pool Size=20;Connection Idle Lifetime=60" | ||||
|   }, | ||||
|   "KnownProxies": [ | ||||
|     "127.0.0.1", | ||||
|     "::1" | ||||
|   ], | ||||
|   "Etcd": { | ||||
|     "Insecure": true | ||||
|   }, | ||||
|   "Service": { | ||||
|     "Name": "DysonNetwork.Develop", | ||||
|     "Url": "https://localhost:7192" | ||||
|   } | ||||
| } | ||||
							
								
								
									
										133
									
								
								settings/drive.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										133
									
								
								settings/drive.json
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,133 @@ | ||||
| { | ||||
|   "Debug": true, | ||||
|   "BaseUrl": "http://localhost:5090", | ||||
|   "GatewayUrl": "http://localhost:5094", | ||||
|   "Logging": { | ||||
|     "LogLevel": { | ||||
|       "Default": "Information", | ||||
|       "Microsoft.AspNetCore": "Warning" | ||||
|     } | ||||
|   }, | ||||
|   "AllowedHosts": "*", | ||||
|   "ConnectionStrings": { | ||||
|     "App": "Host=localhost;Port=5432;Database=dyson_drive;Username=postgres;Password=postgres;Include Error Detail=True;Maximum Pool Size=20;Connection Idle Lifetime=60" | ||||
|   }, | ||||
|   "Authentication": { | ||||
|     "Schemes": { | ||||
|       "Bearer": { | ||||
|         "ValidAudiences": [ | ||||
|           "http://localhost:5071", | ||||
|           "https://localhost:7099" | ||||
|         ], | ||||
|         "ValidIssuer": "solar-network" | ||||
|       } | ||||
|     } | ||||
|   }, | ||||
|   "AuthToken": { | ||||
|     "PublicKeyPath": "Keys/PublicKey.pem", | ||||
|     "PrivateKeyPath": "Keys/PrivateKey.pem" | ||||
|   }, | ||||
|   "OidcProvider": { | ||||
|     "IssuerUri": "https://nt.solian.app", | ||||
|     "PublicKeyPath": "Keys/PublicKey.pem", | ||||
|     "PrivateKeyPath": "Keys/PrivateKey.pem", | ||||
|     "AccessTokenLifetime": "01:00:00", | ||||
|     "RefreshTokenLifetime": "30.00:00:00", | ||||
|     "AuthorizationCodeLifetime": "00:30:00", | ||||
|     "RequireHttpsMetadata": true | ||||
|   }, | ||||
|   "Tus": { | ||||
|     "StorePath": "Uploads" | ||||
|   }, | ||||
|   "Storage": { | ||||
|     "PreferredRemote": "2adceae3-981a-4564-9b8d-5d71a211c873", | ||||
|     "Remote": [ | ||||
|       { | ||||
|         "Id": "minio", | ||||
|         "Label": "Minio", | ||||
|         "Region": "auto", | ||||
|         "Bucket": "solar-network-development", | ||||
|         "Endpoint": "localhost:9000", | ||||
|         "SecretId": "littlesheep", | ||||
|         "SecretKey": "password", | ||||
|         "EnabledSigned": true, | ||||
|         "EnableSsl": false | ||||
|       }, | ||||
|       { | ||||
|         "Id": "cloudflare", | ||||
|         "Label": "Cloudflare R2", | ||||
|         "Region": "auto", | ||||
|         "Bucket": "solar-network", | ||||
|         "Endpoint": "0a70a6d1b7128888c823359d0008f4e1.r2.cloudflarestorage.com", | ||||
|         "SecretId": "8ff5d06c7b1639829d60bc6838a542e6", | ||||
|         "SecretKey": "fd58158c5201be16d1872c9209d9cf199421dae3c2f9972f94b2305976580d67", | ||||
|         "EnableSigned": true, | ||||
|         "EnableSsl": true | ||||
|       } | ||||
|     ] | ||||
|   }, | ||||
|   "Captcha": { | ||||
|     "Provider": "cloudflare", | ||||
|     "ApiKey": "0x4AAAAAABCDUdOujj4feOb_", | ||||
|     "ApiSecret": "0x4AAAAAABCDUWABiJQweqlB7tYq-IqIm8U" | ||||
|   }, | ||||
|   "Notifications": { | ||||
|     "Topic": "dev.solsynth.solian", | ||||
|     "Endpoint": "http://localhost:8088" | ||||
|   }, | ||||
|   "Email": { | ||||
|     "Server": "smtp4dev.orb.local", | ||||
|     "Port": 25, | ||||
|     "UseSsl": false, | ||||
|     "Username": "no-reply@mail.solsynth.dev", | ||||
|     "Password": "password", | ||||
|     "FromAddress": "no-reply@mail.solsynth.dev", | ||||
|     "FromName": "Alphabot", | ||||
|     "SubjectPrefix": "Solar Network" | ||||
|   }, | ||||
|   "RealtimeChat": { | ||||
|     "Endpoint": "https://solar-network-im44o8gq.livekit.cloud", | ||||
|     "ApiKey": "APIs6TiL8wj3A4j", | ||||
|     "ApiSecret": "SffxRneIwTnlHPtEf3zicmmv3LUEl7xXael4PvWZrEhE" | ||||
|   }, | ||||
|   "GeoIp": { | ||||
|     "DatabasePath": "./Keys/GeoLite2-City.mmdb" | ||||
|   }, | ||||
|   "Oidc": { | ||||
|     "Google": { | ||||
|       "ClientId": "961776991058-963m1qin2vtp8fv693b5fdrab5hmpl89.apps.googleusercontent.com", | ||||
|       "ClientSecret": "" | ||||
|     }, | ||||
|     "Apple": { | ||||
|       "ClientId": "dev.solsynth.solian", | ||||
|       "TeamId": "W7HPZ53V6B", | ||||
|       "KeyId": "B668YP4KBG", | ||||
|       "PrivateKeyPath": "./Keys/Solarpass.p8" | ||||
|     }, | ||||
|     "Microsoft": { | ||||
|       "ClientId": "YOUR_MICROSOFT_CLIENT_ID", | ||||
|       "ClientSecret": "YOUR_MICROSOFT_CLIENT_SECRET", | ||||
|       "DiscoveryEndpoint": "YOUR_MICROSOFT_DISCOVERY_ENDPOINT" | ||||
|     } | ||||
|   }, | ||||
|   "Payment": { | ||||
|     "Auth": { | ||||
|       "Afdian": "<token here>" | ||||
|     }, | ||||
|     "Subscriptions": { | ||||
|       "Afdian": { | ||||
|         "7d17aae23c9611f0b5705254001e7c00": "solian.stellar.primary", | ||||
|         "7dfae4743c9611f0b3a55254001e7c00": "solian.stellar.nova", | ||||
|         "141713ee3d6211f085b352540025c377": "solian.stellar.supernova" | ||||
|       } | ||||
|     } | ||||
|   }, | ||||
|   "KnownProxies": [ | ||||
|     "127.0.0.1", | ||||
|     "::1" | ||||
|   ], | ||||
|   "Service": { | ||||
|     "Name": "DysonNetwork.Drive", | ||||
|     "Url": "https://localhost:7092" | ||||
|   } | ||||
| } | ||||
							
								
								
									
										88
									
								
								settings/pass.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										88
									
								
								settings/pass.json
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,88 @@ | ||||
| { | ||||
|   "Debug": true, | ||||
|   "BaseUrl": "http://localhost:5216", | ||||
|   "SiteUrl": "https://id.solian.app", | ||||
|   "Logging": { | ||||
|     "LogLevel": { | ||||
|       "Default": "Information", | ||||
|       "Microsoft.AspNetCore": "Warning" | ||||
|     } | ||||
|   }, | ||||
|   "AllowedHosts": "*", | ||||
|   "ConnectionStrings": { | ||||
|     "App": "Host=localhost;Port=5432;Database=dyson_pass;Username=postgres;Password=postgres;Include Error Detail=True;Maximum Pool Size=20;Connection Idle Lifetime=60" | ||||
|   }, | ||||
|   "Authentication": { | ||||
|     "Schemes": { | ||||
|       "Bearer": { | ||||
|         "ValidAudiences": [ | ||||
|           "http://localhost:5071", | ||||
|           "https://localhost:7099" | ||||
|         ], | ||||
|         "ValidIssuer": "solar-network" | ||||
|       } | ||||
|     } | ||||
|   }, | ||||
|   "AuthToken": { | ||||
|     "CookieDomain": "localhost", | ||||
|     "PublicKeyPath": "Keys/PublicKey.pem", | ||||
|     "PrivateKeyPath": "Keys/PrivateKey.pem" | ||||
|   }, | ||||
|   "OidcProvider": { | ||||
|     "IssuerUri": "https://nt.solian.app", | ||||
|     "PublicKeyPath": "Keys/PublicKey.pem", | ||||
|     "PrivateKeyPath": "Keys/PrivateKey.pem", | ||||
|     "AccessTokenLifetime": "01:00:00", | ||||
|     "RefreshTokenLifetime": "30.00:00:00", | ||||
|     "AuthorizationCodeLifetime": "00:30:00", | ||||
|     "RequireHttpsMetadata": true | ||||
|   }, | ||||
|   "Captcha": { | ||||
|     "Provider": "cloudflare", | ||||
|     "ApiKey": "0x4AAAAAABCDUdOujj4feOb_", | ||||
|     "ApiSecret": "0x4AAAAAABCDUWABiJQweqlB7tYq-IqIm8U" | ||||
|   }, | ||||
|   "GeoIp": { | ||||
|     "DatabasePath": "./Keys/GeoLite2-City.mmdb" | ||||
|   }, | ||||
|   "Oidc": { | ||||
|     "Google": { | ||||
|       "ClientId": "961776991058-963m1qin2vtp8fv693b5fdrab5hmpl89.apps.googleusercontent.com", | ||||
|       "ClientSecret": "" | ||||
|     }, | ||||
|     "Apple": { | ||||
|       "ClientId": "dev.solsynth.solian", | ||||
|       "TeamId": "W7HPZ53V6B", | ||||
|       "KeyId": "B668YP4KBG", | ||||
|       "PrivateKeyPath": "./Keys/Solarpass.p8" | ||||
|     }, | ||||
|     "Microsoft": { | ||||
|       "ClientId": "YOUR_MICROSOFT_CLIENT_ID", | ||||
|       "ClientSecret": "YOUR_MICROSOFT_CLIENT_SECRET", | ||||
|       "DiscoveryEndpoint": "YOUR_MICROSOFT_DISCOVERY_ENDPOINT" | ||||
|     } | ||||
|   }, | ||||
|   "Payment": { | ||||
|     "Auth": { | ||||
|       "Afdian": "<token here>" | ||||
|     }, | ||||
|     "Subscriptions": { | ||||
|       "Afdian": { | ||||
|         "7d17aae23c9611f0b5705254001e7c00": "solian.stellar.primary", | ||||
|         "7dfae4743c9611f0b3a55254001e7c00": "solian.stellar.nova", | ||||
|         "141713ee3d6211f085b352540025c377": "solian.stellar.supernova" | ||||
|       } | ||||
|     } | ||||
|   }, | ||||
|   "KnownProxies": [ | ||||
|     "127.0.0.1", | ||||
|     "::1" | ||||
|   ], | ||||
|   "Service": { | ||||
|     "Name": "DysonNetwork.Pass", | ||||
|     "Url": "https://localhost:7058" | ||||
|   }, | ||||
|   "Etcd": { | ||||
|     "Insecure": true | ||||
|   } | ||||
| } | ||||
							
								
								
									
										50
									
								
								settings/ring.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										50
									
								
								settings/ring.json
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,50 @@ | ||||
| { | ||||
|   "Debug": true, | ||||
|   "BaseUrl": "http://localhost:5212", | ||||
|   "Logging": { | ||||
|     "LogLevel": { | ||||
|       "Default": "Information", | ||||
|       "Microsoft.AspNetCore": "Warning" | ||||
|     } | ||||
|   }, | ||||
|   "AllowedHosts": "*", | ||||
|   "ConnectionStrings": { | ||||
|     "App": "Host=localhost;Port=5432;Database=dyson_pusher;Username=postgres;Password=postgres;Include Error Detail=True;Maximum Pool Size=20;Connection Idle Lifetime=60" | ||||
|   }, | ||||
|   "Notifications": { | ||||
|     "Push": { | ||||
|       "Production": true, | ||||
|       "Google": "./Keys/Solian.json", | ||||
|       "Apple": { | ||||
|         "PrivateKey": "./Keys/Solian.p8", | ||||
|         "PrivateKeyId": "4US4KSX4W6", | ||||
|         "TeamId": "W7HPZ53V6B", | ||||
|         "BundleIdentifier": "dev.solsynth.solian" | ||||
|       } | ||||
|     } | ||||
|   }, | ||||
|   "Email": { | ||||
|     "Server": "smtp4dev.orb.local", | ||||
|     "Port": 25, | ||||
|     "UseSsl": false, | ||||
|     "Username": "no-reply@mail.solsynth.dev", | ||||
|     "Password": "password", | ||||
|     "FromAddress": "no-reply@mail.solsynth.dev", | ||||
|     "FromName": "Alphabot", | ||||
|     "SubjectPrefix": "Solar Network" | ||||
|   }, | ||||
|   "GeoIp": { | ||||
|     "DatabasePath": "./Keys/GeoLite2-City.mmdb" | ||||
|   }, | ||||
|   "KnownProxies": [ | ||||
|     "127.0.0.1", | ||||
|     "::1" | ||||
|   ], | ||||
|   "Service": { | ||||
|     "Name": "DysonNetwork.Ring", | ||||
|     "Url": "https://localhost:7259" | ||||
|   }, | ||||
|   "Etcd": { | ||||
|     "Insecure": true | ||||
|   } | ||||
| } | ||||
							
								
								
									
										41
									
								
								settings/sphere.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										41
									
								
								settings/sphere.json
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,41 @@ | ||||
| { | ||||
|   "Debug": true, | ||||
|   "BaseUrl": "http://localhost:5071", | ||||
|   "SiteUrl": "https://solian.app", | ||||
|   "Logging": { | ||||
|     "LogLevel": { | ||||
|       "Default": "Information", | ||||
|       "Microsoft.AspNetCore": "Warning" | ||||
|     } | ||||
|   }, | ||||
|   "AllowedHosts": "*", | ||||
|   "ConnectionStrings": { | ||||
|     "App": "Host=localhost;Port=5432;Database=dyson_network;Username=postgres;Password=postgres;Include Error Detail=True;Maximum Pool Size=20;Connection Idle Lifetime=60" | ||||
|   }, | ||||
|   "GeoIp": { | ||||
|     "DatabasePath": "./Keys/GeoLite2-City.mmdb" | ||||
|   }, | ||||
|   "RealtimeChat": { | ||||
|     "Endpoint": "https://solar-network-im44o8gq.livekit.cloud", | ||||
|     "ApiKey": "", | ||||
|     "ApiSecret": "" | ||||
|   }, | ||||
|   "Translation": { | ||||
|     "Provider": "Tencent", | ||||
|     "Region": "ap-hongkong", | ||||
|     "ProjectId": "0", | ||||
|     "SecretId": "", | ||||
|     "SecretKey": "" | ||||
|   }, | ||||
|   "KnownProxies": [ | ||||
|     "127.0.0.1", | ||||
|     "::1" | ||||
|   ], | ||||
|   "Etcd": { | ||||
|     "Insecure": true | ||||
|   }, | ||||
|   "Service": { | ||||
|     "Name": "DysonNetwork.Sphere", | ||||
|     "Url": "https://localhost:7099" | ||||
|   } | ||||
| } | ||||
		Reference in New Issue
	
	Block a user