Skip to content

docker/Influxdb3 service template #611

New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Open
wants to merge 4 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
37 changes: 37 additions & 0 deletions docker/influxdb3/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
# InfluxDB v3 (alpha)

This sample demonstrates how to deploy and use InfluxDB v3 as a time series database in your Quix Cloud pipeline.

Please note: this image is provided by Influx and is offered as-is, with no specific support from Quix. For any support, contact Influx directly.

[!WARNING]
This offering is currently in alpha and intended only for simple testing/validation,
especially since authentication is not set up.
Only local file storage is supported in this implementation.

You can learn more about InfluxDB3 [from their documentation](https://docs.influxdata.com/influxdb3/core/).

## How to Run

1. Create an account or log in to your [Quix](https://portal.platform.quix.io/#?xlink=github) account and navigate to the Code Samples section.
2. Click `Deploy` to launch a pre-built container in Quix.
3. Enable state, otherwise changes will be lost on restart. Please note, the necessary storage type may not be supported on all Quix Platforms.

## How to Use
To interact with InfluxDB v3 from your pipeline, either use one of the no-code [influxdb3 connectors](https://quix.io/integrations?category=Time+series+DB)
in Quix Cloud or use a Quix Streams [InfluxDBSource](https://quix.io/docs/quix-streams/connectors/sources/influxdb3-source.html) or [InfluxDB3Sink](https://quix.io/docs/quix-streams/connectors/sinks/influxdb3-sink.html) directly.

Use the following values to connect:
```shell
host="http://influxdb3"
organization_id="<ANYTHING>" # required, but not used
token="<ANYTHING>" # required, but not used
```

## Contribute

Feel free to fork this project on the [GitHub](https://github.com/quixio/quix-samples) repository and contribute your enhancements. Any accepted contributions will be attributed accordingly.

## License & Support

This project is open source under the Apache 2.0 license and available in our [GitHub](https://github.com/quixio/quix-samples) repo. Remember, this image is provided by Influx and is offered as-is, with no InfluxDB specific support from Quix.
27 changes: 27 additions & 0 deletions docker/influxdb3/dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
FROM quay.io/influxdb/influxdb3-core

USER root

# Create the data directory and set permissions
RUN mkdir -p /app/state \
&& chown -R influxdb3:influxdb3 /app/state \
&& chmod -R 700 /app/state

RUN cat <<'ENTRYPOINT_SCRIPT' > /entrypoint.sh
#!/bin/bash

# Ensure the data directory exists
mkdir -p /app/state/influxdb3

# Run influxdb3 with passed args
exec influxdb3 "$@"
ENTRYPOINT_SCRIPT

RUN chmod +x /entrypoint.sh

USER influxdb3

EXPOSE 8181

ENTRYPOINT ["/entrypoint.sh"]
CMD ["serve", "--without-auth", "--node-id", "node0", "--object-store", "file", "--data-dir", "/app/state/influxdb3"]
Binary file added docker/influxdb3/icon.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
30 changes: 30 additions & 0 deletions docker/influxdb3/library.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
{
"libraryItemId": "influxdb3",
"name": "InfluxDB v3 (alpha)",
"language": "docker",
"tags": {
"Category": ["Time series DB"],
"Type": ["Auxiliary Services"]
},
"shortDescription": "Run InfluxDB v3 alpha in your pipeline.",
"DefaultFile": "dockerfile",
"EntryPoint": "dockerfile",
"IconFile": "icon.png",
"DeploySettings": {
"DeploymentType": "Service",
"CpuMillicores": 1000,
"MemoryInMb": 8000,
"Replicas": 1,
"Network": {
"ServiceName": "influxdb3",
"Ports":
[
{
"Port": 80,
"TargetPort": 8181
}
]
}
},
"Variables": []
}