diff --git a/packages/preview-service/Dockerfile b/packages/preview-service/Dockerfile index a2dfb3d0c..d01061da5 100644 --- a/packages/preview-service/Dockerfile +++ b/packages/preview-service/Dockerfile @@ -42,6 +42,9 @@ RUN apt-get update && apt-get install -y \ ca-certificates fonts-liberation libappindicator3-1 libasound2 libatk-bridge2.0-0 libatk1.0-0 libc6 libcairo2 libcups2 libdbus-1-3 libexpat1 libfontconfig1 libgbm1 libgcc1 libglib2.0-0 libgtk-3-0 libnspr4 libnss3 libpango-1.0-0 libpangocairo-1.0-0 libstdc++6 libx11-6 libx11-xcb1 libxcb1 libxcomposite1 libxcursor1 libxdamage1 libxext6 libxfixes3 libxi6 libxrandr2 libxrender1 libxss1 libxtst6 lsb-release wget xdg-utils \ && rm -rf /var/lib/apt/lists/* +ADD https://github.com/ufoscout/docker-compose-wait/releases/download/2.8.0/wait /wait +RUN chmod +x /wait + ARG NODE_ENV=production ENV NODE_ENV=${NODE_ENV} diff --git a/packages/preview-service/docs/preview_service_overview.png b/packages/preview-service/docs/preview_service_overview.png new file mode 100644 index 000000000..2e4900881 Binary files /dev/null and b/packages/preview-service/docs/preview_service_overview.png differ diff --git a/packages/preview-service/readme.md b/packages/preview-service/readme.md index e69de29bb..29941cedc 100644 --- a/packages/preview-service/readme.md +++ b/packages/preview-service/readme.md @@ -0,0 +1,26 @@ +# PreviewService + +This component generates object previews for Speckle Objects. + +It reads preview tasks from the DB and uses Puppeteer and an internal Viewer to generate previews, which are currently stored in the DB. + +This is an overview of this service: + +![overview](./docs/preview_service_overview.png) + +## Run locally + +With an updated viewer installed in the current directory, you should first build the frontend-part of the preview service: The simple webpage with the viewer that will be accessed with Puppeteer to generate the preview: + +``` +npm run build-fe +``` + +This should be rerun whenever you make changes to the viewer (if you make local viewer changes, don't forget to build the viewer module before running this) + +After the viewer web page is up to date, run the preview service with: +``` +npm run dev +``` + +This will use the default dev DB connection of `postgres://speckle:speckle@localhost/speckle`. You can pass the environment variable `PG_CONNECTION_STRING` to change this to a different DB.