Just tracking note here so others can see. I'm starting to package InfluxDB. Probably will get 1.x before 2.0 as 2.0 is wildly different and seems to have some issues changing the default storage path (working through that though) Will see. Stay tuned if you are interested.
An early functional draft is available for review/comment: https://git.cloudron.io/doodlemania2/influxdb
I think you may want to use
"healthCheckPath": "/health", rather than
/metrics, as that endpoint is actually designed for this use.
Some other confusion: influxd 1.x uses a different configuration format, so I think config.json isn't really useful, as JSON is 2.x and up (I am not certain, I have only used 1.x so far).
/app/code/influxd configto get a snapshot of the default configuration.
Once I had that in place, lastly, for whatever reason, I had to pass the config file explicitly as a parameter rather than using the environment variable you were trying:
exec "/app/code/influxd" -config /app/data/influxd.confin
Some other configuration recommendations/thoughts:
- I think you should probably also recommend (or somehow, require) authentication, along with creating a default user account, since this is probably going to be run on public-facing servers. For 1.x, see here.
- You should also consider setting
reporting-disabled = "true"in the configuration, to prevent phoning home. See the documentation notes here.
@robin Yah!!! Thank you - I'll get an update started ASAP - or, please feel free to offer a PR and I'll accept
@doodlemania2 I will try to do so if / when I can get the time to finish poking around, and verify that it actually works once I finish. I just had a child last week, so spare time is a bit hard to come by at present
Just brain-dumping from trial and error session...
For authentication, start without auth first. Then connect influx client, and run:
CREATE USER admin WITH PASSWORD 'foobar' WITH ALL PRIVILEGES;
Then, you can safely enable auth (set the config keys `http/auth-enabled, http/pprof-auth-enabled to true), and will need that user/pass to run any queries.
Not sure if there's an easier way or not... If there isn't, perhaps this could be done via start.sh somehow - detect that a given launch is the first one (if the db doesn't exist yet) - start it, create an admin user, then stop & restart with auth enabled.
@robin So, I like your idea of using the native one better for authentication. Just don't have any experience with it. Would love if you could do a PR showing what you're trying to compare! Making a few other updates as well.
I haven't had a chance to look at authentication (or anything else, really) yet unfortunately. Life's been busy.
I did push up what I appear to be running, though, I haven't had a chance to test it independently (I am not using your repo directly, but a rather customised setup, so I copied my changes into it by hand).
You can see my fork here: https://github.com/rburchell/cloudron-influxdb
ei8fdb last edited by
Is this influxDB app in a state where I could start using it? Nothing critical, just t start learning about Grafana/InfluxDB usage. I want to start using these 2 apps for graphing temperature sensor data.
@ei8fdb I've been using it for many months now - works like a champ.
ei8fdb last edited by
Thanks for letting me know @doodlemania2. I've tried to build it but am running into the following issue - "COPY failed: stat usr/bin/influxd: file does not exist" - which you can see here:
Step 1/10 : FROM influxdb:latest as final ---> a6cdd3eeabf3 Step 2/10 : FROM cloudron/base:2.0.0@sha256:f9fea80513aa7c92fe2e7bf3978b54c8ac5222f47a9a32a7f8833edf0eb5a4f4 ---> afa4cfc125b4 Step 3/10 : COPY --from=final /usr/bin/influxd /app/code/influxd COPY failed: stat usr/bin/influxd: file does not exist child_process.js:669 throw err; ^ Error: Command failed: docker build -t ei8fdb/influxdb:20210405-095545-77686303f -f Dockerfile /home/bernard/code/influxdb
Do you have any suggestions? I'm following this documentation. Thanks.
@ei8fdb the error is what it reads
usr/bin/influxd: file does not exist
The file or path does not exist.
COPY --from=final /usr/bin/influxd /app/code/influxd COPY --from=final /usr/bin/influx /app/code/influx
I assume @doodlemania2 has influxdb installed locally and that's why he used these paths to copy the binary files.
Also binary files have no place in git so it's kinda understandable.
You can download the files here https://docs.influxdata.com/influxdb/v2.0/get-started/?t=Linux
@brutalbirdie yes that's right - i use a local copy of the influx binaries to manage the server running in cloudron. Thanks for picking this up - been out on vacation