From c67d92bdecfc8664d0805d599a3e2181587594fe Mon Sep 17 00:00:00 2001 From: Nicolas Meienberger Date: Fri, 7 Oct 2022 23:35:48 +0200 Subject: [PATCH] fix: dockerfile issue --- Dockerfile | 2 ++ docker-compose.dev.yml | 3 ++- docker-compose.rc.yml | 2 +- docker-compose.yml | 2 +- packages/dashboard/src/hooks/useCachedRessources.ts | 1 - packages/dashboard/src/pages/_app.tsx | 3 ++- packages/dashboard/src/pages/api/getenv.tsx | 2 -- packages/dashboard/src/pages/settings.tsx | 5 ----- .../system-api/src/core/config/__tests__/TipiConfig.test.ts | 2 +- packages/system-api/src/server.ts | 2 +- scripts/system.sh | 4 +++- scripts/watcher.sh | 6 +++++- 12 files changed, 18 insertions(+), 16 deletions(-) diff --git a/Dockerfile b/Dockerfile index a58e5fc6..64e326b4 100644 --- a/Dockerfile +++ b/Dockerfile @@ -40,6 +40,8 @@ COPY ./packages/dashboard/package*.json /dashboard/ RUN npm install --omit=dev COPY --from=build /api/dist /api/dist + COPY --from=build /dashboard/.next /dashboard/.next +COPY ./packages/dashboard /dashboard WORKDIR / \ No newline at end of file diff --git a/docker-compose.dev.yml b/docker-compose.dev.yml index 5dc6b1cc..ecfd6105 100644 --- a/docker-compose.dev.yml +++ b/docker-compose.dev.yml @@ -51,11 +51,12 @@ services: ports: - 3001:3001 volumes: - - ${PWD}/apps:/runtipi/apps:ro - ${PWD}/repos:/runtipi/repos:ro + - ${PWD}/apps:/runtipi/apps - ${PWD}/state:/runtipi/state - ${PWD}/packages/system-api/src:/api/src - ${STORAGE_PATH}:/app/storage + - ${PWD}/logs:/app/logs - ${PWD}/.env.dev:/runtipi/.env # - /api/node_modules environment: diff --git a/docker-compose.rc.yml b/docker-compose.rc.yml index 697edad1..f0040df9 100644 --- a/docker-compose.rc.yml +++ b/docker-compose.rc.yml @@ -44,8 +44,8 @@ services: tipi-db: condition: service_healthy volumes: - - ${PWD}/apps:/runtipi/apps:ro - ${PWD}/repos:/runtipi/repos:ro + - ${PWD}/apps:/runtipi/apps - ${PWD}/state:/runtipi/state - ${PWD}/logs:/app/logs - ${STORAGE_PATH}:/app/storage diff --git a/docker-compose.yml b/docker-compose.yml index c8267d5d..2ebacf1e 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -44,8 +44,8 @@ services: tipi-db: condition: service_healthy volumes: - - ${PWD}/apps:/runtipi/apps:ro - ${PWD}/repos:/runtipi/repos:ro + - ${PWD}/apps:/runtipi/apps - ${PWD}/state:/runtipi/state - ${PWD}/logs:/app/logs - ${STORAGE_PATH}:/app/storage diff --git a/packages/dashboard/src/hooks/useCachedRessources.ts b/packages/dashboard/src/hooks/useCachedRessources.ts index 2980cbe2..0be1f1e8 100644 --- a/packages/dashboard/src/hooks/useCachedRessources.ts +++ b/packages/dashboard/src/hooks/useCachedRessources.ts @@ -52,7 +52,6 @@ export default function useCachedResources(): IReturnProps { useEffect(() => { if (baseUrl) { - console.log('loadResourcesAndDataAsync', baseUrl); loadResourcesAndDataAsync(baseUrl); } }, [baseUrl]); diff --git a/packages/dashboard/src/pages/_app.tsx b/packages/dashboard/src/pages/_app.tsx index b5b516c6..8ce2c1d3 100644 --- a/packages/dashboard/src/pages/_app.tsx +++ b/packages/dashboard/src/pages/_app.tsx @@ -9,12 +9,13 @@ import { ApolloProvider } from '@apollo/client'; import useCachedResources from '../hooks/useCachedRessources'; import Head from 'next/head'; import StatusWrapper from '../components/StatusScreens/StatusWrapper'; +import LoadingScreen from '../components/LoadingScreen'; function MyApp({ Component, pageProps }: AppProps) { const { client } = useCachedResources(); if (!client) { - return
loading...
; + return ; } return ( diff --git a/packages/dashboard/src/pages/api/getenv.tsx b/packages/dashboard/src/pages/api/getenv.tsx index 6db8e12c..42740282 100644 --- a/packages/dashboard/src/pages/api/getenv.tsx +++ b/packages/dashboard/src/pages/api/getenv.tsx @@ -3,7 +3,5 @@ export default function getEnv(_: any, res: any) { const { NGINX_PORT } = process.env; const { DOMAIN } = process.env; - console.log('getenv.tsx: ', INTERNAL_IP, NGINX_PORT, DOMAIN); - res.status(200).json({ ip: INTERNAL_IP, domain: DOMAIN, port: NGINX_PORT }); } diff --git a/packages/dashboard/src/pages/settings.tsx b/packages/dashboard/src/pages/settings.tsx index 4807d46b..886be65a 100644 --- a/packages/dashboard/src/pages/settings.tsx +++ b/packages/dashboard/src/pages/settings.tsx @@ -4,9 +4,6 @@ import Layout from '../components/Layout'; import { useLogoutMutation, useRestartMutation, useUpdateMutation, useVersionQuery } from '../generated/graphql'; import { useRef, useState } from 'react'; -// Necessary to avoid flickering when initiating an update or restart -const wait = (ms: number) => new Promise((resolve) => setTimeout(resolve, ms)); - const Settings: NextPage = () => { const toast = useToast(); const restartDisclosure = useDisclosure(); @@ -55,7 +52,6 @@ const Settings: NextPage = () => { setLoading(true); try { restart(); - await wait(2000); logout(); } catch (error) { handleError(error); @@ -68,7 +64,6 @@ const Settings: NextPage = () => { setLoading(true); try { update(); - await wait(2000); logout(); } catch (error) { handleError(error); diff --git a/packages/system-api/src/core/config/__tests__/TipiConfig.test.ts b/packages/system-api/src/core/config/__tests__/TipiConfig.test.ts index 68ce7ba9..b47cf670 100644 --- a/packages/system-api/src/core/config/__tests__/TipiConfig.test.ts +++ b/packages/system-api/src/core/config/__tests__/TipiConfig.test.ts @@ -16,7 +16,7 @@ describe('Test: getConfig', () => { expect(config).toBeDefined(); expect(config.NODE_ENV).toBe('test'); - expect(config.logs.LOGS_FOLDER).toBe('logs'); + expect(config.logs.LOGS_FOLDER).toBe('/app/logs'); expect(config.logs.LOGS_APP).toBe('app.log'); expect(config.logs.LOGS_ERROR).toBe('error.log'); expect(config.dnsIp).toBe('9.9.9.9'); diff --git a/packages/system-api/src/server.ts b/packages/system-api/src/server.ts index 50f7703d..a9c4ed16 100644 --- a/packages/system-api/src/server.ts +++ b/packages/system-api/src/server.ts @@ -60,9 +60,9 @@ const main = async () => { const port = 3001; app.use(express.static(`${getConfig().rootFolder}/repos/${getConfig().appsRepoId}`)); + app.use('/status', systemController.status); app.use(cors(corsOptions)); app.use(getSessionMiddleware()); - app.use('/status', systemController.status); await datasource.initialize(); diff --git a/scripts/system.sh b/scripts/system.sh index 066d5f27..00f6e71a 100755 --- a/scripts/system.sh +++ b/scripts/system.sh @@ -13,7 +13,7 @@ fi # Restart Tipi if [[ "$command" = "restart" ]]; then - echo "Restarting Tipi..." + write_log "Restarting Tipi..." scripts/stop.sh scripts/start.sh @@ -23,6 +23,8 @@ fi # Update Tipi if [[ "$command" = "update" ]]; then + write_log "Updating Tipi..." + scripts/stop.sh git config --global --add safe.directory "${ROOT_FOLDER}" git pull origin master diff --git a/scripts/watcher.sh b/scripts/watcher.sh index e4d7de40..342fa408 100755 --- a/scripts/watcher.sh +++ b/scripts/watcher.sh @@ -17,7 +17,11 @@ function set_status() { write_log "Setting status for ${id} to ${status}" # Update the status of the event - sed -i "s/${id}.*$/$(echo "${id} ${status}" | sed 's/\//\\\//g')/" "$WATCH_FILE" + if [[ "$(uname)" != "Linux" ]]; then + sed -i '' "s/${id} [a-z]*/${id} ${status}/g" "${WATCH_FILE}" + else + sed -i "s/${id}.*$/$(echo "${id} ${status}" | sed 's/\//\\\//g')/" "$WATCH_FILE" + fi } function run_command() {