Skip to content

App error in Docker - lack of library libXss.so.1 #1364

Description

@MariannaKrzewinska

Hey,
When I tried to run the app in Docker using every app building command, I got an error:

[~/d/tidepool-uploader] : docker-compose up                                             (master) 22:43:51
WARNING: The ROLLBAR_POST_TOKEN variable is not set. Defaulting to a blank string.
Recreating uploader ... done
Attaching to uploader
uploader    | yarn install v1.22.5
uploader    | [1/4] Resolving packages...
uploader    | warning Resolution field "charm@1.0.2" is incompatible with requested version "charm@0.1.x"
uploader    | success Already up-to-date.
uploader    | $ concurrently "electron-builder install-app-deps" "node node_modules/fbjs-scripts/node/check-dev-engines.js package.json"
uploader    | [0]   • electron-builder  version=22.9.1
uploader    | [1] node node_modules/fbjs-scripts/node/check-dev-engines.js package.json exited with code 0
uploader    | [0]   • installing production dependencies  platform=linux arch=x64 appDir=/home/node/uploader/app
uploader    | [0] electron-builder install-app-deps exited with code 0
uploader    | Done in 1.69s.
uploader    | yarn run v1.22.5
uploader    | $ cross-env START_HOT=1 yarn start-renderer-dev
uploader    | $ cross-env NODE_ENV=development webpack-dev-server --config webpack.config.renderer.dev.babel.js
uploader    | ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
uploader    | ### DEBUG MODE ###
uploader    | ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
uploader    | 
uploader    | ***** NOT using the default environment *****
uploader    | The default right-click server menu may be incorrect.
uploader    | API_URL = http://localhost:3000
uploader    | UPLOAD_URL = http://localhost:3000
uploader    | DATA_URL = http://localhost:3000
uploader    | BLIP_URL = http://localhost:3000
uploader    | Starting Main Process...
uploader    | 
uploader    | > tidepool-uploader@2.34.0 start-main-dev /home/node/uploader
uploader    | > cross-env HOT=1 NODE_ENV=development electron -r @babel/register ./app/main.dev.js
uploader    | 
uploader    | /home/node/uploader/node_modules/electron/dist/electron: error while loading shared libraries: libXss.so.1: cannot open shared object file: No such file or directory
uploader    | npm ERR! file sh
uploader    | npm ERR! code ELIFECYCLE
uploader    | npm ERR! errno ENOENT
uploader    | npm ERR! syscall spawn
uploader    | npm ERR! tidepool-uploader@2.34.0 start-main-dev: `cross-env HOT=1 NODE_ENV=development electron -r @babel/register ./app/main.dev.js`
uploader    | npm ERR! spawn ENOENT
uploader    | npm ERR! 
uploader    | npm ERR! Failed at the tidepool-uploader@2.34.0 start-main-dev script.
uploader    | npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
uploader    | 
uploader    | npm ERR! A complete log of this run can be found in:
uploader    | npm ERR!     /home/node/.npm/_logs/2021-02-10T21_45_48_422Z-debug.log
uploader    | error Command failed with exit code 1.
uploader    | info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
uploader    | error Command failed with exit code 1.
uploader    | info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
uploader exited with code 1

I've solved it by additionally installing libxss1 package in Dockerfile, which seems to be required by Electron for linux. It's a very small change so I plan to just push a PR

During development I've also used docker-compose.override.yaml to add command directly to the service so the app can be started by one command docker-compose up. What do you think about it?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions