Move userscript to server

This commit is contained in:
2026-04-10 12:01:58 +02:00
parent e6860461ee
commit 8459f7938d
7 changed files with 24 additions and 11 deletions
+3
View File
@@ -0,0 +1,3 @@
*Dockerfile*
*docker-compose*
node_modules
+1 -1
View File
@@ -7,7 +7,7 @@ module.exports = {
author: pkg.author, author: pkg.author,
copyright: 'Copyright CP Solutions GmbH', copyright: 'Copyright CP Solutions GmbH',
source: pkg.repository.url, source: pkg.repository.url,
downloadURL: `${pkg.repository.url}/raw/branch/master/3CX_TAPI.user.js`, downloadURL: 'https://3cxtapi.cp-austria.at/3CX_TAPI.user.js',
match: [ match: [
'https://192.168.0.154:5001/*', 'https://192.168.0.154:5001/*',
'https://cpsolution.my3cx.at:5001/*' 'https://cpsolution.my3cx.at:5001/*'
+2 -6
View File
@@ -38,15 +38,11 @@ just install a package and import it in your js file. webpack will pack them wit
npm run build npm run build
``` ```
`dist/index.prod.user.js` is the final script. `dist/3CX TAPI.prod.user.js` is the final script.
## distribution ## distribution
``` Userscript is included in server docker image
cp "dist/3CX TAPI.prod.user.js" ../3CX_TAPI.user.js
```
And commit 3CX_TAPI.user.js
## see also ## see also
@@ -2,7 +2,7 @@
setlocal setlocal
cd /d %~dp0 cd /d %~dp0
docker build -t source.cp-austria.at/cpatrd/3cx_tapi:latest -f Dockerfile .. docker build -t source.cp-austria.at/cpatrd/3cx_tapi:latest -f server/src/CPATapi.Server/Dockerfile .
if errorlevel 1 ( if errorlevel 1 (
echo. echo.
echo ERROR: Docker build failed! echo ERROR: Docker build failed!
@@ -26,4 +26,8 @@
<PackageReference Include="Swashbuckle.AspNetCore.SwaggerUI" Version="10.1.7" /> <PackageReference Include="Swashbuckle.AspNetCore.SwaggerUI" Version="10.1.7" />
</ItemGroup> </ItemGroup>
<ItemGroup>
<Folder Include="wwwroot\" />
</ItemGroup>
</Project> </Project>
+12 -3
View File
@@ -6,14 +6,22 @@ USER $APP_UID
WORKDIR /app WORKDIR /app
EXPOSE 8080 EXPOSE 8080
# This stage is used to build the userscript project
FROM node:lts-alpine AS build-userscript
WORKDIR /src
COPY client .
RUN npm ci
RUN npm run build
#RUN ls -la /src/dist
# This stage is used to build the service project # This stage is used to build the service project
FROM mcr.microsoft.com/dotnet/sdk:10.0 AS build FROM mcr.microsoft.com/dotnet/sdk:10.0 AS build
ARG BUILD_CONFIGURATION=Release ARG BUILD_CONFIGURATION=Release
WORKDIR /src WORKDIR /src
COPY ["CPATapi.Server/CPATapi.Server.csproj", "CPATapi.Server/"] COPY ["server/src/CPATapi.Server/CPATapi.Server.csproj", "server/src/CPATapi.Server/CPATapi.Server.csproj"]
RUN dotnet restore "CPATapi.Server/CPATapi.Server.csproj" RUN dotnet restore "server/src/CPATapi.Server/CPATapi.Server.csproj"
COPY . . COPY . .
WORKDIR "/src/CPATapi.Server" WORKDIR "/src/server/src/CPATapi.Server"
RUN dotnet build "./CPATapi.Server.csproj" -c $BUILD_CONFIGURATION -o /app/build RUN dotnet build "./CPATapi.Server.csproj" -c $BUILD_CONFIGURATION -o /app/build
# This stage is used to publish the service project to be copied to the final stage # This stage is used to publish the service project to be copied to the final stage
@@ -25,4 +33,5 @@ RUN dotnet publish "./CPATapi.Server.csproj" -c $BUILD_CONFIGURATION -o /app/pub
FROM base AS final FROM base AS final
WORKDIR /app WORKDIR /app
COPY --from=publish /app/publish . COPY --from=publish /app/publish .
COPY --from=build-userscript ["/src/dist/3CX TAPI.prod.user.js", "./wwwroot/3CX_TAPI.user.js"]
ENTRYPOINT ["dotnet", "CPATapi.Server.dll"] ENTRYPOINT ["dotnet", "CPATapi.Server.dll"]
+1
View File
@@ -30,6 +30,7 @@ if (app.Environment.IsDevelopment())
app.UseDeveloperExceptionPage(); app.UseDeveloperExceptionPage();
} }
app.MapStaticAssets();
app.MapOpenApi(); app.MapOpenApi();
app.UseSwaggerUI(options => app.UseSwaggerUI(options =>
{ {