mirror of
https://github.com/makeplane/plane
synced 2024-06-14 14:31:34 +00:00
Dockerrizing space project (#1921)
* chore: Added Dockerfile for Space Project * fix: next js config to standalone mode * fix: workedaround build error with rename 404 page * chore: modified dockerfile with new conventions * chore: modified dockercompose file for new plane-deploy * fix: handled ts errors with possibly undefined states * chore: updated main dockerfile with plane-deploy * feat: included space project to start.sh * chore: modified space project port while running in production * chore: restored changes inside space project * chore: added ngnix config for space project running :4000 * fix: Updated docker-compose files * chore: added space url for ngnix config * chore: Updated ngnix template * chore: updated space url in compose hub file * dev: updated dockerfile.space and start and replace script * dev: equate hub and build docker files * dev: revert workspace space page --------- Co-authored-by: NarayanBavisetti <narayan3119@gmail.com>
This commit is contained in:
parent
41e55dff85
commit
cfc7049343
13
Dockerfile
13
Dockerfile
@ -5,9 +5,11 @@ WORKDIR /app
|
|||||||
ENV NEXT_PUBLIC_API_BASE_URL=http://NEXT_PUBLIC_API_BASE_URL_PLACEHOLDER
|
ENV NEXT_PUBLIC_API_BASE_URL=http://NEXT_PUBLIC_API_BASE_URL_PLACEHOLDER
|
||||||
|
|
||||||
RUN yarn global add turbo
|
RUN yarn global add turbo
|
||||||
|
RUN apk add tree
|
||||||
COPY . .
|
COPY . .
|
||||||
|
|
||||||
RUN turbo prune --scope=app --docker
|
RUN turbo prune --scope=app --scope=plane-deploy --docker
|
||||||
|
CMD tree -I node_modules/
|
||||||
|
|
||||||
# Add lockfile and package.json's of isolated subworkspace
|
# Add lockfile and package.json's of isolated subworkspace
|
||||||
FROM node:18-alpine AS installer
|
FROM node:18-alpine AS installer
|
||||||
@ -21,14 +23,14 @@ COPY --from=builder /app/out/json/ .
|
|||||||
COPY --from=builder /app/out/yarn.lock ./yarn.lock
|
COPY --from=builder /app/out/yarn.lock ./yarn.lock
|
||||||
RUN yarn install
|
RUN yarn install
|
||||||
|
|
||||||
# Build the project
|
# # Build the project
|
||||||
COPY --from=builder /app/out/full/ .
|
COPY --from=builder /app/out/full/ .
|
||||||
COPY turbo.json turbo.json
|
COPY turbo.json turbo.json
|
||||||
COPY replace-env-vars.sh /usr/local/bin/
|
COPY replace-env-vars.sh /usr/local/bin/
|
||||||
USER root
|
USER root
|
||||||
RUN chmod +x /usr/local/bin/replace-env-vars.sh
|
RUN chmod +x /usr/local/bin/replace-env-vars.sh
|
||||||
|
|
||||||
RUN yarn turbo run build --filter=app
|
RUN yarn turbo run build
|
||||||
|
|
||||||
ENV NEXT_PUBLIC_API_BASE_URL=$NEXT_PUBLIC_API_BASE_URL \
|
ENV NEXT_PUBLIC_API_BASE_URL=$NEXT_PUBLIC_API_BASE_URL \
|
||||||
BUILT_NEXT_PUBLIC_API_BASE_URL=$NEXT_PUBLIC_API_BASE_URL
|
BUILT_NEXT_PUBLIC_API_BASE_URL=$NEXT_PUBLIC_API_BASE_URL
|
||||||
@ -96,11 +98,16 @@ RUN adduser --system --uid 1001 captain
|
|||||||
|
|
||||||
COPY --from=installer /app/apps/app/next.config.js .
|
COPY --from=installer /app/apps/app/next.config.js .
|
||||||
COPY --from=installer /app/apps/app/package.json .
|
COPY --from=installer /app/apps/app/package.json .
|
||||||
|
COPY --from=installer /app/apps/space/next.config.js .
|
||||||
|
COPY --from=installer /app/apps/space/package.json .
|
||||||
|
|
||||||
COPY --from=installer --chown=captain:plane /app/apps/app/.next/standalone ./
|
COPY --from=installer --chown=captain:plane /app/apps/app/.next/standalone ./
|
||||||
|
|
||||||
COPY --from=installer --chown=captain:plane /app/apps/app/.next/static ./apps/app/.next/static
|
COPY --from=installer --chown=captain:plane /app/apps/app/.next/static ./apps/app/.next/static
|
||||||
|
|
||||||
|
COPY --from=installer --chown=captain:plane /app/apps/space/.next/standalone ./
|
||||||
|
COPY --from=installer --chown=captain:plane /app/apps/space/.next ./apps/space/.next
|
||||||
|
|
||||||
ENV NEXT_TELEMETRY_DISABLED 1
|
ENV NEXT_TELEMETRY_DISABLED 1
|
||||||
|
|
||||||
# RUN rm /etc/nginx/conf.d/default.conf
|
# RUN rm /etc/nginx/conf.d/default.conf
|
||||||
|
@ -33,8 +33,8 @@ RUN yarn turbo run build --filter=app
|
|||||||
|
|
||||||
ENV NEXT_PUBLIC_API_BASE_URL=$NEXT_PUBLIC_API_BASE_URL \
|
ENV NEXT_PUBLIC_API_BASE_URL=$NEXT_PUBLIC_API_BASE_URL \
|
||||||
BUILT_NEXT_PUBLIC_API_BASE_URL=$NEXT_PUBLIC_API_BASE_URL
|
BUILT_NEXT_PUBLIC_API_BASE_URL=$NEXT_PUBLIC_API_BASE_URL
|
||||||
|
ENV NEXT_PUBLIC_DEPLOY_URL=${NEXT_PUBLIC_DEPLOY_URL}
|
||||||
RUN /usr/local/bin/replace-env-vars.sh http://NEXT_PUBLIC_WEBAPP_URL_PLACEHOLDER ${NEXT_PUBLIC_API_BASE_URL}
|
RUN /usr/local/bin/replace-env-vars.sh http://NEXT_PUBLIC_WEBAPP_URL_PLACEHOLDER ${NEXT_PUBLIC_API_BASE_URL} app
|
||||||
|
|
||||||
FROM node:18-alpine AS runner
|
FROM node:18-alpine AS runner
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
|
@ -15,36 +15,36 @@ export interface BubbleMenuItem {
|
|||||||
|
|
||||||
type EditorBubbleMenuProps = Omit<BubbleMenuProps, "children">;
|
type EditorBubbleMenuProps = Omit<BubbleMenuProps, "children">;
|
||||||
|
|
||||||
export const EditorBubbleMenu: FC<EditorBubbleMenuProps> = (props) => {
|
export const EditorBubbleMenu: FC<EditorBubbleMenuProps> = (props: any) => {
|
||||||
const items: BubbleMenuItem[] = [
|
const items: BubbleMenuItem[] = [
|
||||||
{
|
{
|
||||||
name: "bold",
|
name: "bold",
|
||||||
isActive: () => props.editor.isActive("bold"),
|
isActive: () => props.editor?.isActive("bold"),
|
||||||
command: () => props.editor.chain().focus().toggleBold().run(),
|
command: () => props.editor?.chain().focus().toggleBold().run(),
|
||||||
icon: BoldIcon,
|
icon: BoldIcon,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "italic",
|
name: "italic",
|
||||||
isActive: () => props.editor.isActive("italic"),
|
isActive: () => props.editor?.isActive("italic"),
|
||||||
command: () => props.editor.chain().focus().toggleItalic().run(),
|
command: () => props.editor?.chain().focus().toggleItalic().run(),
|
||||||
icon: ItalicIcon,
|
icon: ItalicIcon,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "underline",
|
name: "underline",
|
||||||
isActive: () => props.editor.isActive("underline"),
|
isActive: () => props.editor?.isActive("underline"),
|
||||||
command: () => props.editor.chain().focus().toggleUnderline().run(),
|
command: () => props.editor?.chain().focus().toggleUnderline().run(),
|
||||||
icon: UnderlineIcon,
|
icon: UnderlineIcon,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "strike",
|
name: "strike",
|
||||||
isActive: () => props.editor.isActive("strike"),
|
isActive: () => props.editor?.isActive("strike"),
|
||||||
command: () => props.editor.chain().focus().toggleStrike().run(),
|
command: () => props.editor?.chain().focus().toggleStrike().run(),
|
||||||
icon: StrikethroughIcon,
|
icon: StrikethroughIcon,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "code",
|
name: "code",
|
||||||
isActive: () => props.editor.isActive("code"),
|
isActive: () => props.editor?.isActive("code"),
|
||||||
command: () => props.editor.chain().focus().toggleCode().run(),
|
command: () => props.editor?.chain().focus().toggleCode().run(),
|
||||||
icon: CodeIcon,
|
icon: CodeIcon,
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
@ -78,7 +78,7 @@ export const EditorBubbleMenu: FC<EditorBubbleMenuProps> = (props) => {
|
|||||||
className="flex w-fit divide-x divide-custom-border-300 rounded border border-custom-border-300 bg-custom-background-100 shadow-xl"
|
className="flex w-fit divide-x divide-custom-border-300 rounded border border-custom-border-300 bg-custom-background-100 shadow-xl"
|
||||||
>
|
>
|
||||||
<NodeSelector
|
<NodeSelector
|
||||||
editor={props.editor}
|
editor={props.editor!}
|
||||||
isOpen={isNodeSelectorOpen}
|
isOpen={isNodeSelectorOpen}
|
||||||
setIsOpen={() => {
|
setIsOpen={() => {
|
||||||
setIsNodeSelectorOpen(!isNodeSelectorOpen);
|
setIsNodeSelectorOpen(!isNodeSelectorOpen);
|
||||||
@ -86,7 +86,7 @@ export const EditorBubbleMenu: FC<EditorBubbleMenuProps> = (props) => {
|
|||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
<LinkSelector
|
<LinkSelector
|
||||||
editor={props.editor}
|
editor={props.editor!!}
|
||||||
isOpen={isLinkSelectorOpen}
|
isOpen={isLinkSelectorOpen}
|
||||||
setIsOpen={() => {
|
setIsOpen={() => {
|
||||||
setIsLinkSelectorOpen(!isLinkSelectorOpen);
|
setIsLinkSelectorOpen(!isLinkSelectorOpen);
|
||||||
|
70
apps/space/Dockerfile.space
Normal file
70
apps/space/Dockerfile.space
Normal file
@ -0,0 +1,70 @@
|
|||||||
|
FROM node:18-alpine AS builder
|
||||||
|
RUN apk add --no-cache libc6-compat
|
||||||
|
# Set working directory
|
||||||
|
WORKDIR /app
|
||||||
|
ENV NEXT_PUBLIC_API_BASE_URL=http://NEXT_PUBLIC_API_BASE_URL_PLACEHOLDER
|
||||||
|
|
||||||
|
RUN yarn global add turbo
|
||||||
|
COPY . .
|
||||||
|
|
||||||
|
RUN turbo prune --scope=space --docker
|
||||||
|
|
||||||
|
# Add lockfile and package.json's of isolated subworkspace
|
||||||
|
FROM node:18-alpine AS installer
|
||||||
|
|
||||||
|
RUN apk add --no-cache libc6-compat
|
||||||
|
WORKDIR /app
|
||||||
|
ARG NEXT_PUBLIC_API_BASE_URL=http://localhost:8000
|
||||||
|
|
||||||
|
# First install the dependencies (as they change less often)
|
||||||
|
COPY .gitignore .gitignore
|
||||||
|
COPY --from=builder /app/out/json/ .
|
||||||
|
COPY --from=builder /app/out/yarn.lock ./yarn.lock
|
||||||
|
RUN yarn install --network-timeout 500000
|
||||||
|
|
||||||
|
# Build the project
|
||||||
|
COPY --from=builder /app/out/full/ .
|
||||||
|
COPY turbo.json turbo.json
|
||||||
|
COPY replace-env-vars.sh /usr/local/bin/
|
||||||
|
USER root
|
||||||
|
RUN chmod +x /usr/local/bin/replace-env-vars.sh
|
||||||
|
|
||||||
|
RUN yarn turbo run build --filter=space
|
||||||
|
|
||||||
|
ENV NEXT_PUBLIC_API_BASE_URL=$NEXT_PUBLIC_API_BASE_URL \
|
||||||
|
BUILT_NEXT_PUBLIC_API_BASE_URL=$NEXT_PUBLIC_API_BASE_URL
|
||||||
|
|
||||||
|
RUN /usr/local/bin/replace-env-vars.sh http://NEXT_PUBLIC_WEBAPP_URL_PLACEHOLDER ${NEXT_PUBLIC_API_BASE_URL} space
|
||||||
|
|
||||||
|
FROM node:18-alpine AS runner
|
||||||
|
WORKDIR /app
|
||||||
|
|
||||||
|
# Don't run production as root
|
||||||
|
RUN addgroup --system --gid 1001 plane
|
||||||
|
RUN adduser --system --uid 1001 captain
|
||||||
|
USER captain
|
||||||
|
|
||||||
|
COPY --from=installer /app/apps/space/next.config.js .
|
||||||
|
COPY --from=installer /app/apps/space/package.json .
|
||||||
|
|
||||||
|
# Automatically leverage output traces to reduce image size
|
||||||
|
# https://nextjs.org/docs/advanced-features/output-file-tracing
|
||||||
|
COPY --from=installer --chown=captain:plane /app/apps/space/.next/standalone ./
|
||||||
|
|
||||||
|
COPY --from=installer --chown=captain:plane /app/apps/space/.next ./apps/space/.next
|
||||||
|
|
||||||
|
ARG NEXT_PUBLIC_API_BASE_URL=http://localhost:8000
|
||||||
|
ENV NEXT_PUBLIC_API_BASE_URL=$NEXT_PUBLIC_API_BASE_URL \
|
||||||
|
BUILT_NEXT_PUBLIC_API_BASE_URL=$NEXT_PUBLIC_API_BASE_URL
|
||||||
|
|
||||||
|
USER root
|
||||||
|
COPY replace-env-vars.sh /usr/local/bin/
|
||||||
|
COPY start.sh /usr/local/bin/
|
||||||
|
RUN chmod +x /usr/local/bin/replace-env-vars.sh
|
||||||
|
RUN chmod +x /usr/local/bin/start.sh
|
||||||
|
|
||||||
|
USER captain
|
||||||
|
|
||||||
|
ENV NEXT_TELEMETRY_DISABLED 1
|
||||||
|
|
||||||
|
EXPOSE 3000
|
@ -1,9 +1,14 @@
|
|||||||
/** @type {import('next').NextConfig} */
|
/** @type {import('next').NextConfig} */
|
||||||
|
const path = require('path')
|
||||||
|
|
||||||
const nextConfig = {
|
const nextConfig = {
|
||||||
|
reactStrictMode: false,
|
||||||
|
swcMinify: true,
|
||||||
experimental: {
|
experimental: {
|
||||||
|
outputFileTracingRoot: path.join(__dirname, "../../"),
|
||||||
appDir: true,
|
appDir: true,
|
||||||
},
|
},
|
||||||
|
output: 'standalone'
|
||||||
};
|
};
|
||||||
|
|
||||||
module.exports = nextConfig;
|
module.exports = nextConfig;
|
||||||
|
@ -1,11 +1,11 @@
|
|||||||
{
|
{
|
||||||
"name": "plane-deploy",
|
"name": "space",
|
||||||
"version": "0.0.1",
|
"version": "0.0.1",
|
||||||
"private": true,
|
"private": true,
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"dev": "next dev",
|
"dev": "next dev -p 4000",
|
||||||
"build": "next build",
|
"build": "next build",
|
||||||
"start": "next start",
|
"start": "next start -p 4000",
|
||||||
"lint": "next lint"
|
"lint": "next lint"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
@ -38,11 +38,12 @@ services:
|
|||||||
container_name: planefrontend
|
container_name: planefrontend
|
||||||
image: makeplane/plane-frontend:latest
|
image: makeplane/plane-frontend:latest
|
||||||
restart: always
|
restart: always
|
||||||
command: /usr/local/bin/start.sh
|
command: /usr/local/bin/start.sh apps/app/server.js app
|
||||||
env_file:
|
env_file:
|
||||||
- .env
|
- .env
|
||||||
environment:
|
environment:
|
||||||
NEXT_PUBLIC_API_BASE_URL: ${NEXT_PUBLIC_API_BASE_URL}
|
NEXT_PUBLIC_API_BASE_URL: ${NEXT_PUBLIC_API_BASE_URL}
|
||||||
|
NEXT_PUBLIC_DEPLOY_URL: ${NEXT_PUBLIC_DEPLOY_URL}
|
||||||
NEXT_PUBLIC_GOOGLE_CLIENTID: "0"
|
NEXT_PUBLIC_GOOGLE_CLIENTID: "0"
|
||||||
NEXT_PUBLIC_GITHUB_APP_NAME: "0"
|
NEXT_PUBLIC_GITHUB_APP_NAME: "0"
|
||||||
NEXT_PUBLIC_GITHUB_ID: "0"
|
NEXT_PUBLIC_GITHUB_ID: "0"
|
||||||
@ -55,6 +56,20 @@ services:
|
|||||||
- plane-api
|
- plane-api
|
||||||
- plane-worker
|
- plane-worker
|
||||||
|
|
||||||
|
plane-deploy:
|
||||||
|
container_name: planedeploy
|
||||||
|
image: makeplane/plane-space:latest
|
||||||
|
restart: always
|
||||||
|
command: node apps/space/server.js space
|
||||||
|
env_file:
|
||||||
|
- .env
|
||||||
|
environment:
|
||||||
|
NEXT_PUBLIC_API_BASE_URL: ${NEXT_PUBLIC_API_BASE_URL}
|
||||||
|
depends_on:
|
||||||
|
- plane-api
|
||||||
|
- plane-worker
|
||||||
|
- plane-web
|
||||||
|
|
||||||
plane-api:
|
plane-api:
|
||||||
container_name: planebackend
|
container_name: planebackend
|
||||||
image: makeplane/plane-backend:latest
|
image: makeplane/plane-backend:latest
|
||||||
|
@ -41,12 +41,14 @@ services:
|
|||||||
dockerfile: ./apps/app/Dockerfile.web
|
dockerfile: ./apps/app/Dockerfile.web
|
||||||
args:
|
args:
|
||||||
NEXT_PUBLIC_API_BASE_URL: http://localhost:8000
|
NEXT_PUBLIC_API_BASE_URL: http://localhost:8000
|
||||||
|
NEXT_PUBLIC_DEPLOY_URL: http://localhost/spaces
|
||||||
restart: always
|
restart: always
|
||||||
command: /usr/local/bin/start.sh
|
command: /usr/local/bin/start.sh apps/app/server.js app
|
||||||
env_file:
|
env_file:
|
||||||
- .env
|
- .env
|
||||||
environment:
|
environment:
|
||||||
NEXT_PUBLIC_API_BASE_URL: ${NEXT_PUBLIC_API_BASE_URL}
|
NEXT_PUBLIC_API_BASE_URL: ${NEXT_PUBLIC_API_BASE_URL}
|
||||||
|
NEXT_PUBLIC_DEPLOY_URL: ${NEXT_PUBLIC_DEPLOY_URL}
|
||||||
NEXT_PUBLIC_GOOGLE_CLIENTID: "0"
|
NEXT_PUBLIC_GOOGLE_CLIENTID: "0"
|
||||||
NEXT_PUBLIC_GITHUB_APP_NAME: "0"
|
NEXT_PUBLIC_GITHUB_APP_NAME: "0"
|
||||||
NEXT_PUBLIC_GITHUB_ID: "0"
|
NEXT_PUBLIC_GITHUB_ID: "0"
|
||||||
@ -58,6 +60,23 @@ services:
|
|||||||
depends_on:
|
depends_on:
|
||||||
- plane-api
|
- plane-api
|
||||||
- plane-worker
|
- plane-worker
|
||||||
|
plane-deploy:
|
||||||
|
container_name: planedeploy
|
||||||
|
build:
|
||||||
|
context: .
|
||||||
|
dockerfile: ./apps/space/Dockerfile.space space
|
||||||
|
args:
|
||||||
|
NEXT_PUBLIC_API_BASE_URL: http://localhost:8000
|
||||||
|
restart: always
|
||||||
|
command: /usr/local/bin/start.sh apps/space/server.js space
|
||||||
|
env_file:
|
||||||
|
- .env
|
||||||
|
environment:
|
||||||
|
NEXT_PUBLIC_API_BASE_URL: ${NEXT_PUBLIC_API_BASE_URL}
|
||||||
|
depends_on:
|
||||||
|
- plane-api
|
||||||
|
- plane-worker
|
||||||
|
- plane-web
|
||||||
|
|
||||||
plane-api:
|
plane-api:
|
||||||
container_name: planebackend
|
container_name: planebackend
|
||||||
|
@ -18,6 +18,11 @@ server {
|
|||||||
proxy_set_header Host $host;
|
proxy_set_header Host $host;
|
||||||
proxy_set_header X-Real-IP $remote_addr;
|
proxy_set_header X-Real-IP $remote_addr;
|
||||||
}
|
}
|
||||||
|
location /space/ {
|
||||||
|
proxy_pass http://localhost:4000/;
|
||||||
|
proxy_set_header Host $host;
|
||||||
|
proxy_set_header X-Real-IP $remote_addr;
|
||||||
|
}
|
||||||
error_page 500 502 503 504 /50x.html;
|
error_page 500 502 503 504 /50x.html;
|
||||||
location = /50x.html {
|
location = /50x.html {
|
||||||
root /usr/share/nginx/html;
|
root /usr/share/nginx/html;
|
||||||
|
@ -15,6 +15,10 @@ server {
|
|||||||
proxy_pass http://planefrontend:3000/;
|
proxy_pass http://planefrontend:3000/;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
location /spaces/ {
|
||||||
|
proxy_pass http://planedeploy:3000/;
|
||||||
|
}
|
||||||
|
|
||||||
location /api/ {
|
location /api/ {
|
||||||
proxy_pass http://planebackend:8000/api/;
|
proxy_pass http://planebackend:8000/api/;
|
||||||
}
|
}
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
FROM=$1
|
FROM=$1
|
||||||
TO=$2
|
TO=$2
|
||||||
|
DIRECTORY=$3
|
||||||
|
|
||||||
if [ "${FROM}" = "${TO}" ]; then
|
if [ "${FROM}" = "${TO}" ]; then
|
||||||
echo "Nothing to replace, the value is already set to ${TO}."
|
echo "Nothing to replace, the value is already set to ${TO}."
|
||||||
@ -11,4 +12,4 @@ fi
|
|||||||
# Only perform action if $FROM and $TO are different.
|
# Only perform action if $FROM and $TO are different.
|
||||||
echo "Replacing all statically built instances of $FROM with this string $TO ."
|
echo "Replacing all statically built instances of $FROM with this string $TO ."
|
||||||
|
|
||||||
grep -R -la "${FROM}" apps/app/.next | xargs -I{} sed -i "s|$FROM|$TO|g" "{}"
|
grep -R -la "${FROM}" apps/$DIRECTORY/.next | xargs -I{} sed -i "s|$FROM|$TO|g" "{}"
|
||||||
|
2
setup.sh
2
setup.sh
@ -1,5 +1,5 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
# cp ./.env.example ./.env
|
cp ./.env.example ./.env
|
||||||
|
|
||||||
# Export for tr error in mac
|
# Export for tr error in mac
|
||||||
export LC_ALL=C
|
export LC_ALL=C
|
||||||
|
4
start.sh
4
start.sh
@ -3,7 +3,7 @@ set -x
|
|||||||
|
|
||||||
# Replace the statically built BUILT_NEXT_PUBLIC_API_BASE_URL with run-time NEXT_PUBLIC_API_BASE_URL
|
# Replace the statically built BUILT_NEXT_PUBLIC_API_BASE_URL with run-time NEXT_PUBLIC_API_BASE_URL
|
||||||
# NOTE: if these values are the same, this will be skipped.
|
# NOTE: if these values are the same, this will be skipped.
|
||||||
/usr/local/bin/replace-env-vars.sh "$BUILT_NEXT_PUBLIC_API_BASE_URL" "$NEXT_PUBLIC_API_BASE_URL"
|
/usr/local/bin/replace-env-vars.sh "$BUILT_NEXT_PUBLIC_API_BASE_URL" "$NEXT_PUBLIC_API_BASE_URL" $2
|
||||||
|
|
||||||
echo "Starting Plane Frontend.."
|
echo "Starting Plane Frontend.."
|
||||||
node apps/app/server.js
|
node $1
|
||||||
|
Loading…
Reference in New Issue
Block a user