From 25d15a879b4b93886662c7120768d0e6cf010e76 Mon Sep 17 00:00:00 2001 From: Michael Brusegard <56915010+michaelbrusegard@users.noreply.github.com> Date: Sun, 15 Sep 2024 18:44:30 +0200 Subject: [PATCH 1/5] fix: Dockerfile and set lefthook to not run in prod --- Dockerfile | 44 +++++++++++++++++++++++++++++++++++++++----- package.json | 2 +- 2 files changed, 40 insertions(+), 6 deletions(-) diff --git a/Dockerfile b/Dockerfile index 45c64fa..89d2df1 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,17 +1,51 @@ -FROM imbios/bun-node:20-slim +FROM imbios/bun-node:22-slim AS base + +# Install dependencies only when needed +FROM base AS deps WORKDIR /app +# Install dependencies COPY package.json bun.lockb ./ +RUN bun install --frozen-lockfile -RUN bun install --production --frozen-lockfile - +# Rebuild the source code only when needed +FROM base AS builder +WORKDIR /app +COPY --from=deps /app/node_modules ./node_modules COPY . . +# Disable telemetry during the build +ENV NEXT_TELEMETRY_DISABLED=1 ENV SKIP_ENV_VALIDATION=true + +# Build the application +RUN bunx next build + + +# Production image, copy all the files and run next +FROM base AS runner +WORKDIR /app + ENV NODE_ENV=production -RUN bun run build +ENV NEXT_TELEMETRY_DISABLED=1 +ENV SKIP_ENV_VALIDATION=true + +RUN addgroup --system --gid 1002 nodejs && \ + adduser --system --uid 1002 nextjs + +COPY --from=builder /app/public ./public + +# Set the correct permission for prerender cache +RUN mkdir .next && chown nextjs:nodejs .next + +# Automatically leverage output traces to reduce image size +COPY --from=builder --chown=nextjs:nodejs /app/.next/standalone ./ +COPY --from=builder --chown=nextjs:nodejs /app/.next/static ./.next/static + +USER nextjs EXPOSE 3000 -ENTRYPOINT [ "bun", "run", "start" ] +# server.js is created by next build from the standalone output +CMD ["bun", "run", "server.js"] diff --git a/package.json b/package.json index 61d917a..d451399 100644 --- a/package.json +++ b/package.json @@ -4,7 +4,7 @@ "private": true, "type": "module", "scripts": { - "prepare": "lefthook install", + "prepare": "if [ \"$NODE_ENV\" != \"production\" ]; then lefthook install; fi", "postbuild": "next-sitemap", "prebuild": "next telemetry disable", "build": "next build", From e768da9dbeb3cb2afd9453cb9934c48b6476ca60 Mon Sep 17 00:00:00 2001 From: Michael Brusegard <56915010+michaelbrusegard@users.noreply.github.com> Date: Sun, 15 Sep 2024 18:46:24 +0200 Subject: [PATCH 2/5] chore: update lockfile --- bun.lockb | Bin 224786 -> 224845 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/bun.lockb b/bun.lockb index ebf6923c44a4393c76b0f648ffb143ae6b546a67..9c8e9bafae8cc56f92900c5ebed3463dbdfee562 100755 GIT binary patch delta 24029 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 a=BZUi`tjXS>x_7u&hb6c`-t|&EB^~#2$wkk delta 24052 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 From 69e594898ef32508b3e72997702e28da67ec77d2 Mon Sep 17 00:00:00 2001 From: Michael Brusegard <56915010+michaelbrusegard@users.noreply.github.com> Date: Mon, 16 Sep 2024 02:37:56 +0200 Subject: [PATCH 3/5] chore: trying some env vars --- .env.example | 1 + Dockerfile | 19 ++++++++++++++++++- docker-compose.yml | 7 +++++++ 3 files changed, 26 insertions(+), 1 deletion(-) diff --git a/.env.example b/.env.example index 2985555..4dd169b 100644 --- a/.env.example +++ b/.env.example @@ -10,6 +10,7 @@ # should be updated accordingly. # General +NEXT_TELEMETRY_DISABLED="true" NODE_ENV="development" NEXT_PUBLIC_SITE_URL="http://localhost:3000" diff --git a/Dockerfile b/Dockerfile index 89d2df1..1a3bdd7 100644 --- a/Dockerfile +++ b/Dockerfile @@ -5,6 +5,8 @@ FROM base AS deps WORKDIR /app +ENV NODE_ENV=production + # Install dependencies COPY package.json bun.lockb ./ RUN bun install --frozen-lockfile @@ -15,10 +17,25 @@ WORKDIR /app COPY --from=deps /app/node_modules ./node_modules COPY . . -# Disable telemetry during the build +ENV NODE_ENV=production ENV NEXT_TELEMETRY_DISABLED=1 ENV SKIP_ENV_VALIDATION=true +# Set environment variables during the build +ARG NEXT_PUBLIC_SITE_URL +ARG DATABASE_USER +ARG DATABASE_PASSWORD +ARG DATABASE_HOST +ARG DATABASE_PORT +ARG DATABASE_NAME + +ENV NEXT_PUBLIC_SITE_URL=$NEXT_PUBLIC_SITE_URL +ENV DATABASE_USER=$DATABASE_USER +ENV DATABASE_PASSWORD=$DATABASE_PASSWORD +ENV DATABASE_HOST=$DATABASE_HOST +ENV DATABASE_PORT=$DATABASE_PORT +ENV DATABASE_NAME=$DATABASE_NAME + # Build the application RUN bunx next build diff --git a/docker-compose.yml b/docker-compose.yml index 50e0d20..c7fde7c 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -5,6 +5,13 @@ services: build: context: . dockerfile: Dockerfile + args: + - NEXT_PUBLIC_SITE_URL + - DATABASE_USER + - DATABASE_PASSWORD + - DATABASE_HOST + - DATABASE_PORT + - DATABASE_NAME ports: - "3000:3000" db: From 003b640795a24ecbfccb2478c2f9e828f7a280b9 Mon Sep 17 00:00:00 2001 From: Michael Brusegard <56915010+michaelbrusegard@users.noreply.github.com> Date: Thu, 19 Sep 2024 16:28:05 +0200 Subject: [PATCH 4/5] fix: lockfie and sitemap env --- bun.lockb | Bin 224845 -> 226469 bytes next-sitemap.config.js | 4 +--- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/bun.lockb b/bun.lockb index 9c8e9bafae8cc56f92900c5ebed3463dbdfee562..878935d3bca70245f9c19126740f58360d8ddae4 100755 GIT binary patch delta 35225 zcmeHw2Uu0d7Vh3#4svW@7eNubqDYY@!VzQa4SQD*R1^dSqo4>Fd)KXwz4wO37Bt3~ zSZ_48XksrhiNWc46<+*NU#Y zUv#!-tzS>qO|M&hO>*q#zuKLd#AnDT2Kp$_44g7&RoS$%_KH#pga#}Pd}30R;=sZM6~z&llo%Tm ziQ<=$UJi6CU?t!oV0mCIU}fMIAk|Y8=n9+4F&R1|^*q+kscvb22Em}0g|{)q?pG*Ly8jV3GspNg~;m#j@B;*}I|9qjOJiQF!gMYmT2$vW4e6q&doO$$gt^aQAZS|5=Z zT{mWEQtY;>P$g&vq*19+O<3(SAQ@dzAX)RhD#94;z(>+13w7#c?TV*WtSQ?3v6cd} zft}PA0}>YD90BMGF1)}-%03h*| zmG}$V1%F!lRYXYG4<)VyQo->+nn8ns)Cor*DQ6heN`i(1sX`whHC$GvXM2nCmw?pp zULf%;kT?=Z{5^mblr$whgh!NgHy|}!07wnr_Yw^cg|=u6`@a*R&~YDuwAep3aTL+* zkY9r6xTqmSyEhPXDN_}5Zrb${fSNkf8nh@w;n9tKtdIsx5*D?-I^ z4s9q3`~;+mE(1vehk-On`!*8%n?chgod+ay$N-XgDUC%3#zQz7GR(WAV*cV=ixxoP@pCn$UC`PHx-%)0n!lq z0EyqZDfCYgxi%LPXQNh9ZFFM)h}ejzXh)=zcX-)MR8U7Y-~uFp9VPv}Dg-^*Qt({? zO@bx15*_&jGzl!cqs=)!c7*=T$e0b)kR}WjRc|efPWKrNFY_G0ja>EjzXYkKLna^@*##g1E z7{Xbgspr*z)RDwUPGkNfLK-L`3ry@U1Zs?eC6Rusub`(yi3VN(i9Z|Zq_GeBh@L1Y zPYs6+P?V~``zTL*7l37eN5D^le>qT0^Fu&qn*Y1O;D(H1K&o&n7)jCyAoa)#=~Qvo z!J?sgGQU8Kn6BOsfExM)v!5E63;xQ$$oP?ow6u=^O&aVBtOOh*%a0fl6NUB_r4bU` zk>LZR=~oU&W1|2`kRQ+hsq7MvhN@74XyAueYPS44W_VZ!5m3M4*%G*0CX^cM9_ z08K-ia|qI?0b>Y8pdz^E^iDt$s5y|PX9Xaw_6m@CatjqwPfh}<=Zk>U<6Z9vzS^Lv z15qPI2h6>M4LFPv^FJ|Z_|Oq?ijvYB{dWUnFBGTK3IJ;W@1r19^f8d=H9+D| z1y%=c87+pU2WY;?NGt=S4qQkT9eUnV*wPIk)qfI5L!H?(O*HTU&;<$0fYiV)6r>*h znl1|52a++)LOK~&yv%P4q=q~t&13_Y6v6)~kUU-Di2lPP5~G!t6NH8mVunW~VFMAD zmI4kOwI&M2q(RX`V+JHE#U? zN>8Bi#nBJxh3g=pgJdu&7#x!nLkz~|F)9}G3Wr5MT+}Vid$ADXDUd88VrX()L{k4j z5yJ;^u6n4A6#OYD8YpAyns>{Zh5Qo8kBuIXG$=lPNX_NKG)n->ApP|+LEi%s{kfpi z(m#|5TY*%;LXnX^0Z95t0FvUjpaIfXTtq_M_{hP^d#gnMS4zR=tQLB9SR*X06OaUd zBGaFNruzG?73Des3)6r_Cq|BliH%Z@uNM{U1d@bHBu;tf>GLQ8%#b)#VlN;`+)`qo#Oe}L(K8Yt4oE%yI~_^;uk{21 z{Ed#J@g6?jCVCnb9XW!`E-n#2ILNTc=&J4!V+wc39eW!f*}{&!Vg;EGq{%u4NJ~`| zkQ{SsiGDzu+-|@!K(oY7gLdtAvM*L{+Cj%I{Yyp6|1PHX#kOH*uP-eyR(I{W*Jsy9 z74NAIEv{VZczfaCaD8K?+3Gbt$lan9E}*BlhpO%LEO(2#K+neSmwHfTi{@yjr&JC# zdDtsTYdy7cuxTV>ZF%e{VofQgl`p8LR0&nP=~-1Qrl|!Lr4uEqH}s&Y7E_pmqIA<= zRc>g9$Ur@$YOsm?fT*oCVm*1<2E^L)dVfZ&FHh?Ne<0G^KMDW;P#DtvhBi4axHkXAsk1%qi5rHv>sH; zqGsvI_p}G_>TW$5zfbk7dKPm#7>%_f zrWv68c&U%|WG{=!2`1KTIQgVe4H5)jiMwgpKiQP~ki) zqi>*ttCbHm&H!br;|{1+)*9NS4o%+#M8I5;&^{m>DSIgk7QBZBR`>nTXOn zE9v`FL)Afgc7R2NCIc?e?6;#MIEAN<9C}L6l^i| zsj4VJdPs1vdPvU-wwPN~QQ6k9Gh%H1+lzoO+ch1+go)O!C7`z2)(O|Nee28^N4ATpuZq<|DvY4i$W1aQX zw}MT#5$nrijeMzAN?V4Q$o&zqo;{0K+0%%1=X}*M@*2Tn5-6H=Fc=KcT0N+_#r#C3@d;~g z07GpL4wVedlnJUSpVq};{#|%F`LTg|atn+4zMj>>VlD^^B#ThFt#=Jkl)(m{`8KFN zR>}hZ(a*|x7*r&u$ds$V2+8sx1?Is(P}bH=2SH(32nseAhyQ46Z3BZK(#jV zOm)H_6)*D+VpK-c)p`Nu!i|L+L;nH;)FeH*jm3NxX;350$a(>q{agBrHlb>BJ*ch4 zG~+FZr62STHlIVRIjn7+kWHq%2o1*@KV7U*~38N>90or29r5R(e77vMYvQJU=~mE1?7KBsdH z=hAJ2QRJW77r9iHN@5+b9=xo1Cvr(&CG;?#0IWXAT`Z=$7{OkA9Ht;fy5S~lx(uo* zrJLN~v%B!v2*d{S*iFRx@K^|nwB@mBi1nkG`2k|WaLIf6VX1(@z#ZK~tO4h(3?W6S z1S4kt5HX1?5=+ zOz(nf%o{t37#GY`tutl@Pn(1oH$T&-h_&Y}xnN?D*xc!xkAM<0B_l1+4lAM1K>}i( zcojzwgQcRsWx5$tJHt0n59(tv?M6x{&-)QE>)4t@yJO#FZDKPhS}?>aQ>2G%!yJj2 zO@CX7(nGp8v_ph9sCLkk`(ee15XHG6nm2%IfXYDmV7&uHgNa=L=B9U~7r0p@9- zWFDv=LD4K0d5!v8>qNN~pvas=-Vp07V&OrA~tql2M&51BD{tZLsnW1VxI(iig&pgX(3aI-m+6 zHM|adadx!DTqQ=xz*k6f94Mgys`(%&Av@$Vl^jf#@oI2G2SlWxU^)uQR;2V0;UL9= zI|5W&{S|!HO~iy)P?0GhmKLH{(ZSebWDT;I&w<7mLTFN;N1Ray@lFF3PQ2#(hK=_4c_E?VeV}a86^^$`2T#@$6wPzNxeSz42lDD9C^fxl z22?L<%M?9KQ3miU^-E6ql^fJpzTIQp$cwV$p)knC2gY3gn!sM}X-Cs22LG*kJW7Jt*E{T0VkKC_tNj zL#&;i+AkOzq3n2z`S?3xErAdB4YV6cdxKZ;!PskNC0I~j1l`3vHo2CU-hgciz$9Atr67ZUc|yFW-gc}gcbU2 z1Bx`tDbp9Ay6OiLg3X@k!nQ>EWKa>jo>Cc94|OLRF zo)$7P*xcYO?(x6gD(SqZP6MsZG73XOFU|ee|GYi#ctMf*g!iFO=#bRQ?TqY7IWdL zqFJmUg96NLKv6*lI)l)PPouL0bC+qtzU}!2YN@37iG=A(P~ya@!Soz6$vhhr_056L z^v@&(t3*$W%rF`uci0pZ%^sYlfEp($-j?Y@P>uAEz+iKcnW8?kuEO251Vv60Cry}D zGi4siU=ch8syXuDV*&#mW{G0L^A3_!L9UiFpnSlHiHfr&b+$o~Yw`uvl;;sO5flxL za9bxpk>WvNpp-eHGh)~pfNF_62-YP)J*{WGYf*6)_pZe}ajxNisnl6eR6pM&X)==6B|aNy>L8=6#?@Bwm3z8x$7fbbDPL5Mb&v zUk8L4JL(}doBnpb_s5O3WL|W1vV5QT0_&)DZgR9iUZO zq&JuvY7So{3fS|pnFY!dEa)tBcMudA47?SVhip)R`m4}jvt_a2GNF6(NJ(LVf>~vP zq9%DGX1gU~EQA|w3n~zKaJ;B}A}DGL9t&2n8&nvlU}&aips=a&2sZmJHT01&3L9ro zQq38G4l)b&jOuQJYRxN0@6-T2d8WnGa5?vEGlNYt5W~qEVt1@*zAKEh$%w%NBKNX2 z&2y!qwBc!^5fizm5W^Y(K9^PeL~UlUc_?DkVWLB zvymHVjcu{UenJfA9H=>XixC@Vjh(c{oVLQ2IbUaMY_TD2MPLGW9zN4ht^pAUDR=sG}#*a&>AbSn{r<*YlzjN z!E%cONFQ_>ZlGO&`4Ff&px{7p9{6Cl{$fR_=Cwy}urky(KT;mi`#=rd5k;KYR? ztd6Jm;$nl9s=g2QZly+p3b#_HK((_{F7M~027_v2&D#g6l|gA*mY%Y@K@dbGaru!G zRiyYL5Mti)gRl%jOQQ6UU1jyEYuf7{>~c^Q{opP)ed!v9G~(}wK-dX^j-050?t(zr z4T1R3QGVn^O79`lb7BFc^+urlJ`(!^=>V4J8T~lPch0<_NYJJAZM)0rAMAE`L#UKS zVvUxib0Rf6R;K5NBu<*l&xurD27(D;B0?zy_*s7BgMlf**vGj`_~hG0FMyCL}4|Lm)N6&J{a^ zEIMbPhW8^-#z6$C_>jcIK+69Zfeu2VKaqF@Nc_hTiXnWCV5g_9FUz}i1r%{#m3U3! zbs!!8Llg!;4Ukw55U9UDAkgu@N3`#Ph6HTX=X|02_00J$Ti2*qFG zhbnjtGy@BwG|`2q7Kv05J@MuYtO=y7+7ju>I2s~fAlXo`Ob?Oi^Z+g$gk+pufnkLa ziA01Jt5LwBKzhcs1dsu#q7^{=DXZ|)0C*Khg53bB`oYa*`C9NbQAqs;NTnW0`UfC! z{|F@Uf0pzMng0@qKjjsEC|?6J@tg2N_1Oa{-$AAq29jkt%Jkv|phaRRi3I9@c_0l~ zCCN}(rq=@EPpKo*JtcYpsbN2f4S>{eu%sIS=^&)^Fo}(UG)}Dw2rq_+XrQgca3BfR zQPN$2BzX^sePn(=AXOXz#Geu+aUhWRhe&!Tkm^g2bfTn3q{+xgAXPL<(kVdvDXI7& zw=+qmPXSVoX9B5#xe^xuNpnkqG=yt`Wa94usoq^cs^_4jKLpZ|MiDA_1V|O11XA89 z{7?gDC4E8SC7FH&NDbYQ>0itA`#>7X$G{@MUx8GwippvNYe@_TA}dYlga{Sr2_#8- zN$f4t>6v>Ha4@hsa5j)CoDZZ1Rsm@&Hv{pfY{w7r?*>wR^ejJ3kxzlt&Uqjm0x|v+ zfh5XBAQiYI@e9eAACdsqkWXWJL-OTBs^_Mx=a$STB>p>+CbTE}yN3t~@Bl~!zn2Vz zlurMyKu1m_zQ;2EDUj%&Bp)G_`&rWYAqkR=d~W{~p#r}GsiIf1AR*DOC7mBqITh-l z3JZ{0{s4*3Ugqb(LcD>3$WZlVhs36)kYppIYKs7=xFe7xDJk=FBJq`$>4e1R3?%W( z%k+N((|7?FSs*8ptyhuhgj8`=iPdB}Aqi4L(m9b#Fhu5CfKjf2TZkFcBRn zOVeSh?8*Nf#Q6Uw4b#v~lN}%=db*?uiJk!@W2S$Gq9Yd$%A4>8nhMj&bj}lMBaIsR z=fs+{!B4cwd*ydRP5G2g>f)X_50YhOAka`vMEK{#`kxbPm;oLCyAx~};y)+WG$a2x zvHs`8`kxbPzWDreV*SsF^*<-p|D0I=b7IXmU%5`q|2eTHo#c1o{m+RtX@;L*S2ZGU z!d=dvBrR@Kz0}%yqgeRI8{(gy*#59%d~J_9mbK@1OwPFFQntvWi$!KvNdMQu)muG$ zM<4lRYm3_xGk3;C%+WPshUc25hqS2&#c^V!>u3(RBNA8Rbd*iU%G*EBy*1dM`)gM~pe#qMok2P&^ad_g86Y!$&d zmQ8S;g+~G|uuTM?Gqpe9BI{0YiR~o#f|;WLU$O{-%PfoF3M(EBxXNM(uCc=e*O~JG zzzsHx;3hjsaErMQ1l(rH1b5gug0EPuL4dm~gWzj+ncy4d9Rv85O(D3)ZWG*RL4yI` zu{i_}*nNWUS=bQ3L$-+E5qm=L18Wfrc+6H2JYm@cKeF&Rz*Dw~;3uXI1w3Qj37)f^ z1V1x#Jm41=L6FU|2wt$_34oU@hTvCrnBWz29tP!)8V=>B4ukT4V<(ZIDH^LhTv4oW+e-Y1X(|2>z{@h_Q_G>bUR#(y)f-WM@nEvss!7qQSK>K$Hn zKc>c-JeEOvs=6Q-NnOcSEmSvXU#;B-zHfvw8ZA;CWJ+ZSR*Gsa6d4mA7Y*5u?%6kV znfj_fL${6;+GrAke!_u`P&Es`M)mqPagZr|$j4D!P|QhFDY}qN$05l>7r|V4ilTfZ z(`fCiDANujjmpu*E^?Q2kn6!8zoCPhKjIqM5t&GLb3El$Ogd8~M!K?DPo^D10#!(N zhkRt(3CTyo1Q%6mv8 zNpHwRx+d5iX(Yr=nN}L{N{Ex7w`3Y!rmrs3Zp$=W@m6Zev^z2llSJ{5X{R;?io-ozeO4~N@G3@gHJtrCHX2KPWM3RW;QJ`_~Uj! zY1Et+1qC4P=!wt@!3m)pLV1LW2yO_= zAq_nPG67*C!X$*r2vZRXsj!VtpovI?D1>N)0SE)x#e$k!wFE?mA#6j~j*y9vfiNDS zA3|@09?aQ6>sY8cqAd`76gJU8Yw9x|U7Ub05n&R-WP~XQv_qwt*BN0w_~~w?9fHZk z9yw@b(#~QO=}mAhNOMJ~h~SP;8DRQdV3%gM4Fw z@Bs0L2#*jxK%mDr>Hhc&gqH|(*B(wKO}UE*d6I7s$a~Q3{U7cI z8Nx#Zx>HYg?JpyL1{(8)fKz})5NPq}kMwZ}6_AdFTv>rYH;w7eH~D??^OeBou13Kw z5vhVu6`>jeId^jAwGe6}kP|1TO+I=IDoRBl-%NL($sd!uq>zF9P6%xf8X|-s_#l*3 z+0Y_d<32;cABzx&FccvkApwEPj*#Jd)O`_wXnJgcTqixwK#w+%$0QF)H02R?D-Qd_ zv9$*GkhGKtw~b`-{g*&feMi)N)r)H7OTSGU0eal)7!r2^X%V`MKsJ38f!6h72=oZp zDFj;6KSiK*oNS-wz%3S2S!-9E)*veWD*`>Z^@5$OtabFKWr&st5{#TXd42NZ^eh*x z3bb0-A<#;4s|J3EJ&X0IqE$zy6_!>-b1RFzOuF&@3J0~1m#3Gf58kW6mQ>N4UB-hA zt8{w#($$J*ROxsM4BmmBzMj6yY<30=zAM3ir9HjMxgBv+y9|uvHTcx`^yXHIbvE62 za|RVf-M$J_t7?8Oc*>NP*YwG^x*uONa~;*}>j?(vfQ47poN=-<1mHsR2Roni71h$~ zcua_<2K+qzi0>&|0R}%4lz=rny+99N56?mUx@y!8uZYYJt9kmO_tV>d>U-!XTaG__ zNOiXc1D5slkTPFQFIT#z6Bv9@6suhfbFT&&(pfOTg&rfsej?pIsoR`3buQkrRg}r% z!Qe+jjg3iqvx0H8BOAD#lMJYc92#{qbN;htts;+qh8!OapDBD1($?Ph@1m;)+-8Ei*S>iyNIq=$6lDWR8 z4@OQ|%-*V@4OG{$EyTASm5_0){;qN-{qDvZyw`ka_OqKcG+&paU@(KBSJw2z3*`!y z0D})If?7Ufb!(!*DJ-I<)<$j2GC{c*uPEJgpx<|E#tnGKPKCMnde(=NWv^;tIFi`` z55Pj^T??>>wIVpj;wbS4mIlhzcyH>(_Xf@WaLN5pJC%$M293=HtK^}TQ(LjqV00lD zfo)s*qsf!6IW!wK&em8OQ){Eb`OF32vPJS`oY87@d{;}g@f~9Az~Fxw4A_9CySijg z``Xv>l8xaBa%cc=9WMQP{Fj67+H$bBT3%Z#=W4t)w$(_rW%$!;PBxCh1=;!9nvaxL zlft|FarZ?34Q)u>NKFa7xfri-jT}}rq)}nVKt3E~ipmN019a$TyzBK`x6Nl;{Iue0 zKA><2*jT_I$tDYy>RW2`{l=NdfmTVc2`r=z)b#tJV`&y*>>jgWV89vfApl!jM=LMm zF2);T?`@pwcN~f8%Hd@zQ#JK5Mu%pB@s`#M z?~6&LJoIib8d0i;79(A$Y#Y^fj2-vHw7A7y67`sst_NxzJLm%{j`b(131js% z549fqq@LyuO{yz2XRScF1zuV?&CZ#X_tI*IdD+&&GJF<#g#4^ zBCSFRw$fWG=a;X(d4>7vj^}J;4>7zh#(ROk7*}Se`9d8#u0qbhM}kxs3~jmOt7^^{ z$>M$BbEH-uvoCzOjtl#u)E+E`Fv0Xgb(UNS?p&@Vp8(wR9c30@@SSB5o3%1*imz6| z#dtMu=YHS+_F{I#b1;LIrqc{|7`5RV-svsqb+t#lUm0KUD__pf zSDX3lt@>P~IrUMj3)=#4SzVc*ji(2@HSd!$w`D6S3#QyXb`uPmT~+p?zScx5R+TmK z)5@8{s*2T&u?Rm@vyF}RgQ0}6uojvt`>nQS(u!7Nt^KufE;Xw0v&8gQ3wNFWWYyGH zn(E^j;2DTH!q_W6t&PEm>vGZlny*2!GX9vn_tyjae_o zO~r00!H5oo+Md8E=bVf^K2Cua6$6`K_v4C z#-PA&KMuqyGnDlOS<-m9@uXr0$GwaY&qg(M;n9jrsJ3t_r4yj&MdX%_^|6# zxAAJ^VGrvqO?h5>r;TA4D-J#U1?@}=*1mB0BtUE&4isHdtLuq7Z!%3I!-eslK&=7B5tOs7>*-kLPg?>tW55Y(4R^|3(e|q(y*2h-SOZFQW z{LQd>VtDeb&gO}BtFoygl)+IJIgZFVcxq2mheb_$+KN^WWNkw*jUHoThrjfmI~=-2 z$Bd6HMLSR0`YQe`BLqUUWJ>@peNj_s@Hw^V%bs*t9&D>AiJbw1-xM&E1A}Q`%ON)l zd)y`==;Rfrn=+?`qcXRB^_{~ghp*U57ON17CeE{fP|epr?=HENS}90u&it_frA@F? zcIKF(-?XSg6BH{V>UM9yR))ea{eG38Jw7e_Q`r*>+Q?*A8v({Myw=Vc6F;n(=22xK z{x_p6>ivCbBWEf**F-DN)NrjN>+_aoj|zr0#op7F&uh<v2b=f5+Eh$#m@CX zEh`(LmZ8kOyH>KG&_V_~Ox!|37vm+!Uu<&w>R|mXFGOFlMNl>~$1w06W^>wVB^^Xr z(f@L^afn9c31O)GSq^c3VslVNa|&Tw!!X*$8<^E+!wXLOrO{PUIR;z#>x$tWKg=Q; zL#90amp#ruRrEcN{5fTob*^9;UAd0PivAbky-7;VP;5Se{dHOL*ic_~xQBK0|9Wlt zS=_(Xm%rN75jLwC2KOratp#?yA2-9o`IuctlBd#GxUP_i?N01m*t#2E*S%>go%dwB zlp0o*&1{!rX>Y;aZm#*3%FF1ac5R%SF_Ud;j^;mN$D30MuOZO$sU#`zj=qf9j1 zf^kzWe&HF%v6EXfCv_4o`_k#~_i)Ly9@Nd;>>l25vc-umY19vb3FN&P;H1`QDco${ zQ+~=}XIpEPu#tVz8jDPR45H{sR;>*j_I1=m7gCH@)Thl#|FUAho<($m#4kuF_t}Ov z7(xl$*EkE0=&ZtlwiV8>Vl=il+#$m^wq^<4;T!XFynJV?aF6RuF5y;Bl*?pk?J+Li z>?Ue+FtoykK|QY2~dl<(}F`jep#h?89Fz#=W7{-5bqFKW~uSe`BHR zVOuVZtUR2uIzE5$uFXb~KkkF5tdPNI4A0-JEsYK92<6Ua(+H$w(qfFNbM{O$<6?Z1 z;DevnWhYXLxn2V+C z{XMaNy310#aBb|&0r`uTYpPl8GN;D)g8tVvk+X{bQcvZ^ESf#+hTaK3AogU=Y6e@? z7l~qm{2R_en20)p9qbO@Vpz&d_5`HZmRYTdZ^lZp9ep%=KjRY<^`^f4SwQC*<85~H z#||ZjCTK^;otPX9;f(&WmF1a_c}Ot{tbNMS{9kS;|M~Pcy-*%8kFd1f(Di?Lo07|( z^DZ4ZM$#DL|H^7&oH9rw{HrrKKbZ~lUcjdH%VD5@(_mx^(!6txsxbu&%lz-@$i?`4 z%13tUv0Ebsd}*63(t>iDrkvdWnF`;~L1W)wO!b^?|7TjwrB3S%|3f|g%^k~sXk&l6 zBT8&pOVA4Ak8HhT;M*T?Uy|ebtyL%ft6Osm*(eU7qn>kdNP6IA?v$<##mI zkFJj3bTE@09*8M_l4VQ-++a%xo-@ZmuyAuPwsjURB$w&M&Q8O2Er9h#vWxMxldaxu z(~f`n?O09q_4N0l^Mh122Mp>Oc5@c^jIX9VA6UyNrDw{DE1?-iJZ}wZXGpYbz@LrFIIOpAcaK`wTO)-IKbS~0Vi1|QMcHN>8Mia z!*k434CusK0bGpl%$#r0b4Ag*Qy*a8?u&gp&W@L}G~)Y! z9bN)Hx})I?Ssd92Y;oU>kKhbAF@B?A|7h)F6+3T>5A ziYH2{6PX89E}9gT%Sw$j*}m+w>y#*Q3-_u0FnzW|1l@3y!y{#~HuQp}CgA$CA*xW? zo6B=GashpDx|;zt8pVxT4O)(fl{~~U--SlMWbTV|7b2ZmxrD)K1!7o{B~Y*&RZ%wQ za8e<|9;5}xF-LDmNI6!vnx(nO8f{|aG>rR9ouK);8lQ?fUU&cP4>OLf%vXcC#Lg|J z6hWFBD?b54EjSD%sh_Z$cLrW8Y7 zt{iDihT09W42v@8yoUAz8E0n;dr-*6A$3fVG=tX0;Gu1Y}uGWuP?cH@^_@ud= zY*XB@I)63{lfv4fFn8uO2EtEZVUwYx18kL!`zA&KPVxzHVhoHRk-Z$lFO}3w&0)*A z#V{--x95<$$*W807Nkn^Xv%P#w&5fVu;pnGS9nyC69d;e2gyxLcoa4?T`T_vk1f5j z9PM3f4y?r5bKyU7j47{JXiT~)JlTyoZFLvM8f1ta#fndXMx{TOR-3!Ayy~!8D))rB zJ)m?)xvP^C{mr#X?K+HNt;bt+^~OnJbU`jya`0?ML93ZnQ@PZbC-u!_4()Q=7UrpL zVbfrxh79=*gfV$?o2^kKUwKtI9=QgB^8(M0*|85UO_W<1plvW1*Bidt(kvRG8P{BIg8U_Gr7FCi}B6Ar-}C$ zWJceghlN1yp_j2A^0LzwGGv}`W8LP78@nJ~eoYs*_M+y7XxCo##v?V@I^*dQFGbqb zzhT;Wb|5asM+NJ@bH2{ZgW63?+2K(+lqrQWt=M&H)%aNF zt5|hMLggk`P!tb7&_L{G#nCFxO+5gv#z#57kLuC+dc%*J@Fw_xRhiEEt-;W9{xTI| z7=QeDVk@?d>f}8xWzVfhbPmnDq-Kn7es(|R-{HHK+25lXdOQ*0l$*}H*79aZ8Lq~+ zKiiLu{ovZpU0cD3$83nvZ5A857E8f;wsS4+6(+Oa)}o)|=Ll8Zetmj-&H6$I{3yp-Ln%{p)zUjgmcqJQDaQ#zAI7tmJr_nU0k4fcSrP@+ClBI zWR19InZVAh!z9?u3arO7b;id)SNmRSyJB5-faJq%Vm^V4yP5LQKTO>V>+xi6I~KeF zb?_UWq$zalD>h|=wg>avvJpD;X5BY}p#z(-5$7Id+}O2^xE^DC+B0hU-YzlMmOnyc zbYBytg%cpg+MBd{hSQLaf_oCHzu@k`>IZ~hd4u;5HB0aD27e)3m-H*D^d4ik;GE=7 z9>6PQ&u>ABr||OejlQ0v;4ew<>Q-oG0&@Yl7#|nyo$>X>>ycX)i$|GohgaFk+JV8( z_!?=8nMI3*ULI23#vngfnqI@c*W@e94qdb5++)j7)Zh5RsYBzEF(cPU@aNeA=tkO0#o4Q)e`@YRro*G~F6F0#@Gr;(oYOxKc z)`hd{k;w58Puf0VaoaH0jL)o=F4m$)|3P0g07HH8P+O-pZ1pzH$MxA7@c`8Vr}Qx2 z-rL{im1B?Pt#n$;9;11G<5R46zu#Z}qe`#n!Fn%GEF}2Xk#(YMOjg5<_3h)np+~3j z*piQz61a|qZb#XclH>5#b2gSN+w5l>M=zP<-}={?2h5hw)+CElp#3 z54Y671Am5ccdlo3c3_=7zMeJRp*5+RiT`$^8}G*VS#R7pv}}vd!605D$kW>g1I4zZ zgun4^+HV&m{kY2V9FI71Qv*l71I5esTE~7xS=XU*IJ_D!?z_+4QL~lJSjW6}qV{=` zW3t`WL4Aui7-i$gcc6If``59tDC_r`9FB4?UU+x-mw&XaY`z1<%kqIL#cuA@Os>Y~ zd~27e>8norYL%^g#q|r`gK$1_81>-qs|=p8c(RQl-{Ip8^jOc@Qd#4h!W}}-dbn07 zzQI;D-{IqBm#k+?QP$P?PH}9%)xTYulZDNLp>ho0+4nRbf8(>c=J?Vh3q7;ameYDKi$z)2sJ-H}=$!wq#)m%pv5$>o%wDz<9HGVsd-pGnF4t_{ zVE%BhsNMLaZ|7N!#%*tT2md{9wA(%lLgSddpFQ8DHHIj8|CQw&o{XmnRdN2!BHJV0 zulY4-C(v6bEgUs&@VS@ISj=t>pRHw^c580#-(vS%2)XRFZ{ye(#B7JE1P^XM8=A2Br*% ziA{>Q9v#*b^TbS!&((*8y{6>Ere|KyjEqOscV6nCE3qa3b^Kx Whpl>Fb2njE;pwxl*5CqF?fws)wq1(= delta 34636 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�AOBeK>gUM)a< z?|QmJ!1$5VsJH(#7xgIlyCbE^8a87)6zd`Le*U}7V_ZgO-61h#4ciZiph=LRhrK$4 zpY$$U&gDag#A2CJxOAi2%Quev%#pHb4J)z(rGF|V;`^<7es*pq9u+jY`{EkbV29So zd}zH`(4E-q9cYU2W2teO_14zOpYQ|E5bERSue@~RcuJoP_8lq<8j5}@4n>1n9ov~c zZ~GWW-j|LX&$}Rl)!Ye1*UIsk=CnSxuS?z0j=Xy_SU*Sv8NUPjd4YDU$*qKg4vCkJ z954O%47QQ-7L=WQangV$eha@n;K=*Zq2qb|*RVfHvnDdHZn^6j=VkAFyCD$ zeF!9Ion7wkyXWiM(LEdzFC98w`rCo{M4BfF^ zc&<5Q`@-E&@aT47A2+iD2H)_?hiT!5!)SW=>&kZ41`$QF8ppIGUTFn$cy zT5Fy2pl{3HccfI>!In|!#?QxQt#4*6+cgCLU}2Qrc?UZQiAqCvh^H|+&#pglV~g+U zp?q0?$aWlf;4^v$dn;3G;1>m!{7Lb>spgPN>%UrqN9AeCm0xh>t&Nept7U>G2flvl zqR|rvoqBSVrDbYX{PX{TOwGe{FE*qFk;G5avUuMAmfFkIJrJ8cSsb!l>^wH3 z>&F$`mVl>9(@J+P^1Ni7?>=A=5UcwyOUqN++8v@TI}+HEJ=#Q8cdzERD`l^CawY5g VtLD7RrFXsxC3a02ny-S>{{Zd|oOu8M diff --git a/next-sitemap.config.js b/next-sitemap.config.js index 3a6914b..218af13 100644 --- a/next-sitemap.config.js +++ b/next-sitemap.config.js @@ -1,8 +1,6 @@ -import { env } from '@/env'; - /** @type {import('next-sitemap').IConfig} */ const config = { - siteUrl: env.NEXT_PUBLIC_SITE_URL, + siteUrl: process.env.NEXT_PUBLIC_SITE_URL ?? '', generateRobotsTxt: true, generateIndexSitemap: false, }; From 48dd88a2408c0cda43d9a124c71e94436a366015 Mon Sep 17 00:00:00 2001 From: Michael Brusegard <56915010+michaelbrusegard@users.noreply.github.com> Date: Fri, 20 Sep 2024 07:55:58 +0200 Subject: [PATCH 5/5] chore: add rest of env vars --- .env.example | 4 ++-- Dockerfile | 20 ++++++++++++++++++++ docker-compose.yml | 14 ++++++++++++-- next.config.js | 5 ++++- src/server/s3/index.ts | 2 +- 5 files changed, 39 insertions(+), 6 deletions(-) diff --git a/.env.example b/.env.example index 4dd169b..1ec2c58 100644 --- a/.env.example +++ b/.env.example @@ -29,8 +29,8 @@ STORAGE_PASSWORD="password" STORAGE_NAME="images" # Auth -FEIDE_CLIENT_ID= -FEIDE_CLIENT_SECRET= +FEIDE_CLIENT_ID=" " +FEIDE_CLIENT_SECRET=" " FEIDE_AUTHORIZATION_ENDPOINT="https://auth.dataporten.no/oauth/authorization" FEIDE_TOKEN_ENDPOINT="https://auth.dataporten.no/oauth/token" FEIDE_USERINFO_ENDPOINT="https://auth.dataporten.no/openid/userinfo" diff --git a/Dockerfile b/Dockerfile index 1a3bdd7..bcd4f37 100644 --- a/Dockerfile +++ b/Dockerfile @@ -28,6 +28,16 @@ ARG DATABASE_PASSWORD ARG DATABASE_HOST ARG DATABASE_PORT ARG DATABASE_NAME +ARG STORAGE_HOST +ARG STORAGE_PORT +ARG STORAGE_USER +ARG STORAGE_PASSWORD +ARG STORAGE_NAME +ARG FEIDE_CLIENT_ID +ARG FEIDE_CLIENT_SECRET +ARG FEIDE_AUTHORIZATION_ENDPOINT +ARG FEIDE_TOKEN_ENDPOINT +ARG FEIDE_USERINFO_ENDPOINT ENV NEXT_PUBLIC_SITE_URL=$NEXT_PUBLIC_SITE_URL ENV DATABASE_USER=$DATABASE_USER @@ -35,6 +45,16 @@ ENV DATABASE_PASSWORD=$DATABASE_PASSWORD ENV DATABASE_HOST=$DATABASE_HOST ENV DATABASE_PORT=$DATABASE_PORT ENV DATABASE_NAME=$DATABASE_NAME +ENV STORAGE_HOST=$STORAGE_HOST +ENV STORAGE_PORT=$STORAGE_PORT +ENV STORAGE_USER=$STORAGE_USER +ENV STORAGE_PASSWORD=$STORAGE_PASSWORD +ENV STORAGE_NAME=$STORAGE_NAME +ENV FEIDE_CLIENT_ID=$FEIDE_CLIENT_ID +ENV FEIDE_CLIENT_SECRET=$FEIDE_CLIENT_SECRET +ENV FEIDE_AUTHORIZATION_ENDPOINT=$FEIDE_AUTHORIZATION_ENDPOINT +ENV FEIDE_TOKEN_ENDPOINT=$FEIDE_TOKEN_ENDPOINT +ENV FEIDE_USERINFO_ENDPOINT=$FEIDE_USERINFO_ENDPOINT # Build the application RUN bunx next build diff --git a/docker-compose.yml b/docker-compose.yml index c7fde7c..dae14ff 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -7,11 +7,21 @@ services: dockerfile: Dockerfile args: - NEXT_PUBLIC_SITE_URL - - DATABASE_USER - - DATABASE_PASSWORD - DATABASE_HOST - DATABASE_PORT + - DATABASE_USER + - DATABASE_PASSWORD - DATABASE_NAME + - STORAGE_HOST + - STORAGE_PORT + - STORAGE_USER + - STORAGE_PASSWORD + - STORAGE_NAME + - FEIDE_CLIENT_ID + - FEIDE_CLIENT_SECRET + - FEIDE_AUTHORIZATION_ENDPOINT + - FEIDE_TOKEN_ENDPOINT + - FEIDE_USERINFO_ENDPOINT ports: - "3000:3000" db: diff --git a/next.config.js b/next.config.js index 26cdcc5..69a418a 100644 --- a/next.config.js +++ b/next.config.js @@ -8,6 +8,9 @@ await import('./src/env.js'); const withNextIntl = nextIntl('./src/lib/locale/i18n.ts'); /** @type {import("next").NextConfig} */ -const config = {}; +const config = { + reactStrictMode: true, + output: 'standalone', +}; export default withNextIntl(config); diff --git a/src/server/s3/index.ts b/src/server/s3/index.ts index de41152..57ff742 100644 --- a/src/server/s3/index.ts +++ b/src/server/s3/index.ts @@ -27,6 +27,6 @@ const s3 = if (env.NODE_ENV !== 'production') globalForS3.s3 = s3; const buckets = env.STORAGE_NAME.split(','); -const imageBucket = buckets[0] as string; +const imageBucket = buckets[0]; export { s3, endpoint, imageBucket, PutObjectCommand, DeleteObjectCommand };