🗑️ Remove SPA builder from dockerfile
This commit is contained in:
@@ -3,6 +3,8 @@ WORKDIR /app
|
||||
EXPOSE 8080
|
||||
EXPOSE 8081
|
||||
|
||||
# Stage 1: Install runtime dependencies
|
||||
|
||||
# Install only necessary dependencies
|
||||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
libfontconfig1 \
|
||||
@@ -17,24 +19,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
|
||||
USER $APP_UID
|
||||
|
||||
# Stage 2: Build SPA
|
||||
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
|
||||
# Stage 2: Build .NET application
|
||||
FROM mcr.microsoft.com/dotnet/sdk:9.0 AS build
|
||||
ARG BUILD_CONFIGURATION=Release
|
||||
WORKDIR /src
|
||||
@@ -42,9 +27,6 @@ COPY ["DysonNetwork.Drive/DysonNetwork.Drive.csproj", "DysonNetwork.Drive/"]
|
||||
RUN dotnet restore "DysonNetwork.Drive/DysonNetwork.Drive.csproj"
|
||||
COPY . .
|
||||
|
||||
# Copy built SPA to wwwroot
|
||||
COPY --from=spa-builder /src/Client/dist /src/DysonNetwork.Drive/wwwroot/dist
|
||||
|
||||
WORKDIR "/src/DysonNetwork.Drive"
|
||||
RUN dotnet build "./DysonNetwork.Drive.csproj" -c $BUILD_CONFIGURATION -o /app/build \
|
||||
-p:TypeScriptCompileBlocked=true \
|
||||
|
||||
@@ -77,5 +77,40 @@
|
||||
<_ContentIncludedByDefault Remove="Pages\Emails\LandingEmail.razor" />
|
||||
<_ContentIncludedByDefault Remove="Pages\Emails\PasswordResetEmail.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>
|
||||
</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>
|
||||
Reference in New Issue
Block a user