Merge branch 'master' into jstirnaman/issue5513
commit
4568dce841
|
@ -0,0 +1,26 @@
|
||||||
|
FROM registry.gitlab.com/pipeline-components/remark-lint:latest
|
||||||
|
|
||||||
|
|
||||||
|
WORKDIR /app/
|
||||||
|
|
||||||
|
# Generic
|
||||||
|
#RUN apk add --no-cache
|
||||||
|
COPY /.ci/app /app/
|
||||||
|
#COPY /.ci/remark-lint/package.json /app/
|
||||||
|
|
||||||
|
# Node
|
||||||
|
ENV PATH "$PATH:/app/node_modules/.bin/"
|
||||||
|
RUN yarn install && yarn cache clean
|
||||||
|
ENV NODE_PATH=/app/node_modules/
|
||||||
|
RUN ln -nfs /app/node_modules /node_modules
|
||||||
|
|
||||||
|
# Build arguments
|
||||||
|
ARG BUILD_DATE
|
||||||
|
ARG BUILD_REF
|
||||||
|
|
||||||
|
# Labels
|
||||||
|
LABEL \
|
||||||
|
org.label-schema.build-date=${BUILD_DATE} \
|
||||||
|
org.label-schema.name="Remark-lint" \
|
||||||
|
org.label-schema.schema-version="1.0" \
|
||||||
|
org.label-schema.url="https://pipeline-components.gitlab.io/"
|
|
@ -0,0 +1,13 @@
|
||||||
|
{
|
||||||
|
"name": "remark-lint",
|
||||||
|
"license": "MIT",
|
||||||
|
"devDependencies": {
|
||||||
|
"remark-cli": "12.0.1",
|
||||||
|
"remark-preset-lint-consistent": "6.0.0",
|
||||||
|
"remark-preset-lint-markdown-style-guide": "6.0.0",
|
||||||
|
"remark-preset-lint-recommended": "7.0.0",
|
||||||
|
"remark-frontmatter": "5.0.0",
|
||||||
|
"remark-lint-frontmatter-schema": "3.15.4",
|
||||||
|
"remark-lint-no-shell-dollars": "4.0.0"
|
||||||
|
}
|
||||||
|
}
|
File diff suppressed because it is too large
Load Diff
43
compose.yaml
43
compose.yaml
|
@ -1,6 +1,13 @@
|
||||||
# This is a Docker Compose file for the InfluxData documentation site.
|
# This is a Docker Compose file for the InfluxData documentation site.
|
||||||
## Run documentation tests for code samples.
|
## Run documentation tests for code samples.
|
||||||
name: influxdata-docs
|
name: influxdata-docs
|
||||||
|
secrets:
|
||||||
|
influxdb2-admin-username:
|
||||||
|
file: ~/.env.influxdb2-admin-username
|
||||||
|
influxdb2-admin-password:
|
||||||
|
file: ~/.env.influxdb2-admin-password
|
||||||
|
influxdb2-admin-token:
|
||||||
|
file: ~/.env.influxdb2-admin-token
|
||||||
services:
|
services:
|
||||||
local-dev:
|
local-dev:
|
||||||
build:
|
build:
|
||||||
|
@ -331,6 +338,42 @@ services:
|
||||||
source: test-content
|
source: test-content
|
||||||
target: /app/content
|
target: /app/content
|
||||||
working_dir: /app
|
working_dir: /app
|
||||||
|
influxdb2:
|
||||||
|
image: influxdb:2
|
||||||
|
ports:
|
||||||
|
- 8086:8086
|
||||||
|
environment:
|
||||||
|
DOCKER_INFLUXDB_INIT_MODE: setup
|
||||||
|
DOCKER_INFLUXDB_INIT_USERNAME_FILE: /run/secrets/influxdb2-admin-username
|
||||||
|
DOCKER_INFLUXDB_INIT_PASSWORD_FILE: /run/secrets/influxdb2-admin-password
|
||||||
|
DOCKER_INFLUXDB_INIT_ADMIN_TOKEN_FILE: /run/secrets/influxdb2-admin-token
|
||||||
|
DOCKER_INFLUXDB_INIT_ORG: docs
|
||||||
|
DOCKER_INFLUXDB_INIT_BUCKET: home
|
||||||
|
profiles:
|
||||||
|
- v2
|
||||||
|
- local
|
||||||
|
secrets:
|
||||||
|
- influxdb2-admin-username
|
||||||
|
- influxdb2-admin-password
|
||||||
|
- influxdb2-admin-token
|
||||||
|
volumes:
|
||||||
|
- type: volume
|
||||||
|
source: influxdb2-data
|
||||||
|
target: /var/lib/influxdb2
|
||||||
|
- type: volume
|
||||||
|
source: influxdb2-config
|
||||||
|
target: /etc/influxdb2
|
||||||
|
remark-lint:
|
||||||
|
build:
|
||||||
|
context: .
|
||||||
|
dockerfile: .ci/Dockerfile.remark
|
||||||
|
command: ["remark", "content/${PRODUCT_PATH}"]
|
||||||
|
profiles:
|
||||||
|
- lint
|
||||||
|
volumes:
|
||||||
|
- type: bind
|
||||||
|
source: ./content
|
||||||
|
target: /app/content
|
||||||
volumes:
|
volumes:
|
||||||
test-content:
|
test-content:
|
||||||
cloud-tmp:
|
cloud-tmp:
|
||||||
|
|
|
@ -0,0 +1,13 @@
|
||||||
|
settings:
|
||||||
|
bullet: "-"
|
||||||
|
|
||||||
|
plugins:
|
||||||
|
# Before you can configure plugins for remark here, you need to add them to
|
||||||
|
# the `devDependencies` in the `package.json` file--for CI: `/.ci/app/package.json`.
|
||||||
|
- remark-frontmatter
|
||||||
|
- remark-lint-frontmatter-schema
|
||||||
|
- remark-lint-no-shell-dollars
|
||||||
|
# Check that markdown is consistent (list items have the same indentation)
|
||||||
|
- remark-preset-lint-consistent
|
||||||
|
# - remark-preset-lint-markdown-style-guide
|
||||||
|
# - remark-preset-lint-recommended
|
|
@ -290,24 +290,28 @@ You can use systemd to customize [InfluxDB configuration options](/influxdb/v2/r
|
||||||
|
|
||||||
### Manually download and install the influxd binary
|
### Manually download and install the influxd binary
|
||||||
|
|
||||||
1. In your browser or your terminal, download the InfluxDB binary for your system architecture (AMD64 or ARM).
|
_If necessary, adjust the example file paths and utilities for your system._
|
||||||
|
|
||||||
|
1. In your browser or your terminal, download the InfluxDB binary for your
|
||||||
|
system architecture (AMD64 or ARM).
|
||||||
|
|
||||||
<a class="btn download" href="https://download.influxdata.com/influxdb/releases/influxdb2-{{< latest-patch >}}_linux_amd64.tar.gz" download >InfluxDB v2 (amd64)</a>
|
<a class="btn download" href="https://download.influxdata.com/influxdb/releases/influxdb2-{{< latest-patch >}}_linux_amd64.tar.gz" download >InfluxDB v2 (amd64)</a>
|
||||||
<a class="btn download" href="https://download.influxdata.com/influxdb/releases/influxdb2-{{< latest-patch >}}_linux_arm64.tar.gz" download >InfluxDB v2 (arm)</a>
|
<a class="btn download" href="https://download.influxdata.com/influxdb/releases/influxdb2-{{< latest-patch >}}_linux_arm64.tar.gz" download >InfluxDB v2 (arm)</a>
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
# Use curl to download the amd64 binary.
|
# Use curl to download the amd64 binary.
|
||||||
curl -LO https://download.influxdata.com/influxdb/releases/influxdb2-{{< latest-patch >}}_linux_amd64.tar.gz
|
curl -LO \
|
||||||
|
https://download.influxdata.com/influxdb/releases/influxdb2-{{< latest-patch >}}_linux_amd64.tar.gz
|
||||||
```
|
```
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
# Use curl to download the arm64 binary.
|
# Use curl to download the arm64 binary.
|
||||||
curl -LO https://download.influxdata.com/influxdb/releases/influxdb2-{{< latest-patch >}}_linux_arm64.tar.gz
|
curl -LO \
|
||||||
|
https://download.influxdata.com/influxdb/releases/influxdb2-{{< latest-patch >}}_linux_arm64.tar.gz
|
||||||
```
|
```
|
||||||
|
|
||||||
2. Extract the downloaded binary.
|
2. Extract the downloaded binary--for example, enter the following command
|
||||||
|
for your system:
|
||||||
_**Note:** The following commands are examples. Adjust the filenames, paths, and utilities if necessary._
|
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
# amd64
|
# amd64
|
||||||
|
@ -331,7 +335,8 @@ You can use systemd to customize [InfluxDB configuration options](/influxdb/v2/r
|
||||||
sudo cp ./influxdb2-{{< latest-patch >}}/usr/bin/influxd /usr/local/bin/
|
sudo cp ./influxdb2-{{< latest-patch >}}/usr/bin/influxd /usr/local/bin/
|
||||||
```
|
```
|
||||||
|
|
||||||
If you choose to not move the `influxd` binary into your `$PATH`, enter the path to the binary to start the server--for example:
|
If you choose to not move the `influxd` binary into your `$PATH`, enter the
|
||||||
|
path to the binary to start the server--for example:
|
||||||
|
|
||||||
<!--pytest.mark.skip-->
|
<!--pytest.mark.skip-->
|
||||||
|
|
||||||
|
@ -342,9 +347,13 @@ You can use systemd to customize [InfluxDB configuration options](/influxdb/v2/r
|
||||||
{{< expand-wrapper >}}
|
{{< expand-wrapper >}}
|
||||||
{{% expand "<span class='req'>Recommended</span> – Set appropriate directory permissions" %}}
|
{{% expand "<span class='req'>Recommended</span> – Set appropriate directory permissions" %}}
|
||||||
|
|
||||||
To prevent unwanted access to data, set the permissions on the influxdb `data-dir` to not be world readable.
|
To prevent unwanted access to data, set the permissions on the influxdb
|
||||||
If installing on a server, we recommend setting a umask of `0027` to properly permission all newly created files.
|
`data-dir` to not be world readable.
|
||||||
To set umask, use a UMask directive in a systemd unit file or run Influxdb as a specific user that has the umask properly set--for example, enter the following command in your terminal:
|
If installing on a server, we recommend setting a umask of `0027` to properly
|
||||||
|
permission all newly created files.
|
||||||
|
To set umask, use a UMask directive in a systemd unit file or run Influxdb as a
|
||||||
|
specific user that has the umask properly set--for example, enter the following
|
||||||
|
command in your terminal:
|
||||||
|
|
||||||
<!--pytest.mark.skip-->
|
<!--pytest.mark.skip-->
|
||||||
|
|
||||||
|
@ -386,8 +395,8 @@ To install `gpg`, see the [GnuPG installation instructions](https://gnupg.org/do
|
||||||
gpg: key D8FF8E1F7DF8B07E: public key "InfluxData Package Signing Key <support@influxdata.com>" imported
|
gpg: key D8FF8E1F7DF8B07E: public key "InfluxData Package Signing Key <support@influxdata.com>" imported
|
||||||
```
|
```
|
||||||
|
|
||||||
2. Download the signature file for the release by adding `.asc` to the download URL,
|
2. Download the signature file for the release by adding `.asc` to the download
|
||||||
and then use `gpg` to verify the download signature--for example:
|
URL, and then use `gpg` to verify the download signature--for example:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
curl -sL https://download.influxdata.com/influxdb/releases/influxdb2-{{< latest-patch >}}_linux_amd64.tar.gz.asc \
|
curl -sL https://download.influxdata.com/influxdb/releases/influxdb2-{{< latest-patch >}}_linux_amd64.tar.gz.asc \
|
||||||
|
@ -443,7 +452,10 @@ _You'll install the `influx CLI` in a [later step](#download-and-install-the-inf
|
||||||
|
|
||||||
<a class="btn download" href="https://download.influxdata.com/influxdb/releases/influxdb2-{{< latest-patch >}}-windows.zip" download >InfluxDB v2 (Windows)</a>
|
<a class="btn download" href="https://download.influxdata.com/influxdb/releases/influxdb2-{{< latest-patch >}}-windows.zip" download >InfluxDB v2 (Windows)</a>
|
||||||
|
|
||||||
Expand the downloaded archive into `C:\Program Files\InfluxData\` and rename the files if desired.
|
Expand the downloaded archive into `C:\Program Files\InfluxData\` and rename the
|
||||||
|
files if desired.
|
||||||
|
|
||||||
|
<!--pytest.mark.skip-->
|
||||||
|
|
||||||
```powershell
|
```powershell
|
||||||
Expand-Archive .\influxdb2-{{< latest-patch >}}-windows.zip -DestinationPath 'C:\Program Files\InfluxData\'
|
Expand-Archive .\influxdb2-{{< latest-patch >}}-windows.zip -DestinationPath 'C:\Program Files\InfluxData\'
|
||||||
|
@ -453,7 +465,11 @@ mv 'C:\Program Files\InfluxData\influxdb2-{{< latest-patch >}}' 'C:\Program File
|
||||||
{{< expand-wrapper >}}
|
{{< expand-wrapper >}}
|
||||||
{{% expand "<span class='req'>Recommended</span> – Set appropriate directory permissions" %}}
|
{{% expand "<span class='req'>Recommended</span> – Set appropriate directory permissions" %}}
|
||||||
|
|
||||||
To prevent unwanted access to data, we recommend setting the permissions on the influxdb `data-dir` to not be world readable--for example: enter the following commands in your terminal:
|
To prevent unwanted access to data, we recommend setting the permissions on the
|
||||||
|
influxdb `data-dir` to not be world readable--for example: enter the following
|
||||||
|
commands in your terminal:
|
||||||
|
|
||||||
|
<!--pytest.mark.skip-->
|
||||||
|
|
||||||
```powershell
|
```powershell
|
||||||
$acl = Get-Acl "C:\Users\<username>\.influxdbv2"
|
$acl = Get-Acl "C:\Users\<username>\.influxdbv2"
|
||||||
|
@ -473,13 +489,27 @@ $acl | Set-Acl "C:\Users\<username>\.influxdbv2"
|
||||||
|
|
||||||
### Install and set up InfluxDB in a container
|
### Install and set up InfluxDB in a container
|
||||||
|
|
||||||
The following guide uses [Docker CLI commands](https://docs.docker.com/reference/cli/docker/) to set Docker and InfluxDB options, but you can also use Dockerfiles and Docker Compose.
|
The following steps show to use the
|
||||||
|
[Docker CLI](https://docs.docker.com/reference/cli/docker/) to set up and
|
||||||
|
run InfluxDB. but you can also
|
||||||
|
[use Docker Compose](/influxdb/v2/install/use-docker-compose).
|
||||||
|
|
||||||
1. Follow instructions to install [Docker Desktop](https://www.docker.com/get-started/) for your system.
|
_The following guide uses Docker mounted
|
||||||
2. Start a Docker container from the [`influxdb` Docker Hub image](https://hub.docker.com/_/influxdb)--for example, in your terminal, enter the `docker run influxdb:2` command with command line flags for initial setup options and file system mounts.
|
[volumes](https://docs.docker.com/storage/volumes/) to persist InfluxDB
|
||||||
|
configuration and data.
|
||||||
|
Persisting your data to a file system outside the container ensures that your
|
||||||
|
data isn't deleted if you delete the container._
|
||||||
|
|
||||||
The following example uses the Docker `--mount` option to persist InfluxDB configuration and data to [volumes](https://docs.docker.com/storage/volumes/).
|
1. Install [Docker Desktop](https://www.docker.com/get-started/) for your system.
|
||||||
_Persisting your data to a file system outside the container ensures that your data isn't deleted if you delete the container._
|
|
||||||
|
2. Start a Docker container from the
|
||||||
|
[`influxdb` Docker Hub image](https://hub.docker.com/_/influxdb)--for example,
|
||||||
|
in your terminal, enter the `docker run influxdb:2` command with command line
|
||||||
|
flags for initial setup options and file system mounts.
|
||||||
|
|
||||||
|
_If you don't specify InfluxDB initial setup options, you can
|
||||||
|
[set up manually](#set-up-influxdb) later using the UI or CLI in a running
|
||||||
|
container._
|
||||||
|
|
||||||
<!--pytest.mark.skip-->
|
<!--pytest.mark.skip-->
|
||||||
|
|
||||||
|
@ -503,33 +533,64 @@ The following guide uses [Docker CLI commands](https://docs.docker.com/reference
|
||||||
|
|
||||||
The command passes the following arguments:
|
The command passes the following arguments:
|
||||||
|
|
||||||
- `--publish 8086:8086`: Exposes the InfluxDB [UI](/influxdb/v2/get-started/#influxdb-user-interface-ui) and [HTTP API](/influxdb/v2/reference/api/) on the host's `8086` port.
|
- `--publish 8086:8086`: Exposes the InfluxDB
|
||||||
- `--mount type=volume,source=influxdb2-data,target=/var/lib/influxdb2`: Creates a volume named `influxdb2-data` mapped to the [InfluxDB data directory](/influxdb/v2/reference/internals/file-system-layout/?t=docker#file-system-layout) to persist data outside the container.
|
[UI](/influxdb/v2/get-started/#influxdb-user-interface-ui) and
|
||||||
- `--mount type=volume,source=influxdb2-config,target=/etc/influxdb2`: Creates a volume named `influxdb2-config` mapped to the [InfluxDB configuration directory](/influxdb/v2/reference/internals/file-system-layout/?t=docker#file-system-layout) to make configurations available outside the container.
|
[HTTP API](/influxdb/v2/reference/api/) on the host's `8086` port.
|
||||||
- `-e DOCKER_INFLUXDB_INIT_MODE=setup`: Environment variable that invokes the automated setup of the initial organization, user, bucket, and token when creating the container.
|
- `--mount type=volume,source=influxdb2-data,target=/var/lib/influxdb2`: Creates
|
||||||
- `-e DOCKER_INFLUXDB_INIT_<SETUP_OPTION>`: Environment variables for initial setup options--replace the following with your own values:
|
a volume named `influxdb2-data` mapped to the
|
||||||
|
[InfluxDB data directory](/influxdb/v2/reference/internals/file-system-layout/?t=docker#file-system-layout)
|
||||||
|
to persist data outside the container.
|
||||||
|
- `--mount type=volume,source=influxdb2-config,target=/etc/influxdb2`: Creates a
|
||||||
|
volume named `influxdb2-config` mapped to the
|
||||||
|
[InfluxDB configuration directory](/influxdb/v2/reference/internals/file-system-layout/?t=docker#file-system-layout)
|
||||||
|
to make configurations available outside the container.
|
||||||
|
- `--env DOCKER_INFLUXDB_INIT_MODE=setup`: Environment variable that invokes the
|
||||||
|
automated setup of the initial organization, user, bucket, and token when creating the container.
|
||||||
|
- `--env DOCKER_INFLUXDB_INIT_<SETUP_OPTION>`: Environment variables for initial
|
||||||
|
setup options--replace the following with your own values:
|
||||||
|
|
||||||
- {{% code-placeholder-key %}}`ADMIN_USERNAME`{{% /code-placeholder-key %}}: The username for the initial [user](/influxdb/v2/admin/users/)--an admin user with an API [Operator token](/influxdb/v2/admin/tokens/#operator-token).
|
- {{% code-placeholder-key %}}`ADMIN_USERNAME`{{% /code-placeholder-key %}}:
|
||||||
- {{% code-placeholder-key %}}`ADMIN_PASSWORD`{{% /code-placeholder-key %}}: The password for the initial [user](/influxdb/v2/admin/users/).
|
The username for the initial [user](/influxdb/v2/admin/users/)--an admin
|
||||||
- {{% code-placeholder-key %}}`ORG_NAME`{{% /code-placeholder-key %}}: The name for the initial [organization](/influxdb/v2/admin/organizations/).
|
user with an API [Operator token](/influxdb/v2/admin/tokens/#operator-token).
|
||||||
- {{% code-placeholder-key %}}`BUCKET_NAME`{{% /code-placeholder-key %}}: The name for the initial [bucket](/influxdb/v2/admin/buckets/).
|
- {{% code-placeholder-key %}}`ADMIN_PASSWORD`{{% /code-placeholder-key %}}:
|
||||||
|
The password for the initial [user](/influxdb/v2/admin/users/).
|
||||||
For more options, see the [`influxdb` Docker Hub image](https://hub.docker.com/_/influxdb) documentation.
|
- {{% code-placeholder-key %}}`ORG_NAME`{{% /code-placeholder-key %}}:
|
||||||
_If you don't specify InfluxDB initial setup options, you can [set up manually](#set-up-influxdb) later using the UI or CLI in a running container._
|
The name for the initial [organization](/influxdb/v2/admin/organizations/).
|
||||||
|
- {{% code-placeholder-key %}}`BUCKET_NAME`{{% /code-placeholder-key %}}:
|
||||||
|
The name for the initial [bucket](/influxdb/v2/admin/buckets/).
|
||||||
|
|
||||||
If successful, the command starts InfluxDB initialized with the user, organization, bucket,
|
If successful, the command starts InfluxDB initialized with the user, organization, bucket,
|
||||||
and _[Operator token](/influxdb/v2/admin/tokens/#operator-token)_, and logs to stdout.
|
and _[Operator token](/influxdb/v2/admin/tokens/#operator-token)_, and logs to stdout.
|
||||||
You can view the Operator token in the `/etc/influxdb2/influx-configs` file and use it to authorize [creating an All Access token](#optional-create-all-access-tokens).
|
|
||||||
|
|
||||||
_To run the InfluxDB container in [detached mode](https://docs.docker.com/engine/reference/run/#detached-vs-foreground),
|
You can view the Operator token in the `/etc/influxdb2/influx-configs` file and
|
||||||
|
use it to authorize
|
||||||
|
[creating an All Access token](#optional-create-all-access-tokens).
|
||||||
|
|
||||||
|
_To run the InfluxDB container in
|
||||||
|
[detached mode](https://docs.docker.com/engine/reference/run/#detached-vs-foreground),
|
||||||
include the `--detach` flag in the `docker run` command._
|
include the `--detach` flag in the `docker run` command._
|
||||||
|
|
||||||
|
For more InfluxDB configuration options,
|
||||||
|
see the [`influxdb` Docker Hub image](https://hub.docker.com/_/influxdb)
|
||||||
|
documentation.
|
||||||
|
|
||||||
### Run InfluxDB CLI commands in a container
|
### Run InfluxDB CLI commands in a container
|
||||||
|
|
||||||
When you start a container using the `influxdb` Docker Hub image, it also installs the [`influx` CLI](/influxdb/v2/tools/influx-cli/) in the container.
|
When you start a container using the `influxdb` Docker Hub image, it also
|
||||||
With InfluxDB setup and running in the container, you can use the Docker CLI [`docker exec`](https://docs.docker.com/reference/cli/docker/container/exec/) command to interact with the `influx` and `influxd` CLIs inside the container.
|
installs the [`influx` CLI](/influxdb/v2/tools/influx-cli/) in the container.
|
||||||
|
With InfluxDB setup and running in the container, you can use the Docker CLI
|
||||||
|
[`docker exec`](https://docs.docker.com/reference/cli/docker/container/exec/)
|
||||||
|
command to interact with the `influx` and `influxd` CLIs inside the container.
|
||||||
|
|
||||||
To use the `influx` CLI in the container, run `docker exec -it <CONTAINER_NAME> influx <COMMAND>`--for example:
|
#### Syntax
|
||||||
|
|
||||||
|
<!--pytest.mark.skip-->
|
||||||
|
|
||||||
|
```sh
|
||||||
|
docker exec -it <CONTAINER_NAME> <CLI_NAME> <COMMAND>`
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Examples
|
||||||
|
|
||||||
<!--pytest.mark.skip-->
|
<!--pytest.mark.skip-->
|
||||||
|
|
||||||
|
@ -538,7 +599,9 @@ To use the `influx` CLI in the container, run `docker exec -it <CONTAINER_NAME>
|
||||||
docker exec -it influxdb2 influx config ls
|
docker exec -it influxdb2 influx config ls
|
||||||
```
|
```
|
||||||
|
|
||||||
```bash
|
<!--pytest.mark.skip-->
|
||||||
|
|
||||||
|
```sh
|
||||||
# View the server configuration
|
# View the server configuration
|
||||||
docker exec -it influxdb2 influx server-config
|
docker exec -it influxdb2 influx server-config
|
||||||
# Inspect server details
|
# Inspect server details
|
||||||
|
@ -547,7 +610,9 @@ docker exec -it influxdb2 influxd inspect -d
|
||||||
|
|
||||||
### Manage files in mounted volumes
|
### Manage files in mounted volumes
|
||||||
|
|
||||||
To copy files, such as the InfluxDB server `config.yml` file, between your local file system and a volume, use the [`docker container cp` command](https://docs.docker.com/reference/cli/docker/container/cp/).
|
To copy files, such as the InfluxDB server `config.yml` file, between your local
|
||||||
|
file system and a volume, use the
|
||||||
|
[`docker container cp` command](https://docs.docker.com/reference/cli/docker/container/cp/).
|
||||||
|
|
||||||
{{% /tab-content %}}
|
{{% /tab-content %}}
|
||||||
<!--------------------------------- END Docker -------------------------------->
|
<!--------------------------------- END Docker -------------------------------->
|
||||||
|
@ -590,7 +655,7 @@ InfluxData also makes [Helm charts](https://github.com/influxdata/helm-charts) a
|
||||||
This creates an `influxdb` Namespace, Service, and StatefulSet.
|
This creates an `influxdb` Namespace, Service, and StatefulSet.
|
||||||
A PersistentVolumeClaim is also created to store data written to InfluxDB.
|
A PersistentVolumeClaim is also created to store data written to InfluxDB.
|
||||||
|
|
||||||
**Important**: Always inspect YAML manifests before running `kubectl apply -f <url>`!
|
**Important**: always inspect YAML manifests before running `kubectl apply -f <url>`!
|
||||||
|
|
||||||
4. Ensure the Pod is running:
|
4. Ensure the Pod is running:
|
||||||
|
|
||||||
|
@ -629,7 +694,7 @@ To run InfluxDB on Raspberry Pi, you need:
|
||||||
|
|
||||||
- a Raspberry Pi 4+ or 400
|
- a Raspberry Pi 4+ or 400
|
||||||
- a 64-bit operating system.
|
- a 64-bit operating system.
|
||||||
We recommend installing a [64-bit version of Ubuntu](https://ubuntu.com/download/raspberry-pi)
|
_Recommended_ : a [64-bit version of Ubuntu](https://ubuntu.com/download/raspberry-pi)
|
||||||
of Ubuntu Desktop or Ubuntu Server compatible with 64-bit Raspberry Pi.
|
of Ubuntu Desktop or Ubuntu Server compatible with 64-bit Raspberry Pi.
|
||||||
|
|
||||||
### Install Linux binaries
|
### Install Linux binaries
|
||||||
|
@ -746,6 +811,8 @@ influxd
|
||||||
In **Powershell**, navigate into `C:\Program Files\InfluxData\influxdb` and start
|
In **Powershell**, navigate into `C:\Program Files\InfluxData\influxdb` and start
|
||||||
InfluxDB by running the `influxd` daemon:
|
InfluxDB by running the `influxd` daemon:
|
||||||
|
|
||||||
|
<!--pytest.mark.skip-->
|
||||||
|
|
||||||
```powershell
|
```powershell
|
||||||
cd -Path 'C:\Program Files\InfluxData\influxdb'
|
cd -Path 'C:\Program Files\InfluxData\influxdb'
|
||||||
./influxd
|
./influxd
|
||||||
|
|
|
@ -0,0 +1,152 @@
|
||||||
|
---
|
||||||
|
title: Install InfluxDB using Docker Compose
|
||||||
|
description: Use Docker Compose and secrets to install and set up InfluxDB OSS.
|
||||||
|
menu:
|
||||||
|
influxdb_v2:
|
||||||
|
name: Use Docker Compose
|
||||||
|
parent: Install InfluxDB
|
||||||
|
weight: 2
|
||||||
|
influxdb/v2/tags: [install]
|
||||||
|
related:
|
||||||
|
- /influxdb/v2/install/
|
||||||
|
- /influxdb/v2/reference/cli/influx/auth/
|
||||||
|
- /influxdb/v2/reference/cli/influx/config/
|
||||||
|
- /influxdb/v2/reference/cli/influx/
|
||||||
|
- /influxdb/v2/admin/tokens/
|
||||||
|
---
|
||||||
|
|
||||||
|
Use Docker Compose to install and set up InfluxDB v2, the time series platform
|
||||||
|
is purpose-built to collect, store, process and visualize metrics and events.
|
||||||
|
|
||||||
|
When you use Docker Compose to create an InfluxDB container, you can use
|
||||||
|
Compose [`secrets`](https://docs.docker.com/compose/use-secrets/) to control
|
||||||
|
access to sensitive credentials such as username, password, and token and
|
||||||
|
prevent leaking them in your `docker inspect` output.
|
||||||
|
|
||||||
|
The `influxdb` Docker image provides the following environment
|
||||||
|
variables to use with Compose `secrets`:
|
||||||
|
|
||||||
|
- `DOCKER_INFLUXDB_INIT_USERNAME_FILE`: the container's path to the file that
|
||||||
|
contains the username for your initial [user](/influxdb/v2/admin/users/).
|
||||||
|
- `DOCKER_INFLUXDB_INIT_PASSWORD_FILE`: the container's path to the file that
|
||||||
|
contains the password for your initial [user](/influxdb/v2/admin/users/).
|
||||||
|
- `DOCKER_INFLUXDB_INIT_ADMIN_TOKEN_FILE`: the container's path to the file that
|
||||||
|
contains a token to use for your initial
|
||||||
|
[Operator token](/influxdb/v2/admin/tokens/#operator-token).
|
||||||
|
If you don't specify an initial token, InfluxDB generates one for you.
|
||||||
|
|
||||||
|
## Set up using Docker Compose secrets
|
||||||
|
|
||||||
|
Follow steps to set up and run InfluxDB using Docker Compose and `secrets`:
|
||||||
|
|
||||||
|
1. If you haven't already, install
|
||||||
|
[Docker Desktop](https://www.docker.com/get-started/) for your system.
|
||||||
|
|
||||||
|
2. Copy the following `compose.yaml` into your project directory.
|
||||||
|
|
||||||
|
```yml
|
||||||
|
# compose.yaml
|
||||||
|
services:
|
||||||
|
influxdb2:
|
||||||
|
image: influxdb:2
|
||||||
|
ports:
|
||||||
|
- 8086:8086
|
||||||
|
environment:
|
||||||
|
DOCKER_INFLUXDB_INIT_MODE: setup
|
||||||
|
DOCKER_INFLUXDB_INIT_USERNAME_FILE: /run/secrets/influxdb2-admin-username
|
||||||
|
DOCKER_INFLUXDB_INIT_PASSWORD_FILE: /run/secrets/influxdb2-admin-password
|
||||||
|
DOCKER_INFLUXDB_INIT_ADMIN_TOKEN_FILE: /run/secrets/influxdb2-admin-token
|
||||||
|
DOCKER_INFLUXDB_INIT_ORG: docs
|
||||||
|
DOCKER_INFLUXDB_INIT_BUCKET: home
|
||||||
|
secrets:
|
||||||
|
- influxdb2-admin-username
|
||||||
|
- influxdb2-admin-password
|
||||||
|
- influxdb2-admin-token
|
||||||
|
volumes:
|
||||||
|
- type: volume
|
||||||
|
source: influxdb2-data
|
||||||
|
target: /var/lib/influxdb2
|
||||||
|
- type: volume
|
||||||
|
source: influxdb2-config
|
||||||
|
target: /etc/influxdb2
|
||||||
|
secrets:
|
||||||
|
influxdb2-admin-username:
|
||||||
|
file: ~/.env.influxdb2-admin-username
|
||||||
|
influxdb2-admin-password:
|
||||||
|
file: ~/.env.influxdb2-admin-password
|
||||||
|
influxdb2-admin-token:
|
||||||
|
file: ~/.env.influxdb2-admin-token
|
||||||
|
```
|
||||||
|
|
||||||
|
3. For each secret in `compose.yaml`, create a file that contains the secret
|
||||||
|
value--for example:
|
||||||
|
|
||||||
|
- `~/.env.influxdb2-admin-username`:
|
||||||
|
|
||||||
|
```text
|
||||||
|
admin
|
||||||
|
```
|
||||||
|
|
||||||
|
- `~/.env.influxdb2-admin-password`:
|
||||||
|
|
||||||
|
```text
|
||||||
|
MyInitialAdminPassword
|
||||||
|
```
|
||||||
|
|
||||||
|
- `~/.env.influxdb2-admin-token`:
|
||||||
|
|
||||||
|
```text
|
||||||
|
MyInitialAdminToken0==
|
||||||
|
```
|
||||||
|
|
||||||
|
4. To set up and run InfluxDB, enter the following command in your
|
||||||
|
terminal:
|
||||||
|
|
||||||
|
<!--pytest.mark.skip-->
|
||||||
|
|
||||||
|
```sh
|
||||||
|
docker compose up influxdb2
|
||||||
|
```
|
||||||
|
|
||||||
|
At runtime, the `influxdb` image:
|
||||||
|
|
||||||
|
1. Mounts `secrets` files from your host filesystem to `/run/secrets/<SECRET_NAME>`
|
||||||
|
in the container.
|
||||||
|
2. Assigns the environment variables to the specified files--for example:
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
environment:
|
||||||
|
DOCKER_INFLUXDB_INIT_USERNAME_FILE: /run/secrets/influxdb2-admin-username
|
||||||
|
DOCKER_INFLUXDB_INIT_PASSWORD_FILE: /run/secrets/influxdb2-admin-password
|
||||||
|
DOCKER_INFLUXDB_INIT_ADMIN_TOKEN_FILE: /run/secrets/influxdb2-admin-token
|
||||||
|
```
|
||||||
|
|
||||||
|
3. Retrieves the secrets from the mounted files and runs setup.
|
||||||
|
4. Starts InfluxDB.
|
||||||
|
5. Runs any custom initialization scripts mounted inside the container's
|
||||||
|
`/docker-entrypoint-initdb.d/` path.
|
||||||
|
|
||||||
|
If successful, InfluxDB initializes the user, password, organization, bucket,
|
||||||
|
and _[Operator token](/influxdb/v2/admin/tokens/#operator-token)_, and then
|
||||||
|
logs to stdout.
|
||||||
|
|
||||||
|
_Although Docker prevents inadvertently exposing secrets (for example, in
|
||||||
|
`docker inspect` output), a
|
||||||
|
user that has access to the running container's filesystem can view the secrets._
|
||||||
|
|
||||||
|
### Run InfluxDB CLI commands in a container
|
||||||
|
|
||||||
|
After you start a container using the `influxdb` Docker Hub image, you can
|
||||||
|
[use `docker exec` with the `influx` and `influxd`
|
||||||
|
CLIs](/influxdb/v2/install/#run-influxdb-cli-commands-in-a-container) inside the
|
||||||
|
container.
|
||||||
|
|
||||||
|
### Manage files in mounted volumes
|
||||||
|
|
||||||
|
To copy files, such as the InfluxDB server `config.yml` file, between your local
|
||||||
|
file system and a volume, use the
|
||||||
|
[`docker container cp` command](https://docs.docker.com/reference/cli/docker/container/cp/).
|
||||||
|
|
||||||
|
For more InfluxDB and Docker configuration options,
|
||||||
|
see the [`influxdb` Docker Hub image](https://hub.docker.com/_/influxdb)
|
||||||
|
documentation.
|
Loading…
Reference in New Issue