Giter VIP home page Giter VIP logo

garie's People

Contributors

boyney123 avatar danielruf avatar lahaxearnaud avatar makotot avatar mouafa avatar psyked 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  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  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  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

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

garie's Issues

How to externally store data?

Hi,

i would like to store the data externally to prevent loss of data on restarts etc. Preferably on S3 or other services. How could I do that?

Thanks for helping me and thanks for the good work here!

Localhost problem

I get this on localhost::

Error: No default engine was specified and no extension was provided. at new View (/usr/src/app/node_modules/express/lib/view.js:61:11) at Function.render (/usr/src/app/node_modules/express/lib/application.js:570:12) at ServerResponse.render (/usr/src/app/node_modules/express/lib/response.js:1008:7) at /usr/src/app/app.js:40:7 at Layer.handle_error (/usr/src/app/node_modules/express/lib/router/layer.js:71:5) at trim_prefix (/usr/src/app/node_modules/express/lib/router/index.js:315:13) at /usr/src/app/node_modules/express/lib/router/index.js:284:7 at Function.process_params (/usr/src/app/node_modules/express/lib/router/index.js:335:12) at next (/usr/src/app/node_modules/express/lib/router/index.js:275:10) at /usr/src/app/app.js:29:3 at Layer.handle [as handle_request] (/usr/src/app/node_modules/express/lib/router/layer.js:95:5) at trim_prefix (/usr/src/app/node_modules/express/lib/router/index.js:317:13) at /usr/src/app/node_modules/express/lib/router/index.js:284:7 at Function.process_params (/usr/src/app/node_modules/express/lib/router/index.js:335:12) at next (/usr/src/app/node_modules/express/lib/router/index.js:275:10) at urlencodedParser (/usr/src/app/node_modules/body-parser/lib/types/urlencoded.js:91:7) at Layer.handle [as handle_request] (/usr/src/app/node_modules/express/lib/router/layer.js:95:5) at trim_prefix (/usr/src/app/node_modules/express/lib/router/index.js:317:13) at /usr/src/app/node_modules/express/lib/router/index.js:284:7 at Function.process_params (/usr/src/app/node_modules/express/lib/router/index.js:335:12) at next (/usr/src/app/node_modules/express/lib/router/index.js:275:10) at jsonParser (/usr/src/app/node_modules/body-parser/lib/types/json.js:109:7)

It's something missing?

[Feature Request] n8n workflow automation

Looking for help / maintainers

Hey,

Just wondering if anybody fancied helping out with some of the issues and maintaining the project and plugins?

cc: @zotya as I know you do a lot of work with Garie?

Thanks

support for influxdb auth

  • garie version: 2.0-master

Relevant sections of code seem to be:

Problem description:

  • garie plugins do not provide an option to set influxdb authentication data
  • reusing an existing influxdb with http authentication enabled fails due to missing authentication data

Suggested solution:

  • please add support for settings:

    • INFLUXDB_USER
    • INFLUXDB_USER_PASSWORD

    to be used while sending data to influxdb

Using garie in Kubenetes / Openshift

First and foremost, thanks for this awesome project!

I am in the process of using this at our company. One of the things I notice is that docker gets mounted as binary to another docker image. Is there any way to avoid this? We would like to deploy this in our kubernetes / openshift instance, but this would be pretty hard to set up. Is there any way to avoid this?

[feature request] support for urls with sub-paths

Story

As a product manager I would like to monitor the performance not only of the base url, but also of select special pages (category overviews or article pages for example).
To do so, I would like to add a URL with sub-path into config.json; i.e.:

{
	"cron": "*/15 * * * *",
	"urls": [
		{
			"url": "https://www.bbc.co.uk/programmes/articles/1Q5xGB0YnVf2CgTPyL0MK2s/make-it-digital-how-the-bbc-and-its-partners-unleashed-the-uks-digital-creativity",
			"plugins": [
				{
					"name": "lighthouse",
					"report": true
				}
			]
		}
	]
}

What happens now

garie-browsertime (at least) has problems with the folder structure and places some parts of the reports in a deeply nested tree of folders

/usr/src/garie-browsertime/reports/browsertime-results/www.bbc.co.uk/programmes/articles/1Q5xGB0YnVf2CgTPyL0MK2s/make-it-digital-how-the-bbc-and-its-partners-unleashed-the-uks-digital-creativity/

other data is placed in

/usr/src/garie-browsertime/reports/browsertime-results/www.bbc.co.uk-programmes-articles-1Q5xGB0YnVf2CgTPyL0MK2s-make-it-digital-how-the-bbc-and-its-partners-unleashed-the-uks-digital-creativity

Due to this some data is not found by following processes and can not be evaluated resulting in traces in logs.

What I would have expected

Folders should be handled transparently and consistently through all components.
(I personally would prefer a flat folder hierarchy.)

Garie v2 - Whats coming

Hey just wanted to give an update on something I'm working on at the moment.

I have been reviewing Garie and its architecture and going to change and introduce a few things in v2.

Features

Moving to InfluxDB

  • Move away from Prometheus and onto InfluxDB for longer term data storage. Prometheus has 2-week window of data storage and InfluxDB seems better suited.

Docker architecture

New plugins to support Garie, they will run their core functions and add data into InfluxDB

For example checkout the Lighthouse plugin

image

Plugins coming in v2

  • Lighthouse
  • Browsertime
  • Google PageSpeed Insights

Each plugin will filter data and store data inside InfluxDB ready to be monitored using Grafana

More Documentation

Introducing documentation for Garie. How to use, how do setup the plugins and get started.

image

Videos

Viewing videos to visually see performance stats.

image

Lighthouse Reports

Storing and being able to view historic lighthouse reports.

image

image

Other features

  • CRON job support. Run reports based on custom times.
  • Webhook support (Run audits after releases, CI, etc)
  • More preconfigured dashboards out the box.

Other features after v2

  • Pager duty support
  • Setting budgets

My aim is to get it released this month ๐ŸŽ‰!

Let me know if you have any ideas for features too.

How to configure Devices (mobile/web) and network emulation in project.

Hi Team

Can you please guide me on where we can configure the device and network emulation for the project. By default, lighthouse audits are performed for mobile but I want to run the same on the web.

Also is it possible to configure post-login audits using the project?

Thanks

Sarthak Mehra

404 error following "Lighthouse Reports" in default dashboards

  • garie version: 2.0

Relevant code or config:
Using default configuration on localhost

What I did and what happened:
Clicking on the "Lighthouse Reports" button on one of the default lighthouse dashboards in Grafana produces a 404 error as it tries to access the url http://localhost/:3000./reports.

Suggested solution:
It seems this would be related to the 'links' array in the grafana conf jsons in config/grafana/provisions/dashboards/, particularly the URL listed. I am however not familiar with grafana configs and cannot work out how this could be changed to change the hosts port without including a fixed protocol and host.

Failing fresh install docker-compose

I'm trying to launch it following documentation and it's failing. This docker output:

โžœ  garie (master) โœ— ./start.sh 
Starting garie_influxdb_1 ... done
Starting garie_grafana_1                  ... done
Starting garie_chronograf_1               ... done
Starting garie_garie-pagespeed-insights_1 ... done
Starting garie_garie-lighthouse_1         ... done
Starting garie_garie-browsertime_1        ... done
Attaching to garie_influxdb_1, garie_chronograf_1, garie_garie-pagespeed-insights_1, garie_garie-browsertime_1, garie_grafana_1, garie_garie-lighthouse_1
grafana_1                   | t=2019-12-04T20:50:55+0000 lvl=info msg="Starting Grafana" logger=server version=6.5.1 commit=1763a0f branch=HEAD compiled=2019-11-28T07:43:49+0000
grafana_1                   | t=2019-12-04T20:50:55+0000 lvl=info msg="Config loaded from" logger=settings file=/usr/share/grafana/conf/defaults.ini
grafana_1                   | t=2019-12-04T20:50:55+0000 lvl=info msg="Config loaded from" logger=settings file=/etc/grafana/grafana.ini
grafana_1                   | t=2019-12-04T20:50:55+0000 lvl=info msg="Config overridden from command line" logger=settings arg="default.paths.data=/var/lib/grafana"
grafana_1                   | t=2019-12-04T20:50:55+0000 lvl=info msg="Config overridden from command line" logger=settings arg="default.paths.logs=/var/log/grafana"
grafana_1                   | t=2019-12-04T20:50:55+0000 lvl=info msg="Config overridden from command line" logger=settings arg="default.paths.plugins=/var/lib/grafana/plugins"
grafana_1                   | t=2019-12-04T20:50:55+0000 lvl=info msg="Config overridden from command line" logger=settings arg="default.paths.provisioning=/etc/grafana/provisioning"
grafana_1                   | t=2019-12-04T20:50:55+0000 lvl=info msg="Config overridden from command line" logger=settings arg="default.log.mode=console"
grafana_1                   | t=2019-12-04T20:50:55+0000 lvl=info msg="Config overridden from Environment variable" logger=settings var="GF_PATHS_DATA=/var/lib/grafana"
grafana_1                   | t=2019-12-04T20:50:55+0000 lvl=info msg="Config overridden from Environment variable" logger=settings var="GF_PATHS_LOGS=/var/log/grafana"
grafana_1                   | t=2019-12-04T20:50:55+0000 lvl=info msg="Config overridden from Environment variable" logger=settings var="GF_PATHS_PLUGINS=/var/lib/grafana/plugins"
grafana_1                   | t=2019-12-04T20:50:55+0000 lvl=info msg="Config overridden from Environment variable" logger=settings var="GF_PATHS_PROVISIONING=/etc/grafana/provisioning"
grafana_1                   | t=2019-12-04T20:50:55+0000 lvl=info msg="Config overridden from Environment variable" logger=settings var="GF_SECURITY_ADMIN_PASSWORD=*********"
grafana_1                   | t=2019-12-04T20:50:55+0000 lvl=info msg="Path Home" logger=settings path=/usr/share/grafana
grafana_1                   | t=2019-12-04T20:50:55+0000 lvl=info msg="Path Data" logger=settings path=/var/lib/grafana
grafana_1                   | t=2019-12-04T20:50:55+0000 lvl=info msg="Path Logs" logger=settings path=/var/log/grafana
grafana_1                   | t=2019-12-04T20:50:55+0000 lvl=info msg="Path Plugins" logger=settings path=/var/lib/grafana/plugins
grafana_1                   | t=2019-12-04T20:50:55+0000 lvl=info msg="Path Provisioning" logger=settings path=/etc/grafana/provisioning
grafana_1                   | t=2019-12-04T20:50:55+0000 lvl=info msg="App mode production" logger=settings
grafana_1                   | t=2019-12-04T20:50:55+0000 lvl=info msg="Initializing SqlStore" logger=server
grafana_1                   | t=2019-12-04T20:50:55+0000 lvl=info msg="Connecting to DB" logger=sqlstore dbtype=sqlite3
grafana_1                   | t=2019-12-04T20:50:55+0000 lvl=info msg="Starting DB migration" logger=migrator
grafana_1                   | t=2019-12-04T20:50:55+0000 lvl=info msg="Initializing HTTPServer" logger=server
grafana_1                   | t=2019-12-04T20:50:55+0000 lvl=info msg="Initializing OSSLicensingService" logger=server
grafana_1                   | t=2019-12-04T20:50:55+0000 lvl=info msg="Initializing SearchService" logger=server
grafana_1                   | t=2019-12-04T20:50:55+0000 lvl=info msg="Initializing RemoteCache" logger=server
grafana_1                   | t=2019-12-04T20:50:55+0000 lvl=info msg="Initializing QuotaService" logger=server
grafana_1                   | t=2019-12-04T20:50:55+0000 lvl=info msg="Initializing ServerLockService" logger=server
grafana_1                   | t=2019-12-04T20:50:55+0000 lvl=info msg="Initializing UserAuthTokenService" logger=server
grafana_1                   | t=2019-12-04T20:50:55+0000 lvl=info msg="Initializing PluginManager" logger=server
grafana_1                   | t=2019-12-04T20:50:55+0000 lvl=info msg="Starting plugin search" logger=plugins
grafana_1                   | t=2019-12-04T20:50:56+0000 lvl=info msg="Initializing RenderingService" logger=server
grafana_1                   | t=2019-12-04T20:50:56+0000 lvl=info msg="Initializing AlertEngine" logger=server
grafana_1                   | t=2019-12-04T20:50:56+0000 lvl=info msg="Initializing DatasourceCacheService" logger=server
grafana_1                   | t=2019-12-04T20:50:56+0000 lvl=info msg="Initializing HooksService" logger=server
grafana_1                   | t=2019-12-04T20:50:56+0000 lvl=info msg="Initializing LoginService" logger=server
grafana_1                   | t=2019-12-04T20:50:56+0000 lvl=info msg="Initializing InternalMetricsService" logger=server
grafana_1                   | t=2019-12-04T20:50:56+0000 lvl=info msg="Initializing TracingService" logger=server
grafana_1                   | t=2019-12-04T20:50:56+0000 lvl=info msg="Initializing UsageStatsService" logger=server
grafana_1                   | t=2019-12-04T20:50:56+0000 lvl=info msg="Initializing CleanUpService" logger=server
grafana_1                   | t=2019-12-04T20:50:56+0000 lvl=info msg="Initializing NotificationService" logger=server
grafana_1                   | t=2019-12-04T20:50:56+0000 lvl=info msg="Initializing provisioningServiceImpl" logger=server
grafana_1                   | t=2019-12-04T20:50:56+0000 lvl=info msg="deleted datasource based on configuration" logger=provisioning.datasources name=Lighthouse
grafana_1                   | t=2019-12-04T20:50:56+0000 lvl=info msg="inserting datasource from configuration " logger=provisioning.datasources name=Lighthouse
grafana_1                   | t=2019-12-04T20:50:56+0000 lvl=eror msg="Can't read alert notification provisioning files from directory" logger=provisioning.notifiers path=/etc/grafana/provisioning/notifiers error="open /etc/grafana/provisioning/notifiers: no such file or directory"
grafana_1                   | t=2019-12-04T20:50:56+0000 lvl=info msg="Backend rendering via phantomJS" logger=rendering
grafana_1                   | t=2019-12-04T20:50:56+0000 lvl=warn msg="phantomJS is deprecated and will be removed in a future release. You should consider migrating from phantomJS to grafana-image-renderer plugin." logger=rendering
grafana_1                   | t=2019-12-04T20:50:56+0000 lvl=info msg="Initializing Stream Manager"
grafana_1                   | t=2019-12-04T20:50:56+0000 lvl=info msg="HTTP Server Listen" logger=http.server address=[::]:3000 protocol=http subUrl= socket=
garie-pagespeed-insights_1  | 
garie-pagespeed-insights_1  | > [email protected] start /usr/src/garie-pagespeed-insights
garie-pagespeed-insights_1  | > node ./src/index.js
garie-pagespeed-insights_1  | 
garie-browsertime_1         | 
garie-browsertime_1         | > [email protected] start /usr/src/garie-browsertime
garie-browsertime_1         | > node ./src/index.js
garie-browsertime_1         | 
garie-lighthouse_1          | 
garie-lighthouse_1          | > [email protected] start /usr/src/garie-lighthouse
garie-lighthouse_1          | > node ./src/index.js
garie-lighthouse_1          | 
garie-browsertime_1         | Application listening on port 3000
garie-browsertime_1         | { Error: connect ECONNREFUSED 172.24.0.2:8086
garie-browsertime_1         |     at Object._errnoException (util.js:1022:11)
garie-browsertime_1         |     at _exceptionWithHostPort (util.js:1044:20)
garie-browsertime_1         |     at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1198:14)
garie-browsertime_1         |   code: 'ECONNREFUSED',
garie-browsertime_1         |   errno: 'ECONNREFUSED',
garie-browsertime_1         |   syscall: 'connect',
garie-browsertime_1         |   address: '172.24.0.2',
garie-browsertime_1         |   port: 8086 }
garie-browsertime_1         | (node:16) UnhandledPromiseRejectionWarning: Failed to initialise influx
garie-browsertime_1         | (node:16) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 2)
garie-browsertime_1         | (node:16) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
chronograf_1                | time="2019-12-04T20:50:59Z" level=info msg="Serving chronograf at http://[::]:8888" component=server 
chronograf_1                | time="2019-12-04T20:50:59Z" level=info msg="Reporting usage stats" component=usage freq=24h reporting_addr="https://usage.influxdata.com" stats="os,arch,version,cluster_id,uptime" 
garie-pagespeed-insights_1  | Application listening on port 3000
garie-pagespeed-insights_1  | { Error: connect ECONNREFUSED 172.24.0.2:8086
garie-pagespeed-insights_1  |     at Object._errnoException (util.js:1022:11)
garie-pagespeed-insights_1  |     at _exceptionWithHostPort (util.js:1044:20)
garie-pagespeed-insights_1  |     at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1198:14)
garie-pagespeed-insights_1  |   code: 'ECONNREFUSED',
garie-pagespeed-insights_1  |   errno: 'ECONNREFUSED',
garie-pagespeed-insights_1  |   syscall: 'connect',
garie-pagespeed-insights_1  |   address: '172.24.0.2',
garie-pagespeed-insights_1  |   port: 8086 }
garie-pagespeed-insights_1  | (node:16) UnhandledPromiseRejectionWarning: Failed to initialise influx
garie-pagespeed-insights_1  | (node:16) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 2)
garie-pagespeed-insights_1  | (node:16) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

I'm not sure why is happening because in docker-compose it "depends" on influx. Any ideas?

Disable video generation

Hi

Can someone quide me how to disable video output generating ?

btw, very nice project :) i like it already!

Timeout waiting for initial Debugger Protocol connection

Failed to generate report {"stack":"TypeError: Cannot read property 'replace' of undefined
    at Function.generateReportHtml (/usr/src/garie-lighthouse/node_modules/lighthouse/lighthouse-core/report/report-generator.js:37:7)
    at createReport (/usr/src/garie-lighthouse/src/light-house/utils.js:28:49)
    at generateReport (/usr/src/garie-lighthouse/src/light-house/index.js:73:34)
    at module.exports (/usr/src/garie-lighthouse/src/utils/save-report/index.js:8:30)
    at getDataForAllUrls (/usr/src/garie-lighthouse/src/index.js:39:23)
    at <anonymous>
    at process._tickCallback (internal/process/next_tick.js:188:7)","timestamp":"2018-10-02T17:33:16.164Z"}

i guess generateReport is getting undefined data.

[Docker] Add versioning on garie docker images

Can you please add releases/tags on the garie/browsertime, garie/pagespeed-insights, garie/lighthouse docker images? Using only latest images does not allow a good control on upgrades and excludes the possibility of rollback.

Replace Grafana Icon?

  • garie version:2

Relevant code or config

n/a

What you did:
Loaded grafana

What happened:
No Garie Logo

Suggested solution:

docker-compose.yml

 volumes:
    - ./config/grafana/garie_dark_logo.svg:/usr/share/grafana/public/img/grafana_icon.svg:rw

Perhaps there's more ambitious plan to retheme grafana. Just a suggestion.

Licensing: https://community.grafana.com/t/replace-logo-in-ui/6126

Suggestion: Docker integrated nginx redirect

As far is I know docker opens huge security backdoor by opening its ports to external so I added:

...
 garie-pagespeed-insights:
    image: "garie/pagespeed-insights"
    ports:
      - 127.0.0.1:3002:3000
...

That restricts to localhost and you can easily redirect all requests and several ports with nginx:
#13

Unfortunately I have build this outside of docker but I think this idea is maybe worth considering to run this programmatically as docker nginx module.

Grafana dashboard not working

  • garie version: no idea, I git cloned it today (October 14th 2019)

Relevant code or config
Stock configuration

What you did:

  • git clone garie
  • edit start.sh: removed the PAGESPEED_INSIGHTS_KEY
  • edit garie-config.json: change the URL
  • sh start.sh

What happened:

Installation from docker-compose, then at runtime I got this message:

... [truncated] lots of messages ...
grafana_1                   | GF_PATHS_DATA='/var/lib/grafana' is not writable.
grafana_1                   | You may have issues with file permissions, more information here: http://docs.grafana.org/installation/docker/#migration-from-a-previous-version-of-the-docker-container-to-5-1-or-later
grafana_1                   | mkdir: can't create directory '/var/lib/grafana/plugins': Permission denied
garie_grafana_1 exited with code 1
... [truncated] lots of messages ...

Problem description:
Seems like the default volume mapping doesn't writing to /var/lib (in my machine it's owned by root). So for a quick test since I'm just evaluating garie I ran sudo sh start.sh (I know it's a bad idea from a security POV and that in a prod settings devops will set this up correctly), and instead I got this:

... [truncated] much less messages since docker images were pulled before...
then lots of line about grafana migration =>
grafana_1                   | t=2019-10-14T13:43:15+0000 lvl=info msg="Executing migration" logger=migrator id="create org_user table v1"
then errors:
grafana_1                   | t=2019-10-14T13:43:38+0000 lvl=eror msg="Anonymous access organization error: 'Viewer': Organization not found"
grafana_1                   | t=2019-10-14T13:43:38+0000 lvl=info msg="Request Completed" logger=context userId=0 orgId=0 uname= method=GET path=/ status=302 remote_addr=172.17.0.1 time_ms=0 size=29 referer=
grafana_1                   | t=2019-10-14T13:43:38+0000 lvl=eror msg="Anonymous access organization error: 'Viewer': Organization not found"

So I checked Grafana docs and changed garie's config/grafana/grafana.ini: org_name = Viewer to org_name = test (to match the provisioning done in config/grafana/provisioning/dashboards/dashboard.yml), and now I got a log that should mean grafana server is started, but localhost:3000 still doesn't work

grafana_1                   | t=2019-10-14T14:05:52+0000 lvl=info msg="HTTP Server Listen" logger=http.server address=0.0.0.0:3000 protocol=http subUrl= socket=

At this point, I have no idea what else to fix or to look at.

Suggested solution:

Maybe something in Grafana changed since last time you checked?

Custom port running

When I tried to run Garie on my computer (Macbook), I got the error:

ERROR: for garie_grafana_1  Cannot start service grafana: driver failed programming external connectivity on endpoint garie_grafana_1 (277fc2e8a1734b89b95165237e8f3d87b3b381082ed9bd1f99877c7646675642): Error starting userland proxy: Bind for 0.0.0.0:80: unexpected error (Failure EADDRINUSE)

I thought that is because of grafana is running on port 80 which is currenty serve another service. How can I change port Garie running on so I won't get that error anymore.

using docker run

Garie is Awesome!

But i needed some version which i can use in the cloud. With this you can start every container with docker run in the shell. This is important for running garie in cloud providers like https://sloppy.io or https://hyper.sh or any other stateless provider which isn't capable of using docker-compose

docker run -d --name=influxdb -p 8086:8086 \
      	-v influxdb:/var/lib/influxdb \
      	-e INFLUXDB_ADMIN_USER=admin \
      	-e INFLUXDB_ADMIN_PASSWORD=admin \
      	influxdb:latest


docker run -d --name=garie-lighthouse -p 3000:3000 \
        --link="influxdb" \
      	-v "$(pwd)/garie-config.json:/usr/src/garie-lighthouse/config.json" \
      	-v "$(pwd)/plugins/garie-lighthouse/reports:/usr/src/garie-lighthouse/reports" \
      	-v "$(pwd)/plugins/garie-lighthouse/logs:/usr/src/garie-lighthouse/logs" \
      	-e HOST=influxdb \
      	garie/lighthouse


docker run -d --name=garie-browsertime -p 3001:3000 \
        --link="influxdb" \
        -e DOCKER_PATH=$(which docker) \
      	-v "$(pwd)/garie-config.json:/usr/src/garie-browsertime/config.json" \
      	-v "$(pwd)/plugins/garie-browsertime/reports:/usr/src/garie-browsertime/reports" \
      	-v "$(pwd)/plugins/garie-browsertime/logs:/usr/src/garie-browsertime/logs" \
        -v "/var/run/docker.sock:/run/docker.sock" \
      	-e HOST=influxdb \
        -e REPORT_DIR=$(pwd)/plugins/garie-browsertime \
      	garie/browsertime


docker run -d --name=garie-pagespeed-insights -p 3002:3000 \
        --link="influxdb" \
      	-v "$(pwd)/garie-config.json:/usr/src/garie-pagespeed-insights/config.json" \
      	-v "$(pwd)/plugins/garie-pagespeed-insights/logs:/usr/src/garie-pagespeed-insights/logs" \
      	-e HOST=influxdb \
        -e PAGESPEED_INSIGHTS_KEY=YOUR_KEY \
      	garie/pagespeed-insights


docker run -d --name=grafana -p 80:3000 \
        --link="influxdb" \
	-u $(id -u root):$(id -g root) \
      	-v "$(pwd)/grafana_data:/var/lib/grafana" \
      	-v "$(pwd)/config/grafana/provisioning:/etc/grafana/provisioning" \
      	-v "$(pwd)/config/grafana/grafana.ini:/etc/grafana/grafana.ini" \
      	-e GF_SECURITY_ADMIN_PASSWORD=secret \
      	grafana/grafana


docker run -d --name=chronograf -p 8888:8888 --link="influxdb" chronograf:latest

I've tested a little bit around and on the first view everything seems to work nicely. I wanted to ask you if you can take a short look into it and tell me if there is anything wrong in your opinion.

If you want you can add this part to documentation, i can supply you as well some nginx virtual host settings for that to rewrite 3001,3002 ports to www.garie.com/lighthouse like that because i found it really risky to expose ports to the public. If you use it live.

Best regards

Felix

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.