🗑️ Remove SPA builder from dockerfile
This commit is contained in:
@@ -3,6 +3,8 @@ WORKDIR /app
|
|||||||
EXPOSE 8080
|
EXPOSE 8080
|
||||||
EXPOSE 8081
|
EXPOSE 8081
|
||||||
|
|
||||||
|
# Stage 1: Install runtime dependencies
|
||||||
|
|
||||||
# Install only necessary dependencies
|
# Install only necessary dependencies
|
||||||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||||
libfontconfig1 \
|
libfontconfig1 \
|
||||||
@@ -17,24 +19,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
|
|||||||
|
|
||||||
USER $APP_UID
|
USER $APP_UID
|
||||||
|
|
||||||
# Stage 2: Build SPA
|
# Stage 2: Build .NET application
|
||||||
FROM node:22-alpine AS spa-builder
|
|
||||||
WORKDIR /src
|
|
||||||
|
|
||||||
# Copy package files for SPA
|
|
||||||
COPY ["DysonNetwork.Drive/Client/package.json", "DysonNetwork.Drive/Client/package-lock.json*", "./Client/"]
|
|
||||||
|
|
||||||
# Install SPA dependencies
|
|
||||||
WORKDIR /src/Client
|
|
||||||
RUN npm install
|
|
||||||
|
|
||||||
# Copy SPA source
|
|
||||||
COPY ["DysonNetwork.Drive/Client/", "./"]
|
|
||||||
|
|
||||||
# Build SPA
|
|
||||||
RUN npm run build
|
|
||||||
|
|
||||||
# Stage 3: Build .NET application
|
|
||||||
FROM mcr.microsoft.com/dotnet/sdk:9.0 AS build
|
FROM mcr.microsoft.com/dotnet/sdk:9.0 AS build
|
||||||
ARG BUILD_CONFIGURATION=Release
|
ARG BUILD_CONFIGURATION=Release
|
||||||
WORKDIR /src
|
WORKDIR /src
|
||||||
@@ -42,9 +27,6 @@ COPY ["DysonNetwork.Drive/DysonNetwork.Drive.csproj", "DysonNetwork.Drive/"]
|
|||||||
RUN dotnet restore "DysonNetwork.Drive/DysonNetwork.Drive.csproj"
|
RUN dotnet restore "DysonNetwork.Drive/DysonNetwork.Drive.csproj"
|
||||||
COPY . .
|
COPY . .
|
||||||
|
|
||||||
# Copy built SPA to wwwroot
|
|
||||||
COPY --from=spa-builder /src/Client/dist /src/DysonNetwork.Drive/wwwroot/dist
|
|
||||||
|
|
||||||
WORKDIR "/src/DysonNetwork.Drive"
|
WORKDIR "/src/DysonNetwork.Drive"
|
||||||
RUN dotnet build "./DysonNetwork.Drive.csproj" -c $BUILD_CONFIGURATION -o /app/build \
|
RUN dotnet build "./DysonNetwork.Drive.csproj" -c $BUILD_CONFIGURATION -o /app/build \
|
||||||
-p:TypeScriptCompileBlocked=true \
|
-p:TypeScriptCompileBlocked=true \
|
||||||
|
@@ -77,5 +77,40 @@
|
|||||||
<_ContentIncludedByDefault Remove="Pages\Emails\LandingEmail.razor" />
|
<_ContentIncludedByDefault Remove="Pages\Emails\LandingEmail.razor" />
|
||||||
<_ContentIncludedByDefault Remove="Pages\Emails\PasswordResetEmail.razor" />
|
<_ContentIncludedByDefault Remove="Pages\Emails\PasswordResetEmail.razor" />
|
||||||
<_ContentIncludedByDefault Remove="Pages\Emails\VerificationEmail.razor" />
|
<_ContentIncludedByDefault Remove="Pages\Emails\VerificationEmail.razor" />
|
||||||
|
<_ContentIncludedByDefault Remove="wwwroot\assets\index.css" />
|
||||||
|
<_ContentIncludedByDefault Remove="wwwroot\assets\index.js" />
|
||||||
|
<_ContentIncludedByDefault Remove="wwwroot\assets\nunito-cyrillic-ext-wght-normal.woff2" />
|
||||||
|
<_ContentIncludedByDefault Remove="wwwroot\assets\nunito-cyrillic-wght-normal.woff2" />
|
||||||
|
<_ContentIncludedByDefault Remove="wwwroot\assets\nunito-latin-ext-wght-normal.woff2" />
|
||||||
|
<_ContentIncludedByDefault Remove="wwwroot\assets\nunito-latin-wght-normal.woff2" />
|
||||||
|
<_ContentIncludedByDefault Remove="wwwroot\assets\nunito-vietnamese-wght-normal.woff2" />
|
||||||
|
<_ContentIncludedByDefault Remove="wwwroot\assets\views.css" />
|
||||||
|
<_ContentIncludedByDefault Remove="wwwroot\assets\views.js" />
|
||||||
|
<_ContentIncludedByDefault Remove="wwwroot\dist\assets\dashboard-CKyaQQmB.js" />
|
||||||
|
<_ContentIncludedByDefault Remove="wwwroot\dist\assets\FilePoolSelect-D8ZAn71O.js" />
|
||||||
|
<_ContentIncludedByDefault Remove="wwwroot\dist\assets\files-2Q0pwjx0.js" />
|
||||||
|
<_ContentIncludedByDefault Remove="wwwroot\dist\assets\files-CHYcO-Km.js" />
|
||||||
|
<_ContentIncludedByDefault Remove="wwwroot\dist\assets\format-C50AaNwU.js" />
|
||||||
|
<_ContentIncludedByDefault Remove="wwwroot\dist\assets\get-slot-BHg77tAu.js" />
|
||||||
|
<_ContentIncludedByDefault Remove="wwwroot\dist\assets\index-8hxmE58t.js" />
|
||||||
|
<_ContentIncludedByDefault Remove="wwwroot\dist\assets\index-C_waKLDa.css" />
|
||||||
|
<_ContentIncludedByDefault Remove="wwwroot\dist\assets\not-found-BdXg6kdA.js" />
|
||||||
|
<_ContentIncludedByDefault Remove="wwwroot\dist\assets\nunito-cyrillic-ext-wght-normal-D4X5GqEv.woff2" />
|
||||||
|
<_ContentIncludedByDefault Remove="wwwroot\dist\assets\nunito-cyrillic-wght-normal-FdJpG9jw.woff2" />
|
||||||
|
<_ContentIncludedByDefault Remove="wwwroot\dist\assets\nunito-latin-ext-wght-normal-ClTydo4B.woff2" />
|
||||||
|
<_ContentIncludedByDefault Remove="wwwroot\dist\assets\nunito-latin-wght-normal-DYSs2pW_.woff2" />
|
||||||
|
<_ContentIncludedByDefault Remove="wwwroot\dist\assets\nunito-vietnamese-wght-normal-U01xdrZh.woff2" />
|
||||||
|
<_ContentIncludedByDefault Remove="wwwroot\dist\assets\Progress-B8ihGGrN.js" />
|
||||||
|
<_ContentIncludedByDefault Remove="wwwroot\dist\assets\Result-DgdY1Zai.js" />
|
||||||
|
<_ContentIncludedByDefault Remove="wwwroot\dist\assets\Spin-D4Bv4qt0.js" />
|
||||||
|
<_ContentIncludedByDefault Remove="wwwroot\dist\assets\src-CwPqR5Jy.js" />
|
||||||
|
<_ContentIncludedByDefault Remove="wwwroot\dist\assets\Tooltip-DobXE5MY.js" />
|
||||||
|
<_ContentIncludedByDefault Remove="wwwroot\dist\assets\usage-BWFxWi2s.js" />
|
||||||
|
<_ContentIncludedByDefault Remove="wwwroot\dist\assets\usage-DX5JiEks.css" />
|
||||||
|
<_ContentIncludedByDefault Remove="wwwroot\dist\assets\use-locale-8xpNnStl.js" />
|
||||||
|
<_ContentIncludedByDefault Remove="wwwroot\dist\assets\views-DAvwxRhD.js" />
|
||||||
|
<_ContentIncludedByDefault Remove="wwwroot\dist\favicon.png" />
|
||||||
|
<_ContentIncludedByDefault Remove="wwwroot\dist\index.html" />
|
||||||
|
<_ContentIncludedByDefault Remove="wwwroot\index.html" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
</Project>
|
</Project>
|
||||||
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1 +0,0 @@
|
|||||||
|
|
@@ -1,87 +0,0 @@
|
|||||||
import{A as e,B as t,C as n,D as r,E as i,F as a,G as o,b as s,c,d as l,e as u,f as d,g as f,h as p,i as m,j as h,k as g,l as _,m as v,n as y,o as b,p as x,q as S,r as C,s as w,t as T,u as E,v as D,w as O,x as k,y as A,z as j}from"./index.js";function M(e){return Object.keys(e)}var N=S([T(`card`,`
|
|
||||||
font-size: var(--n-font-size);
|
|
||||||
line-height: var(--n-line-height);
|
|
||||||
display: flex;
|
|
||||||
flex-direction: column;
|
|
||||||
width: 100%;
|
|
||||||
box-sizing: border-box;
|
|
||||||
position: relative;
|
|
||||||
border-radius: var(--n-border-radius);
|
|
||||||
background-color: var(--n-color);
|
|
||||||
color: var(--n-text-color);
|
|
||||||
word-break: break-word;
|
|
||||||
transition:
|
|
||||||
color .3s var(--n-bezier),
|
|
||||||
background-color .3s var(--n-bezier),
|
|
||||||
box-shadow .3s var(--n-bezier),
|
|
||||||
border-color .3s var(--n-bezier);
|
|
||||||
`,[v({background:`var(--n-color-modal)`}),C(`hoverable`,[S(`&:hover`,`box-shadow: var(--n-box-shadow);`)]),C(`content-segmented`,[S(`>`,[x(`content`,{paddingTop:`var(--n-padding-bottom)`})])]),C(`content-soft-segmented`,[S(`>`,[x(`content`,`
|
|
||||||
margin: 0 var(--n-padding-left);
|
|
||||||
padding: var(--n-padding-bottom) 0;
|
|
||||||
`)])]),C(`footer-segmented`,[S(`>`,[x(`footer`,{paddingTop:`var(--n-padding-bottom)`})])]),C(`footer-soft-segmented`,[S(`>`,[x(`footer`,`
|
|
||||||
padding: var(--n-padding-bottom) 0;
|
|
||||||
margin: 0 var(--n-padding-left);
|
|
||||||
`)])]),S(`>`,[T(`card-header`,`
|
|
||||||
box-sizing: border-box;
|
|
||||||
display: flex;
|
|
||||||
align-items: center;
|
|
||||||
font-size: var(--n-title-font-size);
|
|
||||||
padding:
|
|
||||||
var(--n-padding-top)
|
|
||||||
var(--n-padding-left)
|
|
||||||
var(--n-padding-bottom)
|
|
||||||
var(--n-padding-left);
|
|
||||||
`,[x(`main`,`
|
|
||||||
font-weight: var(--n-title-font-weight);
|
|
||||||
transition: color .3s var(--n-bezier);
|
|
||||||
flex: 1;
|
|
||||||
min-width: 0;
|
|
||||||
color: var(--n-title-text-color);
|
|
||||||
`),x(`extra`,`
|
|
||||||
display: flex;
|
|
||||||
align-items: center;
|
|
||||||
font-size: var(--n-font-size);
|
|
||||||
font-weight: 400;
|
|
||||||
transition: color .3s var(--n-bezier);
|
|
||||||
color: var(--n-text-color);
|
|
||||||
`),x(`close`,`
|
|
||||||
margin: 0 0 0 8px;
|
|
||||||
transition:
|
|
||||||
background-color .3s var(--n-bezier),
|
|
||||||
color .3s var(--n-bezier);
|
|
||||||
`)]),x(`action`,`
|
|
||||||
box-sizing: border-box;
|
|
||||||
transition:
|
|
||||||
background-color .3s var(--n-bezier),
|
|
||||||
border-color .3s var(--n-bezier);
|
|
||||||
background-clip: padding-box;
|
|
||||||
background-color: var(--n-action-color);
|
|
||||||
`),x(`content`,`flex: 1; min-width: 0;`),x(`content, footer`,`
|
|
||||||
box-sizing: border-box;
|
|
||||||
padding: 0 var(--n-padding-left) var(--n-padding-bottom) var(--n-padding-left);
|
|
||||||
font-size: var(--n-font-size);
|
|
||||||
`,[S(`&:first-child`,{paddingTop:`var(--n-padding-bottom)`})]),x(`action`,`
|
|
||||||
background-color: var(--n-action-color);
|
|
||||||
padding: var(--n-padding-bottom) var(--n-padding-left);
|
|
||||||
border-bottom-left-radius: var(--n-border-radius);
|
|
||||||
border-bottom-right-radius: var(--n-border-radius);
|
|
||||||
`)]),T(`card-cover`,`
|
|
||||||
overflow: hidden;
|
|
||||||
width: 100%;
|
|
||||||
border-radius: var(--n-border-radius) var(--n-border-radius) 0 0;
|
|
||||||
`,[S(`img`,`
|
|
||||||
display: block;
|
|
||||||
width: 100%;
|
|
||||||
`)]),C(`bordered`,`
|
|
||||||
border: 1px solid var(--n-border-color);
|
|
||||||
`,[S(`&:target`,`border-color: var(--n-color-target);`)]),C(`action-segmented`,[S(`>`,[x(`action`,[S(`&:not(:first-child)`,{borderTop:`1px solid var(--n-border-color)`})])])]),C(`content-segmented, content-soft-segmented`,[S(`>`,[x(`content`,{transition:`border-color 0.3s var(--n-bezier)`},[S(`&:not(:first-child)`,{borderTop:`1px solid var(--n-border-color)`})])])]),C(`footer-segmented, footer-soft-segmented`,[S(`>`,[x(`footer`,{transition:`border-color 0.3s var(--n-bezier)`},[S(`&:not(:first-child)`,{borderTop:`1px solid var(--n-border-color)`})])])]),C(`embedded`,`
|
|
||||||
background-color: var(--n-color-embedded);
|
|
||||||
`)]),b(T(`card`,`
|
|
||||||
background: var(--n-color-modal);
|
|
||||||
`,[C(`embedded`,`
|
|
||||||
background-color: var(--n-color-embedded-modal);
|
|
||||||
`)])),y(T(`card`,`
|
|
||||||
background: var(--n-color-popover);
|
|
||||||
`,[C(`embedded`,`
|
|
||||||
background-color: var(--n-color-embedded-popover);
|
|
||||||
`)]))]);const P={title:[String,Function],contentClass:String,contentStyle:[Object,String],headerClass:String,headerStyle:[Object,String],headerExtraClass:String,headerExtraStyle:[Object,String],footerClass:String,footerStyle:[Object,String],embedded:Boolean,segmented:{type:[Boolean,Object],default:!1},size:{type:String,default:`medium`},bordered:{type:Boolean,default:!0},closable:Boolean,hoverable:Boolean,role:String,onClose:[Function,Array],tag:{type:String,default:`div`},cover:Function,content:[String,Function],footer:Function,action:Function,headerExtra:Function},F=M(P),I=Object.assign(Object.assign({},u.props),P);var L=A({name:`Card`,props:I,slots:Object,setup(e){let t=()=>{let{onClose:t}=e;t&&g(t)},{inlineThemeDisabled:n,mergedClsPrefixRef:r,mergedRtlRef:i}=p(e),a=u(`Card`,`-card`,N,c,e,r),o=d(`Card`,i,r),s=O(()=>{let{size:t}=e,{self:{color:n,colorModal:r,colorTarget:i,textColor:o,titleTextColor:s,titleFontWeight:c,borderColor:l,actionColor:u,borderRadius:d,lineHeight:f,closeIconColor:p,closeIconColorHover:m,closeIconColorPressed:h,closeColorHover:g,closeColorPressed:v,closeBorderRadius:y,closeIconSize:b,closeSize:x,boxShadow:S,colorPopover:C,colorEmbedded:T,colorEmbeddedModal:E,colorEmbeddedPopover:D,[w(`padding`,t)]:O,[w(`fontSize`,t)]:k,[w(`titleFontSize`,t)]:A},common:{cubicBezierEaseInOut:j}}=a.value,{top:M,left:N,bottom:P}=_(O);return{"--n-bezier":j,"--n-border-radius":d,"--n-color":n,"--n-color-modal":r,"--n-color-popover":C,"--n-color-embedded":T,"--n-color-embedded-modal":E,"--n-color-embedded-popover":D,"--n-color-target":i,"--n-text-color":o,"--n-line-height":f,"--n-action-color":u,"--n-title-text-color":s,"--n-title-font-weight":c,"--n-close-icon-color":p,"--n-close-icon-color-hover":m,"--n-close-icon-color-pressed":h,"--n-close-color-hover":g,"--n-close-color-pressed":v,"--n-border-color":l,"--n-box-shadow":S,"--n-padding-top":M,"--n-padding-bottom":P,"--n-padding-left":N,"--n-font-size":k,"--n-title-font-size":A,"--n-close-size":x,"--n-close-icon-size":b,"--n-close-border-radius":y}}),l=n?f(`card`,O(()=>e.size[0]),s,e):void 0;return{rtlEnabled:o,mergedClsPrefix:r,mergedTheme:a,handleCloseClick:t,cssVars:n?void 0:s,themeClass:l?.themeClass,onRender:l?.onRender}},render(){let{segmented:e,bordered:t,hoverable:n,mergedClsPrefix:r,rtlEnabled:i,onRender:a,embedded:o,tag:s,$slots:c}=this;return a?.(),j(s,{class:[`${r}-card`,this.themeClass,o&&`${r}-card--embedded`,{[`${r}-card--rtl`]:i,[`${r}-card--content${typeof e!=`boolean`&&e.content===`soft`?`-soft`:``}-segmented`]:e===!0||e!==!1&&e.content,[`${r}-card--footer${typeof e!=`boolean`&&e.footer===`soft`?`-soft`:``}-segmented`]:e===!0||e!==!1&&e.footer,[`${r}-card--action-segmented`]:e===!0||e!==!1&&e.action,[`${r}-card--bordered`]:t,[`${r}-card--hoverable`]:n}],style:this.cssVars,role:this.role},h(c.cover,e=>{let t=this.cover?m([this.cover()]):e;return t&&j(`div`,{class:`${r}-card-cover`,role:`none`},t)}),h(c.header,e=>{let{title:t}=this,n=t?m(typeof t==`function`?[t()]:[t]):e;return n||this.closable?j(`div`,{class:[`${r}-card-header`,this.headerClass],style:this.headerStyle,role:`heading`},j(`div`,{class:`${r}-card-header__main`,role:`heading`},n),h(c[`header-extra`],e=>{let t=this.headerExtra?m([this.headerExtra()]):e;return t&&j(`div`,{class:[`${r}-card-header__extra`,this.headerExtraClass],style:this.headerExtraStyle},t)}),this.closable&&j(l,{clsPrefix:r,class:`${r}-card-header__close`,onClick:this.handleCloseClick,absolute:!0})):null}),h(c.default,e=>{let{content:t}=this,n=t?m(typeof t==`function`?[t()]:[t]):e;return n&&j(`div`,{class:[`${r}-card__content`,this.contentClass],style:this.contentStyle,role:`none`},n)}),h(c.footer,e=>{let t=this.footer?m([this.footer()]):e;return t&&j(`div`,{class:[`${r}-card__footer`,this.footerClass],style:this.footerStyle,role:`none`},t)}),h(c.action,e=>{let t=this.action?m([this.action()]):e;return t&&j(`div`,{class:`${r}-card__action`,role:`none`},t)}))}});const R={class:`h-full relative flex items-center justify-center`},z={class:`mt-4 opacity-75 text-xs`},B={key:0},V={key:1};var H=A({__name:`index`,setup(s){let c=i(null);async function l(){let e=await fetch(`/api/version`);c.value=await e.json()}return r(()=>l()),(r,i)=>(E(),n(`section`,R,[k(a(L),{class:`max-w-lg`,title:`About`},{default:t(()=>[i[0]||=D(`p`,null,[e(`Welcome to the `),D(`b`,null,`Solar Drive`)],-1),i[1]||=D(`p`,null,` We help you upload, collect, and share files with ease in mind. `,-1),D(`p`,z,[c.value==null?(E(),n(`span`,B,`Loading...`)):(E(),n(`span`,V,` v`+o(c.value.version)+` @ `+o(c.value.commit.substring(0,6))+` `+o(c.value.updatedAt),1))])]),_:1,__:[0,1]})]))}}),U=s(H,[[`__scopeId`,`data-v-55d8ffbb`]]);export{U as default};
|
|
@@ -1,15 +0,0 @@
|
|||||||
<!doctype html>
|
|
||||||
<html lang="">
|
|
||||||
<head>
|
|
||||||
<meta charset="UTF-8" />
|
|
||||||
<link rel="icon" href="/favicon.ico" />
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
||||||
<title>Solarpass</title>
|
|
||||||
<app-data />
|
|
||||||
<script type="module" crossorigin src="/assets/index.js"></script>
|
|
||||||
<link rel="stylesheet" crossorigin href="/assets/index.css">
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div id="app"></div>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
@@ -5,24 +5,7 @@ WORKDIR /app
|
|||||||
EXPOSE 8080
|
EXPOSE 8080
|
||||||
EXPOSE 8081
|
EXPOSE 8081
|
||||||
|
|
||||||
# Stage 2: Build SPA
|
# Stage 2: Build .NET application
|
||||||
FROM node:22-alpine AS spa-builder
|
|
||||||
WORKDIR /src
|
|
||||||
|
|
||||||
# Copy package files for SPA
|
|
||||||
COPY ["DysonNetwork.Pass/Client/package.json", "DysonNetwork.Pass/Client/package-lock.json*", "./Client/"]
|
|
||||||
|
|
||||||
# Install SPA dependencies
|
|
||||||
WORKDIR /src/Client
|
|
||||||
RUN npm install
|
|
||||||
|
|
||||||
# Copy SPA source
|
|
||||||
COPY ["DysonNetwork.Pass/Client/", "./"]
|
|
||||||
|
|
||||||
# Build SPA
|
|
||||||
RUN npm run build
|
|
||||||
|
|
||||||
# Stage 3: Build .NET application
|
|
||||||
FROM mcr.microsoft.com/dotnet/sdk:9.0 AS build
|
FROM mcr.microsoft.com/dotnet/sdk:9.0 AS build
|
||||||
WORKDIR /src
|
WORKDIR /src
|
||||||
|
|
||||||
@@ -33,9 +16,6 @@ RUN dotnet restore "DysonNetwork.Pass/DysonNetwork.Pass.csproj"
|
|||||||
# Copy everything else and build
|
# Copy everything else and build
|
||||||
COPY . .
|
COPY . .
|
||||||
|
|
||||||
# Copy built SPA to wwwroot
|
|
||||||
COPY --from=spa-builder /src/Client/dist /src/DysonNetwork.Pass/wwwroot/dist
|
|
||||||
|
|
||||||
# Build the application
|
# Build the application
|
||||||
WORKDIR "/src/DysonNetwork.Pass"
|
WORKDIR "/src/DysonNetwork.Pass"
|
||||||
RUN dotnet build "DysonNetwork.Pass.csproj" -c Release -o /app/build \
|
RUN dotnet build "DysonNetwork.Pass.csproj" -c Release -o /app/build \
|
||||||
|
@@ -135,5 +135,126 @@
|
|||||||
<LastGenOutput>SharedResource.Designer.cs</LastGenOutput>
|
<LastGenOutput>SharedResource.Designer.cs</LastGenOutput>
|
||||||
</EmbeddedResource>
|
</EmbeddedResource>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<_ContentIncludedByDefault Remove="wwwroot\dist\assets\Alert-B2FSluOY.js" />
|
||||||
|
<_ContentIncludedByDefault Remove="wwwroot\dist\assets\Alert-BpKMqwss.js" />
|
||||||
|
<_ContentIncludedByDefault Remove="wwwroot\dist\assets\Alert-DTmb0Sgw.js" />
|
||||||
|
<_ContentIncludedByDefault Remove="wwwroot\dist\assets\Alert-DvM2xVbN.js" />
|
||||||
|
<_ContentIncludedByDefault Remove="wwwroot\dist\assets\authorize-CDn2N2LM.js" />
|
||||||
|
<_ContentIncludedByDefault Remove="wwwroot\dist\assets\authorize-CJXnHQxd.js" />
|
||||||
|
<_ContentIncludedByDefault Remove="wwwroot\dist\assets\authorize-DHV7-8aO.js" />
|
||||||
|
<_ContentIncludedByDefault Remove="wwwroot\dist\assets\authorize-dZl8sZky.js" />
|
||||||
|
<_ContentIncludedByDefault Remove="wwwroot\dist\assets\authorize-x1XGuNl0.css" />
|
||||||
|
<_ContentIncludedByDefault Remove="wwwroot\dist\assets\Avatar-7bBXFYqd.js" />
|
||||||
|
<_ContentIncludedByDefault Remove="wwwroot\dist\assets\Avatar-DdpbxvYb.js" />
|
||||||
|
<_ContentIncludedByDefault Remove="wwwroot\dist\assets\Avatar-D_MBNIdG.js" />
|
||||||
|
<_ContentIncludedByDefault Remove="wwwroot\dist\assets\Avatar-FENaVzle.js" />
|
||||||
|
<_ContentIncludedByDefault Remove="wwwroot\dist\assets\callback-4ABh1E9L.js" />
|
||||||
|
<_ContentIncludedByDefault Remove="wwwroot\dist\assets\callback-BHdDa1RS.js" />
|
||||||
|
<_ContentIncludedByDefault Remove="wwwroot\dist\assets\callback-D2gvcEWR.js" />
|
||||||
|
<_ContentIncludedByDefault Remove="wwwroot\dist\assets\callback-TDa4jiA8.js" />
|
||||||
|
<_ContentIncludedByDefault Remove="wwwroot\dist\assets\captcha-CHZUVdIk.js" />
|
||||||
|
<_ContentIncludedByDefault Remove="wwwroot\dist\assets\captcha-D6UBfe8X.js" />
|
||||||
|
<_ContentIncludedByDefault Remove="wwwroot\dist\assets\captcha-D9uzIi-C.js" />
|
||||||
|
<_ContentIncludedByDefault Remove="wwwroot\dist\assets\captcha-DMR3K84c.js" />
|
||||||
|
<_ContentIncludedByDefault Remove="wwwroot\dist\assets\captcha-TlMcxElg.js" />
|
||||||
|
<_ContentIncludedByDefault Remove="wwwroot\dist\assets\CaptchaWidget-D5wD484e.js" />
|
||||||
|
<_ContentIncludedByDefault Remove="wwwroot\dist\assets\CaptchaWidget-LqHDF0Bm.js" />
|
||||||
|
<_ContentIncludedByDefault Remove="wwwroot\dist\assets\CaptchaWidget-nxAiuR8D.js" />
|
||||||
|
<_ContentIncludedByDefault Remove="wwwroot\dist\assets\CaptchaWidget-xnhVxegn.js" />
|
||||||
|
<_ContentIncludedByDefault Remove="wwwroot\dist\assets\CaptchaWidget-ZSSy1_MS.js" />
|
||||||
|
<_ContentIncludedByDefault Remove="wwwroot\dist\assets\Card-3CQ5hMIi.js" />
|
||||||
|
<_ContentIncludedByDefault Remove="wwwroot\dist\assets\Card-Bm8UR8wa.js" />
|
||||||
|
<_ContentIncludedByDefault Remove="wwwroot\dist\assets\Card-C4ZOuQYu.js" />
|
||||||
|
<_ContentIncludedByDefault Remove="wwwroot\dist\assets\Card-CeVymCuR.js" />
|
||||||
|
<_ContentIncludedByDefault Remove="wwwroot\dist\assets\Card-K5sJ0ti3.js" />
|
||||||
|
<_ContentIncludedByDefault Remove="wwwroot\dist\assets\create-account-B6oUnTd5.js" />
|
||||||
|
<_ContentIncludedByDefault Remove="wwwroot\dist\assets\create-account-CDr1rVfd.js" />
|
||||||
|
<_ContentIncludedByDefault Remove="wwwroot\dist\assets\create-account-CxHpnOvK.js" />
|
||||||
|
<_ContentIncludedByDefault Remove="wwwroot\dist\assets\create-account-EYf4P7T4.js" />
|
||||||
|
<_ContentIncludedByDefault Remove="wwwroot\dist\assets\create-account-POd1mcUx.js" />
|
||||||
|
<_ContentIncludedByDefault Remove="wwwroot\dist\assets\dashboard-C98Tn6-T.js" />
|
||||||
|
<_ContentIncludedByDefault Remove="wwwroot\dist\assets\dashboard-DcZO2zWP.js" />
|
||||||
|
<_ContentIncludedByDefault Remove="wwwroot\dist\assets\dashboard-Ddypammg.js" />
|
||||||
|
<_ContentIncludedByDefault Remove="wwwroot\dist\assets\dashboard-E1FjEONz.js" />
|
||||||
|
<_ContentIncludedByDefault Remove="wwwroot\dist\assets\dashboard-LoQB59cJ.js" />
|
||||||
|
<_ContentIncludedByDefault Remove="wwwroot\dist\assets\index-964Yi0CV.js" />
|
||||||
|
<_ContentIncludedByDefault Remove="wwwroot\dist\assets\index-ByqfQbbl.js" />
|
||||||
|
<_ContentIncludedByDefault Remove="wwwroot\dist\assets\index-CFzrSPET.css" />
|
||||||
|
<_ContentIncludedByDefault Remove="wwwroot\dist\assets\index-CKh4vLBr.css" />
|
||||||
|
<_ContentIncludedByDefault Remove="wwwroot\dist\assets\index-DiRbRnS4.js" />
|
||||||
|
<_ContentIncludedByDefault Remove="wwwroot\dist\assets\index-DV0K-h1x.js" />
|
||||||
|
<_ContentIncludedByDefault Remove="wwwroot\dist\assets\index-e5_uYufX.js" />
|
||||||
|
<_ContentIncludedByDefault Remove="wwwroot\dist\assets\index-OlazpMBG.css" />
|
||||||
|
<_ContentIncludedByDefault Remove="wwwroot\dist\assets\info-BKcw8i0E.js" />
|
||||||
|
<_ContentIncludedByDefault Remove="wwwroot\dist\assets\info-BWGGQKrM.js" />
|
||||||
|
<_ContentIncludedByDefault Remove="wwwroot\dist\assets\info-CN2zvAgZ.js" />
|
||||||
|
<_ContentIncludedByDefault Remove="wwwroot\dist\assets\info-DGp6o6bD.js" />
|
||||||
|
<_ContentIncludedByDefault Remove="wwwroot\dist\assets\info-xQN_26a3.js" />
|
||||||
|
<_ContentIncludedByDefault Remove="wwwroot\dist\assets\Input-BStZQD4K.js" />
|
||||||
|
<_ContentIncludedByDefault Remove="wwwroot\dist\assets\Input-CZ7NsVfI.js" />
|
||||||
|
<_ContentIncludedByDefault Remove="wwwroot\dist\assets\Input-DPeldKtL.js" />
|
||||||
|
<_ContentIncludedByDefault Remove="wwwroot\dist\assets\Input-DXl3pOsk.js" />
|
||||||
|
<_ContentIncludedByDefault Remove="wwwroot\dist\assets\Input-m7BFdUHn.js" />
|
||||||
|
<_ContentIncludedByDefault Remove="wwwroot\dist\assets\login-BeTGF59B.js" />
|
||||||
|
<_ContentIncludedByDefault Remove="wwwroot\dist\assets\login-BfW3KWcS.js" />
|
||||||
|
<_ContentIncludedByDefault Remove="wwwroot\dist\assets\login-Bn1Vi--K.js" />
|
||||||
|
<_ContentIncludedByDefault Remove="wwwroot\dist\assets\login-BNk-r3QN.js" />
|
||||||
|
<_ContentIncludedByDefault Remove="wwwroot\dist\assets\login-CuUht49V.js" />
|
||||||
|
<_ContentIncludedByDefault Remove="wwwroot\dist\assets\not-found-BMgVDi16.js" />
|
||||||
|
<_ContentIncludedByDefault Remove="wwwroot\dist\assets\not-found-BnHh8CK1.js" />
|
||||||
|
<_ContentIncludedByDefault Remove="wwwroot\dist\assets\not-found-C7gS4N7g.js" />
|
||||||
|
<_ContentIncludedByDefault Remove="wwwroot\dist\assets\not-found-jW5pncwI.js" />
|
||||||
|
<_ContentIncludedByDefault Remove="wwwroot\dist\assets\not-found-sjl1-FUZ.js" />
|
||||||
|
<_ContentIncludedByDefault Remove="wwwroot\dist\assets\nunito-cyrillic-ext-wght-normal-D4X5GqEv.woff2" />
|
||||||
|
<_ContentIncludedByDefault Remove="wwwroot\dist\assets\nunito-cyrillic-wght-normal-FdJpG9jw.woff2" />
|
||||||
|
<_ContentIncludedByDefault Remove="wwwroot\dist\assets\nunito-latin-ext-wght-normal-ClTydo4B.woff2" />
|
||||||
|
<_ContentIncludedByDefault Remove="wwwroot\dist\assets\nunito-latin-wght-normal-DYSs2pW_.woff2" />
|
||||||
|
<_ContentIncludedByDefault Remove="wwwroot\dist\assets\nunito-vietnamese-wght-normal-U01xdrZh.woff2" />
|
||||||
|
<_ContentIncludedByDefault Remove="wwwroot\dist\assets\PersonRound-8S_mNAfZ.js" />
|
||||||
|
<_ContentIncludedByDefault Remove="wwwroot\dist\assets\PersonRound-Bjvi_zVT.js" />
|
||||||
|
<_ContentIncludedByDefault Remove="wwwroot\dist\assets\PersonRound-BX1iEtQl.js" />
|
||||||
|
<_ContentIncludedByDefault Remove="wwwroot\dist\assets\PersonRound-CdcTMOpz.js" />
|
||||||
|
<_ContentIncludedByDefault Remove="wwwroot\dist\assets\PersonRound-DgsR1USR.js" />
|
||||||
|
<_ContentIncludedByDefault Remove="wwwroot\dist\assets\pfp-CjBu767l.js" />
|
||||||
|
<_ContentIncludedByDefault Remove="wwwroot\dist\assets\pfp-CJGYtIrG.js" />
|
||||||
|
<_ContentIncludedByDefault Remove="wwwroot\dist\assets\pfp-CQwKndsp.css" />
|
||||||
|
<_ContentIncludedByDefault Remove="wwwroot\dist\assets\pfp-DlYGqw_1.js" />
|
||||||
|
<_ContentIncludedByDefault Remove="wwwroot\dist\assets\pfp-hprSFU-u.js" />
|
||||||
|
<_ContentIncludedByDefault Remove="wwwroot\dist\assets\pfp-WGjM2YVF.js" />
|
||||||
|
<_ContentIncludedByDefault Remove="wwwroot\dist\assets\Progress-BYkKGqxH.js" />
|
||||||
|
<_ContentIncludedByDefault Remove="wwwroot\dist\assets\Progress-Bz_alL0z.js" />
|
||||||
|
<_ContentIncludedByDefault Remove="wwwroot\dist\assets\Progress-C5JK2b-M.js" />
|
||||||
|
<_ContentIncludedByDefault Remove="wwwroot\dist\assets\Progress-Cq5Zdlxp.js" />
|
||||||
|
<_ContentIncludedByDefault Remove="wwwroot\dist\assets\Progress-I7OzLFHE.js" />
|
||||||
|
<_ContentIncludedByDefault Remove="wwwroot\dist\assets\Result-B64HNhI4.js" />
|
||||||
|
<_ContentIncludedByDefault Remove="wwwroot\dist\assets\Result-BKspndtr.js" />
|
||||||
|
<_ContentIncludedByDefault Remove="wwwroot\dist\assets\Result-DGJsK6kO.js" />
|
||||||
|
<_ContentIncludedByDefault Remove="wwwroot\dist\assets\Result-DWv3YAoa.js" />
|
||||||
|
<_ContentIncludedByDefault Remove="wwwroot\dist\assets\Result-wfz_zGlO.js" />
|
||||||
|
<_ContentIncludedByDefault Remove="wwwroot\dist\assets\security-BPT8r8gR.js" />
|
||||||
|
<_ContentIncludedByDefault Remove="wwwroot\dist\assets\security-BV0Kq4kg.js" />
|
||||||
|
<_ContentIncludedByDefault Remove="wwwroot\dist\assets\security-CLO6F1QL.js" />
|
||||||
|
<_ContentIncludedByDefault Remove="wwwroot\dist\assets\security-DSsaIooW.js" />
|
||||||
|
<_ContentIncludedByDefault Remove="wwwroot\dist\assets\security-MhaVgRfO.js" />
|
||||||
|
<_ContentIncludedByDefault Remove="wwwroot\dist\assets\spells-BAzEXQVO.js" />
|
||||||
|
<_ContentIncludedByDefault Remove="wwwroot\dist\assets\spells-BkDaJJbe.js" />
|
||||||
|
<_ContentIncludedByDefault Remove="wwwroot\dist\assets\spells-DFn1Mbcq.js" />
|
||||||
|
<_ContentIncludedByDefault Remove="wwwroot\dist\assets\spells-DsoUguHQ.js" />
|
||||||
|
<_ContentIncludedByDefault Remove="wwwroot\dist\assets\spells-uY5sY7b0.js" />
|
||||||
|
<_ContentIncludedByDefault Remove="wwwroot\dist\assets\Spin-BSOdyDlg.js" />
|
||||||
|
<_ContentIncludedByDefault Remove="wwwroot\dist\assets\Spin-CcHBrPmI.js" />
|
||||||
|
<_ContentIncludedByDefault Remove="wwwroot\dist\assets\Spin-DiPKacGY.js" />
|
||||||
|
<_ContentIncludedByDefault Remove="wwwroot\dist\assets\Spin-DWv_86Hk.js" />
|
||||||
|
<_ContentIncludedByDefault Remove="wwwroot\dist\assets\Spin-n8pBfAvT.js" />
|
||||||
|
<_ContentIncludedByDefault Remove="wwwroot\dist\assets\views-B5pO0Mty.js" />
|
||||||
|
<_ContentIncludedByDefault Remove="wwwroot\dist\assets\views-BfxnUiQS.js" />
|
||||||
|
<_ContentIncludedByDefault Remove="wwwroot\dist\assets\views-Clwfkju7.js" />
|
||||||
|
<_ContentIncludedByDefault Remove="wwwroot\dist\assets\views-FC75oa3I.js" />
|
||||||
|
<_ContentIncludedByDefault Remove="wwwroot\dist\assets\views-WkErGpGZ.js" />
|
||||||
|
<_ContentIncludedByDefault Remove="wwwroot\dist\favicon.png" />
|
||||||
|
<_ContentIncludedByDefault Remove="wwwroot\dist\index.html" />
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
</Project>
|
</Project>
|
||||||
|
@@ -5,24 +5,7 @@ WORKDIR /app
|
|||||||
EXPOSE 8080
|
EXPOSE 8080
|
||||||
EXPOSE 8081
|
EXPOSE 8081
|
||||||
|
|
||||||
# Stage 2: Build SPA
|
# Stage 2: Build .NET application
|
||||||
FROM node:22-alpine AS spa-builder
|
|
||||||
WORKDIR /src
|
|
||||||
|
|
||||||
# Copy package files for SPA
|
|
||||||
COPY ["DysonNetwork.Sphere/Client/package.json", "DysonNetwork.Sphere/Client/package-lock.json*", "./Client/"]
|
|
||||||
|
|
||||||
# Install SPA dependencies
|
|
||||||
WORKDIR /src/Client
|
|
||||||
RUN npm install
|
|
||||||
|
|
||||||
# Copy SPA source
|
|
||||||
COPY ["DysonNetwork.Sphere/Client/", "./"]
|
|
||||||
|
|
||||||
# Build SPA
|
|
||||||
RUN npm run build
|
|
||||||
|
|
||||||
# Stage 3: Build .NET application
|
|
||||||
FROM mcr.microsoft.com/dotnet/sdk:9.0 AS build
|
FROM mcr.microsoft.com/dotnet/sdk:9.0 AS build
|
||||||
ARG BUILD_CONFIGURATION=Release
|
ARG BUILD_CONFIGURATION=Release
|
||||||
WORKDIR /src
|
WORKDIR /src
|
||||||
@@ -38,12 +21,6 @@ RUN dotnet restore "DysonNetwork.Sphere/DysonNetwork.Sphere.csproj"
|
|||||||
# Copy everything else and build
|
# Copy everything else and build
|
||||||
COPY . .
|
COPY . .
|
||||||
|
|
||||||
# Copy built SPA to wwwroot
|
|
||||||
COPY --from=spa-builder /src/Client/dist /src/DysonNetwork.Sphere/wwwroot/dist
|
|
||||||
|
|
||||||
# Remove Pass project's config files to prevent conflicts
|
|
||||||
RUN rm -f /src/DysonNetwork.Pass/appsettings*.json /src/DysonNetwork.Pass/version.json
|
|
||||||
|
|
||||||
# Create necessary directories for localized resources
|
# Create necessary directories for localized resources
|
||||||
RUN mkdir -p /src/DysonNetwork.Sphere/bin/Release/net9.0/zh-hans \
|
RUN mkdir -p /src/DysonNetwork.Sphere/bin/Release/net9.0/zh-hans \
|
||||||
&& mkdir -p /src/DysonNetwork.Pass/bin/Release/net9.0/zh-hans
|
&& mkdir -p /src/DysonNetwork.Pass/bin/Release/net9.0/zh-hans
|
||||||
@@ -58,7 +35,6 @@ RUN dotnet build "DysonNetwork.Sphere.csproj" -c $BUILD_CONFIGURATION -o /app/bu
|
|||||||
FROM build AS publish
|
FROM build AS publish
|
||||||
ARG BUILD_CONFIGURATION=Release
|
ARG BUILD_CONFIGURATION=Release
|
||||||
# Ensure the target directory for localized resources exists
|
# Ensure the target directory for localized resources exists
|
||||||
RUN rm -rf /src/DysonNetwork.Pass/Client
|
|
||||||
RUN mkdir -p /app/publish/zh-Hans
|
RUN mkdir -p /app/publish/zh-Hans
|
||||||
RUN dotnet publish "DysonNetwork.Sphere.csproj" -c $BUILD_CONFIGURATION -o /app/publish /p:UseAppHost=false
|
RUN dotnet publish "DysonNetwork.Sphere.csproj" -c $BUILD_CONFIGURATION -o /app/publish /p:UseAppHost=false
|
||||||
|
|
||||||
|
@@ -150,6 +150,19 @@
|
|||||||
<_ContentIncludedByDefault Remove="Pages\Emails\LandingEmail.razor" />
|
<_ContentIncludedByDefault Remove="Pages\Emails\LandingEmail.razor" />
|
||||||
<_ContentIncludedByDefault Remove="Pages\Emails\PasswordResetEmail.razor" />
|
<_ContentIncludedByDefault Remove="Pages\Emails\PasswordResetEmail.razor" />
|
||||||
<_ContentIncludedByDefault Remove="Pages\Emails\VerificationEmail.razor" />
|
<_ContentIncludedByDefault Remove="Pages\Emails\VerificationEmail.razor" />
|
||||||
|
<_ContentIncludedByDefault Remove="wwwroot\dist\assets\index-CwhYnE7S.css" />
|
||||||
|
<_ContentIncludedByDefault Remove="wwwroot\dist\assets\index-D09kXPgc.js" />
|
||||||
|
<_ContentIncludedByDefault Remove="wwwroot\dist\assets\nunito-cyrillic-ext-wght-normal-D4X5GqEv.woff2" />
|
||||||
|
<_ContentIncludedByDefault Remove="wwwroot\dist\assets\nunito-cyrillic-wght-normal-FdJpG9jw.woff2" />
|
||||||
|
<_ContentIncludedByDefault Remove="wwwroot\dist\assets\nunito-latin-ext-wght-normal-ClTydo4B.woff2" />
|
||||||
|
<_ContentIncludedByDefault Remove="wwwroot\dist\assets\nunito-latin-wght-normal-DYSs2pW_.woff2" />
|
||||||
|
<_ContentIncludedByDefault Remove="wwwroot\dist\assets\nunito-vietnamese-wght-normal-U01xdrZh.woff2" />
|
||||||
|
<_ContentIncludedByDefault Remove="wwwroot\dist\assets\PostItem-B-fBcnNf.js" />
|
||||||
|
<_ContentIncludedByDefault Remove="wwwroot\dist\assets\posts-w-kbiv-Q.js" />
|
||||||
|
<_ContentIncludedByDefault Remove="wwwroot\dist\assets\views-Z9SFj0UP.js" />
|
||||||
|
<_ContentIncludedByDefault Remove="wwwroot\dist\favicon.png" />
|
||||||
|
<_ContentIncludedByDefault Remove="wwwroot\dist\image-broken.jpg" />
|
||||||
|
<_ContentIncludedByDefault Remove="wwwroot\dist\index.html" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
Reference in New Issue
Block a user