Giter Site home page Giter Site logo

docker-yellowlabtools's Introduction

The official Yellow Lab Tools v3 image

Yellow Lab Tools is an open-source project developed by Gaël Métais.

It analyzes a webpage and detects performance or front-end code quality issues. Free, easy to launch, easy to understand, in-depth details. With this docker image, you can run your own YellowLabTools instance.

This image will be updated continuously.

Usage

docker run -it --privileged -p 8383:8383 ousamabenyounes/yellowlabtools 

or if you prefer to run it in detached mode add the -d option:

docker run -d --privileged -p 8383:8383 ousamabenyounes/yellowlabtools 

And then open http://localhost:8383/ on your web browser.

localhost

If you would like to run tests against a website that is only available on the host network, for example, localhost, then you need to run the Docker image using the --network=host flag.

- docker run -it --privileged -p 8383:8383 ousamabenyounes/yellowlabtools
+ docker run -it --privileged --network host -p 8383:8383 ousamabenyounes/yellowlabtools 

Debug

If you need to run your instance in debug mode, add 'DEBUG=* to the environment variables:

 docker run  --privileged --env 'DEBUG=*' -p 8383:8383 ousamabenyounes/yellowlabtools

Development

You can connect to your fork of YellowLabTools by changing the GitHub repository in the Dockerfile and rebuilding the image.

Dockerfile:

-  && git clone https://github.com/YellowLabTools/YellowLabTools-server.git -b ${VERSION} . \
+  && git clone https://github.com/kevinfarrugia/YellowLabTools-server.git -b ${VERSION} . \

Build:

docker build -t yellowlabtools .

Run:

docker run --privileged -p 8383:8383 yellowlabtools

Contributors

docker-yellowlabtools's People

Contributors

gmetais avatar jze avatar kevinfarrugia avatar ousamabenyounes avatar painchaudalexandre avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

docker-yellowlabtools's Issues

Test stuck, how to kill one test?

One test was stuck and it did not kill it automatically after 20 minutes.
So I could not do any other tests.

So, how do I kill tests that are stuck using the command line (or any other way)?

Thanks

Latest build errors

gyp
 ERR! find Python 
gyp 
ERR! find Python Python is not set from command line or npm configuration
gyp ERR! find Python Python is not set from environment variable PYTHON
gyp ERR!
 find Python checking if "python" can be used
gyp ERR! find Python - "python" is not in PATH or produced an error
gyp ERR! find Python checking if "python2" can be used
gyp ERR! find Python - "python2" is not in PATH or produced an error
gyp ERR! find Python checking if "python3" can be used
gyp 
ERR! find Python - "python3" is not in PATH or produced an error
gyp ERR! find Python 
gyp ERR! find Python
 **********************************************************
gyp ERR! find Python You need to install the latest version of Python.
gyp ERR! find Python Node-gyp should be able to find and use Python. If not,
gyp ERR! find Python you can try one of the following options:
gyp ERR! find Python - Use the switch --python="/path/to/pythonexecutable"
gyp ERR! find Python   (accepted by both node-gyp and npm)
gyp ERR! find Python - Set the environment variable PYTHON
gyp ERR! find Python - Set the npm configuration variable python:
gyp ERR! find Python   npm config set python "/path/to/pythonexecutable"
gyp ERR! find Python For more information consult the documentation at:
gyp ERR! find Python https://github.com/nodejs/node-gyp#installation
gyp ERR! find Python **********************************************************
gyp ERR! find Python 
gyp ERR! configure error 
gyp ERR! stack Error: Could not find any Python installation to use
gyp ERR! stack     at PythonFinder.fail (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/find-python.js:307:47)
gyp ERR! stack     at PythonFinder.runChecks (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/find-python.js:136:21)
gyp ERR! stack     at PythonFinder.<anonymous> (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/find-python.js:179:16)
gyp ERR! stack     at PythonFinder.execFileCallback (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/find-python.js:271:16)
gyp ERR! stack     at exithandler (child_process.js:315:5)
gyp ERR! stack     at ChildProcess.errorhandler (child_process.js:327:5)
gyp ERR! stack
     at ChildProcess.emit (events.js:315:20)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:275:12)
gyp ERR! stack     at onErrorNT (internal/child_process.js:465:16)
gyp ERR! stack     at processTicksAndRejections (internal/process/task_queues.js:80:21)
gyp ERR! System Linux 4.18.0-193.28.1.el8_2.x86_64
gyp ERR! command "/usr/local/bin/node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "configure"
gyp ERR! cwd /usr/src/ylt/node_modules/ttf2woff2
gyp ERR! node -v v14.16.0
gyp
 ERR! node-gyp -v v5.1.0
gyp ERR! not ok 

> [email protected] postinstall /usr/src/ylt/node_modules/core-js
> node -e "try{require('./postinstall')}catch(e){}"

Thank you for using core-js ( https://github.com/zloirock/core-js ) for polyfilling JavaScript standard library!

The project needs your help! Please consider supporting of core-js on Open Collective or Patreon: 
> https://opencollective.com/core-js 
> https://www.patreon.com/zloirock 

Also, the author of core-js ( https://github.com/zloirock ) is looking for a good job -)


> [email protected] postinstall /usr/src/ylt/node_modules/node-sass
> node scripts/build.js

Binary found at /usr/src/ylt/node_modules/node-sass/vendor/linux_musl-x64-83/binding.node
Testing binary
Binary is fine

> [email protected] postinstall /usr/src/ylt/node_modules/jpegoptim-bin
> node lib/install.js

  ⚠ spawn /usr/src/ylt/node_modules/jpegoptim-bin/vendor/jpegoptim ENOENT
  ⚠ jpegoptim pre-build test failed
  ℹ compiling from source
  ✖ Error: Command failed: /bin/sh -c make install
make: gcc: Operation not permitted
make: *** [<builtin>: jpegoptim.o] Error 127

gcc  -g -O2  -DHAVE_CONFIG_H   -c -o jpegoptim.o jpegoptim.c

    at /usr/src/ylt/node_modules/bin-build/node_modules/execa/index.js:231:11
    at processTicksAndRejections (internal/process/task_queues.js:93:5)
npm WARN [email protected] requires a peer of grunt@~0.4.0 but none is installed. You must install peer dependencies yourself.
npm WARN [email protected] requires a peer of grunt@~0.4.1 but none is installed. You must install peer dependencies yourself.

npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] postinstall: `node lib/install.js`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the [email protected] postinstall script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /root/.npm/_logs/2021-03-01T13_03_30_506Z-debug.log
The command '/bin/sh -c git clone https://github.com/gmetais/YellowLabTools.git -b ${VERSION} .   && git checkout e9ab1fd   && chmod -R 777 . && NODE_ENV=development && npm install --only=prod' returned a non-zero code: 1

Bug with command line to activate DEBUG mode

This line is incorrect

docker run --privileged --env DEBUG=* -p 8383:8383 ousamabenyounes/yellowlabtools

It's necessary to add '' to obtain

docker run --privileged --env 'DEBUG=*' -p 8383:8383 ousamabenyounes/yellowlabtools

Daemon option

Add the -d option in the main Readme, its much more usefull when user know what he does.

NPM error when running docker build locally

I cloned the repo locally but I keep getting an NPM error when trying to build the docker image.

$ git clone https://github.com/ousamabenyounes/docker-yellowlabtools.git
$ cd docker-yellowlabtools/
$ docker build .

Error:

194.9 npm ERR! code ENOENT
194.9 npm ERR! syscall chmod
194.9 npm ERR! path /usr/src/ylt/node_modules/media-query-fns/_dist/media-query-fns
194.9 npm ERR! errno -2
194.9 npm ERR! enoent ENOENT: no such file or directory, chmod '/usr/src/ylt/node_modules/media-query-fns/_dist/media-query-fns'
194.9 npm ERR! enoent This is related to npm not being able to find a file.
194.9 npm ERR! enoent 
195.0 
195.0 npm ERR! A complete log of this run can be found in:
195.0 npm ERR!     /root/.npm/_logs/2024-02-05T12_59_05_575Z-debug.log
------

Once I resolve this error by connecting to the correct Git repository (https://github.com/YellowLabTools/YellowLabTools-server.git instead of https://github.com/YellowLabTools/YellowLabTools.git) I encounter new errors.

tmp directory missing →no screenshots

The directory /usr/src/ylt/tmp is missing inside the container. Without that directory no screenshots will be generated.

As a quick fix you can enter the running container and create the directory manually.

Volume result

Could you add a volume to the results ? It seems like the docker uses /usr/src/ylt/results as result folder.

Issues with latest image

Phantomas failed: Failed to launch the browser process! Failed to move to new namespace: PID namespaces supported, Network namespace supported, but failed: errno = Operation not permitted [18:18:0301/110642.247641:FATAL:zygote_host_impl_linux.cc(202)] Check failed: . : Operation not permitted (1) [0301/110642.258347:WARNING:process_reader_linux.cc(95)] sched_getscheduler: Function not implemented (38) [0301/110642.258482:WARNING:process_reader_linux.cc(95)] sched_getscheduler: Function not implemented (38) [0301/110642.258745:ERROR:file_io_posix.cc(145)] open /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq: No such file or directory (2) [0301/110642.258764:ERROR:file_io_posix.cc(145)] open /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq: No such file or directory (2) TROUBLESHOOTING: https://pptr.dev/troubleshooting

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.