From c97013606280e16c68ae4a5236501cf1730bf45d Mon Sep 17 00:00:00 2001 From: Stefanos Giagkiozis Date: Mon, 2 Sep 2024 14:24:38 +0100 Subject: [PATCH 01/41] Add docker compose configuration section --- modules/ROOT/content-nav.adoc | 1 + .../pages/docker/docker-compose-settings.adoc | 99 +++++++++++++++++++ 2 files changed, 100 insertions(+) create mode 100644 modules/ROOT/pages/docker/docker-compose-settings.adoc diff --git a/modules/ROOT/content-nav.adoc b/modules/ROOT/content-nav.adoc index a4e5a8f8e..7dcb802c4 100644 --- a/modules/ROOT/content-nav.adoc +++ b/modules/ROOT/content-nav.adoc @@ -27,6 +27,7 @@ ** xref:docker/backup-restore.adoc[] ** xref:docker/security.adoc[] ** xref:docker/ref-settings.adoc[] +** xref:docker/docker-compose-settings.adoc[] * xref:kubernetes/index.adoc[] ** xref:kubernetes/introduction.adoc[] diff --git a/modules/ROOT/pages/docker/docker-compose-settings.adoc b/modules/ROOT/pages/docker/docker-compose-settings.adoc new file mode 100644 index 000000000..7f708f808 --- /dev/null +++ b/modules/ROOT/pages/docker/docker-compose-settings.adoc @@ -0,0 +1,99 @@ +:description: Running Docker Using Docker Compose +[[docker-compose-neo4j-configuration]] += Docker Compose configuration + +It is possible to create a docker compose configuration that will start a Neo4j instance. +In addition to storing the container configuration, docker compose can simplify the usage of secrets. + +[[docker-image]] +== Using a docker compose configuration file + +In order to create a docker compose configuration file, create a file named `docker-compose.yml` with the following content: + +[source,yaml,subs="attributes"] +---- +services: + neo4j: + image: neo4j:{neo4j-version-exact} + ports: + - "7474:7474" + - "7687:7687" + restart: always +---- + +Then you can start your container by executing in the same directory as the `docker-compose.yml` file: + +[source,shell,subs="attributes"] +---- +docker-compose up -d +---- + +the `-d` flag will start the container in detached mode. + +The above example is equivalent to executing the command in this xref:docker/introduction.adoc#docker-image[example]. + +Similarly, you can mount volumes and configure environment variables by changing your `docker-compose.yml` file in the following way: + +[source,yaml,subs="attributes"] +---- +services: + neo4j: + image: neo4j:{neo4j-version-exact} + volumes: + - /$HOME/neo4j/logs:/logs # Mounting the neo4j logs directory to a host local directory + - /$HOME/neo4j/config:/config # Mounting the neo4j config directory to a host local directory + - /$HOME/neo4j/plugin:/plugins # Mounting the neo4j plugin directory to a host local directory + environment: + - NEO4J_AUTH=neo4j/password # Setting the neo4j username and password + ports: + - "7474:7474" + - "7687:7687" + restart: always +---- + +[[docker-secrets]] +== Using Docker secrets + +It is advisable to not store sensitive information in the `docker-compose.yml` file, such as the database username and password like in the above example. +You can instead store your secrets in files and use them in your `docker-compose.yml` file without exposing their values. + +To store the username and password in a file and use it in your container you will need a file named `neo4j_auth.txt` with the following content: + +[source,text,subs="attributes"] +---- +neo4j:password +---- + +and the following `docker-compose.yml` file: + +[source,yaml,subs="attributes"] +---- +services: + neo4j: + image: neo4j:{neo4j-version-exact} + volumes: + - /$HOME/neo4j/logs:/logs # Mounting the neo4j logs directory to a host local directory + - /$HOME/neo4j/config:/config # Mounting the neo4j config directory to a host local directory + - /$HOME/neo4j/plugin:/plugins # Mounting the neo4j plugin directory to a host local directory + environment: + - NEO4J_AUTH_FILE=/run/secrets/neo4j_auth_file # Setting the neo4j username and password + ports: + - "7474:7474" + - "7687:7687" + restart: always + secrets: + - neo4j_auth_file +secrets: + neo4j_auth_file: + file: ./neo4j_auth.txt +---- + +In the secrets section you are defining the path to the `neo4j_auth.txt` file and in the `secrets` section of the `neo4j` +service you are instructing docker to mount the file under the `run/secrets/neo4j_auth_file` path. This then allows you to use the +file as the value of the `NEO4J_AUTH_FILE` environment variable. + +You can define any neo4j variable as a secret in the same way, by simply using the same variable name with the `_FILE` suffix. + +The secret value will override the equivalent environment variable if they are both defined. So for example if we had also defined an +environment variable `NEO4J_AUTH=j4oen/drowssap` in the `environment` section of the `neo4j` service, the value of `NEO4J_AUTH_FILE` would +be the one used. From 8c48b93f755538d09d9700e8f171c71362afae4c Mon Sep 17 00:00:00 2001 From: Stefanos Giagkiozis Date: Mon, 2 Sep 2024 16:12:26 +0100 Subject: [PATCH 02/41] Clean up and make the document more concise --- .../pages/docker/docker-compose-settings.adoc | 88 ++++++++++--------- 1 file changed, 48 insertions(+), 40 deletions(-) diff --git a/modules/ROOT/pages/docker/docker-compose-settings.adoc b/modules/ROOT/pages/docker/docker-compose-settings.adoc index 7f708f808..0c8ff63d6 100644 --- a/modules/ROOT/pages/docker/docker-compose-settings.adoc +++ b/modules/ROOT/pages/docker/docker-compose-settings.adoc @@ -8,9 +8,12 @@ In addition to storing the container configuration, docker compose can simplify [[docker-image]] == Using a docker compose configuration file -In order to create a docker compose configuration file, create a file named `docker-compose.yml` with the following content: +In order to create a docker compose configuration file, create a file named `docker-compose.yml`. -[source,yaml,subs="attributes"] +.Create a neo4j container +==== +.docker-compose.yaml +[source,yaml,subs="attributes+,+macros"] ---- services: neo4j: @@ -20,36 +23,37 @@ services: - "7687:7687" restart: always ---- - -Then you can start your container by executing in the same directory as the `docker-compose.yml` file: - -[source,shell,subs="attributes"] +.Execute +[source,shell,subs="attributes+,+macros"] ---- -docker-compose up -d +docker-compose up -d #<1> ---- +<1> The `-d` flag will start the container in detached mode. +==== -the `-d` flag will start the container in detached mode. - -The above example is equivalent to executing the command in this xref:docker/introduction.adoc#docker-image[example]. +Similarly, you can mount volumes and configure environment variables. -Similarly, you can mount volumes and configure environment variables by changing your `docker-compose.yml` file in the following way: - -[source,yaml,subs="attributes"] +.Mount logs, config and plugins to the equivalent container mount points +==== +[source,yaml,subs="attributes+,+macros"] ---- services: neo4j: image: neo4j:{neo4j-version-exact} volumes: - - /$HOME/neo4j/logs:/logs # Mounting the neo4j logs directory to a host local directory - - /$HOME/neo4j/config:/config # Mounting the neo4j config directory to a host local directory - - /$HOME/neo4j/plugin:/plugins # Mounting the neo4j plugin directory to a host local directory + - /$HOME/neo4j/logs:/logs # <1> + - /$HOME/neo4j/config:/config + - /$HOME/neo4j/plugins:/plugins environment: - - NEO4J_AUTH=neo4j/password # Setting the neo4j username and password + - NEO4J_AUTH=neo4j/your_password # <2> ports: - "7474:7474" - "7687:7687" restart: always ---- +<1> Mounting the neo4j logs directory to a host local directory +<2> Setting the neo4j username and password +==== [[docker-secrets]] == Using Docker secrets @@ -57,43 +61,47 @@ services: It is advisable to not store sensitive information in the `docker-compose.yml` file, such as the database username and password like in the above example. You can instead store your secrets in files and use them in your `docker-compose.yml` file without exposing their values. -To store the username and password in a file and use it in your container you will need a file named `neo4j_auth.txt` with the following content: - +.Create a ne4j container with the username and password defined as a secret +==== +.neo4j_auth.txt [source,text,subs="attributes"] ---- -neo4j:password +neo4j:your_password ---- - -and the following `docker-compose.yml` file: - -[source,yaml,subs="attributes"] +.docker-compose.yaml +[source,yaml,subs="attributes+,+macros"] ---- services: neo4j: image: neo4j:{neo4j-version-exact} volumes: - - /$HOME/neo4j/logs:/logs # Mounting the neo4j logs directory to a host local directory - - /$HOME/neo4j/config:/config # Mounting the neo4j config directory to a host local directory - - /$HOME/neo4j/plugin:/plugins # Mounting the neo4j plugin directory to a host local directory + - /$HOME/neo4j/logs:/logs + - /$HOME/neo4j/config:/config + - /$HOME/neo4j/plugin:/plugins environment: - - NEO4J_AUTH_FILE=/run/secrets/neo4j_auth_file # Setting the neo4j username and password + - NEO4J_AUTH_FILE=/run/secrets/neo4j_auth_file # <1> ports: - "7474:7474" - "7687:7687" restart: always secrets: - - neo4j_auth_file + - neo4j_auth_file #<4> secrets: - neo4j_auth_file: - file: ./neo4j_auth.txt + neo4j_auth_file: # <2> + file: ./neo4j_auth.txt # <3> ---- - -In the secrets section you are defining the path to the `neo4j_auth.txt` file and in the `secrets` section of the `neo4j` -service you are instructing docker to mount the file under the `run/secrets/neo4j_auth_file` path. This then allows you to use the -file as the value of the `NEO4J_AUTH_FILE` environment variable. - +<1> Defining the file where the value for the `NEO4J_AUTH` environment variable can be found +<2> Defining the secret named `neo4j_auth_file` +<3> Pointing to the `neo4j_auth.txt` file +<4> Using the secret in the `neo4j` service +==== + +[NOTE] +==== You can define any neo4j variable as a secret in the same way, by simply using the same variable name with the `_FILE` suffix. - -The secret value will override the equivalent environment variable if they are both defined. So for example if we had also defined an -environment variable `NEO4J_AUTH=j4oen/drowssap` in the `environment` section of the `neo4j` service, the value of `NEO4J_AUTH_FILE` would -be the one used. +==== +[WARNING] +==== +The secret value will override the equivalent environment variable if they are both defined. +So for example if we had also defined an environment variable `NEO4J_AUTH=neo4j/your_other_password` in the `environment` section of the `neo4j` service, the value of `NEO4J_AUTH_FILE` would be the one used. +==== \ No newline at end of file From c0a7dc604553ecec6f8e5f98b5bad3460d2285e3 Mon Sep 17 00:00:00 2001 From: Reneta Popova Date: Wed, 4 Sep 2024 11:28:24 +0100 Subject: [PATCH 03/41] Update modules/ROOT/pages/docker/docker-compose-settings.adoc --- modules/ROOT/pages/docker/docker-compose-settings.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/ROOT/pages/docker/docker-compose-settings.adoc b/modules/ROOT/pages/docker/docker-compose-settings.adoc index 0c8ff63d6..81f01f739 100644 --- a/modules/ROOT/pages/docker/docker-compose-settings.adoc +++ b/modules/ROOT/pages/docker/docker-compose-settings.adoc @@ -51,7 +51,7 @@ services: - "7687:7687" restart: always ---- -<1> Mounting the neo4j logs directory to a host local directory +<1> Mounting the _neo4j/logs_ directory to a host local directory. <2> Setting the neo4j username and password ==== From 996b4758e5c0da0ba5cbdc6ec3bdd6ebd8eb4015 Mon Sep 17 00:00:00 2001 From: Reneta Popova Date: Wed, 4 Sep 2024 11:28:30 +0100 Subject: [PATCH 04/41] Update modules/ROOT/pages/docker/docker-compose-settings.adoc --- modules/ROOT/pages/docker/docker-compose-settings.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/ROOT/pages/docker/docker-compose-settings.adoc b/modules/ROOT/pages/docker/docker-compose-settings.adoc index 81f01f739..4848ac797 100644 --- a/modules/ROOT/pages/docker/docker-compose-settings.adoc +++ b/modules/ROOT/pages/docker/docker-compose-settings.adoc @@ -52,7 +52,7 @@ services: restart: always ---- <1> Mounting the _neo4j/logs_ directory to a host local directory. -<2> Setting the neo4j username and password +<2> Setting the `neo4j` username and password. ==== [[docker-secrets]] From 2685c1c1b9953fc50ff382c0a29b54dd3430f3bf Mon Sep 17 00:00:00 2001 From: Reneta Popova Date: Wed, 4 Sep 2024 11:28:40 +0100 Subject: [PATCH 05/41] Update modules/ROOT/pages/docker/docker-compose-settings.adoc --- modules/ROOT/pages/docker/docker-compose-settings.adoc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/modules/ROOT/pages/docker/docker-compose-settings.adoc b/modules/ROOT/pages/docker/docker-compose-settings.adoc index 4848ac797..e07e05d7f 100644 --- a/modules/ROOT/pages/docker/docker-compose-settings.adoc +++ b/modules/ROOT/pages/docker/docker-compose-settings.adoc @@ -33,7 +33,8 @@ docker-compose up -d #<1> Similarly, you can mount volumes and configure environment variables. -.Mount logs, config and plugins to the equivalent container mount points +. Mount logs, config, and plugins to the equivalent container mount points. ++ ==== [source,yaml,subs="attributes+,+macros"] ---- From 8faf17dcff6636452d0d31bcce904932a141d507 Mon Sep 17 00:00:00 2001 From: Reneta Popova Date: Wed, 4 Sep 2024 11:28:52 +0100 Subject: [PATCH 06/41] Update modules/ROOT/pages/docker/docker-compose-settings.adoc --- modules/ROOT/pages/docker/docker-compose-settings.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/ROOT/pages/docker/docker-compose-settings.adoc b/modules/ROOT/pages/docker/docker-compose-settings.adoc index e07e05d7f..01f6ae7e8 100644 --- a/modules/ROOT/pages/docker/docker-compose-settings.adoc +++ b/modules/ROOT/pages/docker/docker-compose-settings.adoc @@ -1,5 +1,5 @@ :description: Running Docker Using Docker Compose -[[docker-compose-neo4j-configuration]] +[[docker-compose-neo4j-standalone] = Docker Compose configuration It is possible to create a docker compose configuration that will start a Neo4j instance. From 0647495beacf741e60941c171b89961516efce58 Mon Sep 17 00:00:00 2001 From: Reneta Popova Date: Wed, 4 Sep 2024 11:29:05 +0100 Subject: [PATCH 07/41] Update modules/ROOT/pages/docker/docker-compose-settings.adoc --- modules/ROOT/pages/docker/docker-compose-settings.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/ROOT/pages/docker/docker-compose-settings.adoc b/modules/ROOT/pages/docker/docker-compose-settings.adoc index 01f6ae7e8..77e9d3918 100644 --- a/modules/ROOT/pages/docker/docker-compose-settings.adoc +++ b/modules/ROOT/pages/docker/docker-compose-settings.adoc @@ -99,7 +99,7 @@ secrets: [NOTE] ==== -You can define any neo4j variable as a secret in the same way, by simply using the same variable name with the `_FILE` suffix. +You can define any Neo4j variable as a secret in the same way by simply using the same variable name with the `_FILE` suffix. ==== [WARNING] ==== From f02f78c2f48b73d5cf43e2dbe8cd6781820a99c9 Mon Sep 17 00:00:00 2001 From: Reneta Popova Date: Wed, 4 Sep 2024 11:29:18 +0100 Subject: [PATCH 08/41] Update modules/ROOT/pages/docker/docker-compose-settings.adoc --- modules/ROOT/pages/docker/docker-compose-settings.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/ROOT/pages/docker/docker-compose-settings.adoc b/modules/ROOT/pages/docker/docker-compose-settings.adoc index 77e9d3918..9e1c1e6c1 100644 --- a/modules/ROOT/pages/docker/docker-compose-settings.adoc +++ b/modules/ROOT/pages/docker/docker-compose-settings.adoc @@ -103,6 +103,6 @@ You can define any Neo4j variable as a secret in the same way by simply using th ==== [WARNING] ==== -The secret value will override the equivalent environment variable if they are both defined. +The secret value overrides the equivalent environment variable if they are both defined. So for example if we had also defined an environment variable `NEO4J_AUTH=neo4j/your_other_password` in the `environment` section of the `neo4j` service, the value of `NEO4J_AUTH_FILE` would be the one used. ==== \ No newline at end of file From de28df681d5b9855cf7898fbddfa1c5664c26c90 Mon Sep 17 00:00:00 2001 From: Reneta Popova Date: Wed, 4 Sep 2024 11:29:24 +0100 Subject: [PATCH 09/41] Update modules/ROOT/pages/docker/docker-compose-settings.adoc --- modules/ROOT/pages/docker/docker-compose-settings.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/ROOT/pages/docker/docker-compose-settings.adoc b/modules/ROOT/pages/docker/docker-compose-settings.adoc index 9e1c1e6c1..960543e5c 100644 --- a/modules/ROOT/pages/docker/docker-compose-settings.adoc +++ b/modules/ROOT/pages/docker/docker-compose-settings.adoc @@ -104,5 +104,5 @@ You can define any Neo4j variable as a secret in the same way by simply using th [WARNING] ==== The secret value overrides the equivalent environment variable if they are both defined. -So for example if we had also defined an environment variable `NEO4J_AUTH=neo4j/your_other_password` in the `environment` section of the `neo4j` service, the value of `NEO4J_AUTH_FILE` would be the one used. +So, for example, if you also define an environment variable `NEO4J_AUTH=neo4j/your_other_password` in the `environment` section of the `neo4j` service, the value of `NEO4J_AUTH_FILE` will be the one used. ==== \ No newline at end of file From 269d6f1d8407081f428874f1b45a93e9ed320e9f Mon Sep 17 00:00:00 2001 From: Reneta Popova Date: Wed, 4 Sep 2024 11:29:32 +0100 Subject: [PATCH 10/41] Update modules/ROOT/pages/docker/docker-compose-settings.adoc --- modules/ROOT/pages/docker/docker-compose-settings.adoc | 1 + 1 file changed, 1 insertion(+) diff --git a/modules/ROOT/pages/docker/docker-compose-settings.adoc b/modules/ROOT/pages/docker/docker-compose-settings.adoc index 960543e5c..1d9a52336 100644 --- a/modules/ROOT/pages/docker/docker-compose-settings.adoc +++ b/modules/ROOT/pages/docker/docker-compose-settings.adoc @@ -102,6 +102,7 @@ secrets: You can define any Neo4j variable as a secret in the same way by simply using the same variable name with the `_FILE` suffix. ==== [WARNING] + ==== The secret value overrides the equivalent environment variable if they are both defined. So, for example, if you also define an environment variable `NEO4J_AUTH=neo4j/your_other_password` in the `environment` section of the `neo4j` service, the value of `NEO4J_AUTH_FILE` will be the one used. From 096efc0f9fc51bb363f27a3ad9606aa67c743194 Mon Sep 17 00:00:00 2001 From: Reneta Popova Date: Wed, 4 Sep 2024 11:29:39 +0100 Subject: [PATCH 11/41] Update modules/ROOT/pages/docker/docker-compose-settings.adoc --- modules/ROOT/pages/docker/docker-compose-settings.adoc | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/modules/ROOT/pages/docker/docker-compose-settings.adoc b/modules/ROOT/pages/docker/docker-compose-settings.adoc index 1d9a52336..4b94cbb9a 100644 --- a/modules/ROOT/pages/docker/docker-compose-settings.adoc +++ b/modules/ROOT/pages/docker/docker-compose-settings.adoc @@ -96,7 +96,12 @@ secrets: <3> Pointing to the `neo4j_auth.txt` file <4> Using the secret in the `neo4j` service ==== - +. Deploy your Neo4j server by running `docker-compose up` from your project folder. ++ +[source,shell,subs="attributes+,+macros"] +---- +docker-compose up -d +---- [NOTE] ==== You can define any Neo4j variable as a secret in the same way by simply using the same variable name with the `_FILE` suffix. From 43e8d3d03df9befed9274562d3b5a36ee41315a4 Mon Sep 17 00:00:00 2001 From: Reneta Popova Date: Wed, 4 Sep 2024 11:29:46 +0100 Subject: [PATCH 12/41] Update modules/ROOT/pages/docker/docker-compose-settings.adoc --- modules/ROOT/pages/docker/docker-compose-settings.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/ROOT/pages/docker/docker-compose-settings.adoc b/modules/ROOT/pages/docker/docker-compose-settings.adoc index 4b94cbb9a..e6760b521 100644 --- a/modules/ROOT/pages/docker/docker-compose-settings.adoc +++ b/modules/ROOT/pages/docker/docker-compose-settings.adoc @@ -1,6 +1,6 @@ :description: Running Docker Using Docker Compose [[docker-compose-neo4j-standalone] -= Docker Compose configuration += Deploy a Neo4j standalone server using Docker Compose It is possible to create a docker compose configuration that will start a Neo4j instance. In addition to storing the container configuration, docker compose can simplify the usage of secrets. From cf02fc066d0c3085305475d5e7d52ff988063cc1 Mon Sep 17 00:00:00 2001 From: Reneta Popova Date: Wed, 4 Sep 2024 11:30:00 +0100 Subject: [PATCH 13/41] Update modules/ROOT/pages/docker/docker-compose-settings.adoc --- modules/ROOT/pages/docker/docker-compose-settings.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/ROOT/pages/docker/docker-compose-settings.adoc b/modules/ROOT/pages/docker/docker-compose-settings.adoc index e6760b521..94cb871c6 100644 --- a/modules/ROOT/pages/docker/docker-compose-settings.adoc +++ b/modules/ROOT/pages/docker/docker-compose-settings.adoc @@ -2,7 +2,7 @@ [[docker-compose-neo4j-standalone] = Deploy a Neo4j standalone server using Docker Compose -It is possible to create a docker compose configuration that will start a Neo4j instance. +You can deploy a Neo4j standalone server using Docker Compose. In addition to storing the container configuration, docker compose can simplify the usage of secrets. [[docker-image]] From 571ffddb7e0c3996981600428b9853f86ece8518 Mon Sep 17 00:00:00 2001 From: Reneta Popova Date: Wed, 4 Sep 2024 11:30:14 +0100 Subject: [PATCH 14/41] Update modules/ROOT/pages/docker/docker-compose-settings.adoc --- modules/ROOT/pages/docker/docker-compose-settings.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/ROOT/pages/docker/docker-compose-settings.adoc b/modules/ROOT/pages/docker/docker-compose-settings.adoc index 94cb871c6..497329129 100644 --- a/modules/ROOT/pages/docker/docker-compose-settings.adoc +++ b/modules/ROOT/pages/docker/docker-compose-settings.adoc @@ -3,7 +3,7 @@ = Deploy a Neo4j standalone server using Docker Compose You can deploy a Neo4j standalone server using Docker Compose. -In addition to storing the container configuration, docker compose can simplify the usage of secrets. +In addition to storing the container configuration, Docker Compose can simplify the usage of secrets. [[docker-image]] == Using a docker compose configuration file From 7ddf1c15e8ec2cdfe84e08c88f56111cb60a9876 Mon Sep 17 00:00:00 2001 From: Reneta Popova Date: Wed, 4 Sep 2024 11:30:25 +0100 Subject: [PATCH 15/41] Update modules/ROOT/pages/docker/docker-compose-settings.adoc --- modules/ROOT/pages/docker/docker-compose-settings.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/ROOT/pages/docker/docker-compose-settings.adoc b/modules/ROOT/pages/docker/docker-compose-settings.adoc index 497329129..82a3c79c9 100644 --- a/modules/ROOT/pages/docker/docker-compose-settings.adoc +++ b/modules/ROOT/pages/docker/docker-compose-settings.adoc @@ -6,7 +6,7 @@ You can deploy a Neo4j standalone server using Docker Compose. In addition to storing the container configuration, Docker Compose can simplify the usage of secrets. [[docker-image]] -== Using a docker compose configuration file +== Deploy a Neo4j server with basic authentication In order to create a docker compose configuration file, create a file named `docker-compose.yml`. From 6e51a2d9205143a5d52ecaead22262bcfbbbe822 Mon Sep 17 00:00:00 2001 From: Reneta Popova Date: Wed, 4 Sep 2024 11:30:41 +0100 Subject: [PATCH 16/41] Update modules/ROOT/pages/docker/docker-compose-settings.adoc --- modules/ROOT/pages/docker/docker-compose-settings.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/ROOT/pages/docker/docker-compose-settings.adoc b/modules/ROOT/pages/docker/docker-compose-settings.adoc index 82a3c79c9..5034fe871 100644 --- a/modules/ROOT/pages/docker/docker-compose-settings.adoc +++ b/modules/ROOT/pages/docker/docker-compose-settings.adoc @@ -5,7 +5,7 @@ You can deploy a Neo4j standalone server using Docker Compose. In addition to storing the container configuration, Docker Compose can simplify the usage of secrets. -[[docker-image]] +[[docker-compose-basic-authentication]] == Deploy a Neo4j server with basic authentication In order to create a docker compose configuration file, create a file named `docker-compose.yml`. From d446d5201d975fb1a28981f21428831e466d49b6 Mon Sep 17 00:00:00 2001 From: Reneta Popova Date: Wed, 4 Sep 2024 11:30:58 +0100 Subject: [PATCH 17/41] Update modules/ROOT/pages/docker/docker-compose-settings.adoc --- modules/ROOT/pages/docker/docker-compose-settings.adoc | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/modules/ROOT/pages/docker/docker-compose-settings.adoc b/modules/ROOT/pages/docker/docker-compose-settings.adoc index 5034fe871..6f94a58de 100644 --- a/modules/ROOT/pages/docker/docker-compose-settings.adoc +++ b/modules/ROOT/pages/docker/docker-compose-settings.adoc @@ -8,7 +8,15 @@ In addition to storing the container configuration, Docker Compose can simplify [[docker-compose-basic-authentication]] == Deploy a Neo4j server with basic authentication -In order to create a docker compose configuration file, create a file named `docker-compose.yml`. +Before you start, verify that you have installed Docker Compose. +For more information, see the https://docs.docker.com/compose/install/[Install Docker Compose official documentation]. + +//. Create a configuration file, `neo4j.conf` make it readable and writable for the user (eg., `chmod 640 neo4j.conf`). +. Prepare your _docker-compose.yml_ file using the following example. +For more information, see the https://docs.docker.com/compose/compose-file/#service-configuration-reference[Docker Compose official Service configuration reference]. ++ +.Example of a _docker-compose.yml_ file +==== .Create a neo4j container ==== From 1e912a51478cc44dda03378937dd9580557c5bba Mon Sep 17 00:00:00 2001 From: Reneta Popova Date: Wed, 4 Sep 2024 11:31:10 +0100 Subject: [PATCH 18/41] Update modules/ROOT/pages/docker/docker-compose-settings.adoc --- modules/ROOT/pages/docker/docker-compose-settings.adoc | 1 - 1 file changed, 1 deletion(-) diff --git a/modules/ROOT/pages/docker/docker-compose-settings.adoc b/modules/ROOT/pages/docker/docker-compose-settings.adoc index 6f94a58de..2be19f9af 100644 --- a/modules/ROOT/pages/docker/docker-compose-settings.adoc +++ b/modules/ROOT/pages/docker/docker-compose-settings.adoc @@ -18,7 +18,6 @@ For more information, see the https://docs.docker.com/compose/compose-file/#serv .Example of a _docker-compose.yml_ file ==== -.Create a neo4j container ==== .docker-compose.yaml [source,yaml,subs="attributes+,+macros"] From 32b8389058c59786033d50756d57792b2a0592d2 Mon Sep 17 00:00:00 2001 From: Reneta Popova Date: Wed, 4 Sep 2024 11:31:22 +0100 Subject: [PATCH 19/41] Update modules/ROOT/pages/docker/docker-compose-settings.adoc --- modules/ROOT/pages/docker/docker-compose-settings.adoc | 1 - 1 file changed, 1 deletion(-) diff --git a/modules/ROOT/pages/docker/docker-compose-settings.adoc b/modules/ROOT/pages/docker/docker-compose-settings.adoc index 2be19f9af..e79e6df24 100644 --- a/modules/ROOT/pages/docker/docker-compose-settings.adoc +++ b/modules/ROOT/pages/docker/docker-compose-settings.adoc @@ -18,7 +18,6 @@ For more information, see the https://docs.docker.com/compose/compose-file/#serv .Example of a _docker-compose.yml_ file ==== -==== .docker-compose.yaml [source,yaml,subs="attributes+,+macros"] ---- From a7d454ce32d22a2af63012730f5418ae015ad7ce Mon Sep 17 00:00:00 2001 From: Reneta Popova Date: Wed, 4 Sep 2024 11:33:05 +0100 Subject: [PATCH 20/41] Update modules/ROOT/pages/docker/docker-compose-settings.adoc --- modules/ROOT/pages/docker/docker-compose-settings.adoc | 1 - 1 file changed, 1 deletion(-) diff --git a/modules/ROOT/pages/docker/docker-compose-settings.adoc b/modules/ROOT/pages/docker/docker-compose-settings.adoc index e79e6df24..f4ef42c42 100644 --- a/modules/ROOT/pages/docker/docker-compose-settings.adoc +++ b/modules/ROOT/pages/docker/docker-compose-settings.adoc @@ -18,7 +18,6 @@ For more information, see the https://docs.docker.com/compose/compose-file/#serv .Example of a _docker-compose.yml_ file ==== -.docker-compose.yaml [source,yaml,subs="attributes+,+macros"] ---- services: From b4881655b11fa1f2c6b13ef9156afccfe21fe01e Mon Sep 17 00:00:00 2001 From: Reneta Popova Date: Wed, 4 Sep 2024 11:33:16 +0100 Subject: [PATCH 21/41] Update modules/ROOT/pages/docker/docker-compose-settings.adoc --- modules/ROOT/pages/docker/docker-compose-settings.adoc | 1 + 1 file changed, 1 insertion(+) diff --git a/modules/ROOT/pages/docker/docker-compose-settings.adoc b/modules/ROOT/pages/docker/docker-compose-settings.adoc index f4ef42c42..dd1ed2c66 100644 --- a/modules/ROOT/pages/docker/docker-compose-settings.adoc +++ b/modules/ROOT/pages/docker/docker-compose-settings.adoc @@ -28,6 +28,7 @@ services: - "7687:7687" restart: always ---- +==== .Execute [source,shell,subs="attributes+,+macros"] ---- From ffb96a831ff1bd7f147c3e403175468e143ba0d0 Mon Sep 17 00:00:00 2001 From: Reneta Popova Date: Wed, 4 Sep 2024 11:33:30 +0100 Subject: [PATCH 22/41] Update modules/ROOT/pages/docker/docker-compose-settings.adoc --- modules/ROOT/pages/docker/docker-compose-settings.adoc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/modules/ROOT/pages/docker/docker-compose-settings.adoc b/modules/ROOT/pages/docker/docker-compose-settings.adoc index dd1ed2c66..a5254ae64 100644 --- a/modules/ROOT/pages/docker/docker-compose-settings.adoc +++ b/modules/ROOT/pages/docker/docker-compose-settings.adoc @@ -29,7 +29,8 @@ services: restart: always ---- ==== -.Execute +. Deploy your Neo4j server by running `docker-compose up` from your project folder. ++ [source,shell,subs="attributes+,+macros"] ---- docker-compose up -d #<1> From f6b43f755d377f76ccf9561126d0fcb9e53ce03c Mon Sep 17 00:00:00 2001 From: Reneta Popova Date: Wed, 4 Sep 2024 11:33:37 +0100 Subject: [PATCH 23/41] Update modules/ROOT/pages/docker/docker-compose-settings.adoc --- modules/ROOT/pages/docker/docker-compose-settings.adoc | 1 - 1 file changed, 1 deletion(-) diff --git a/modules/ROOT/pages/docker/docker-compose-settings.adoc b/modules/ROOT/pages/docker/docker-compose-settings.adoc index a5254ae64..ac5038447 100644 --- a/modules/ROOT/pages/docker/docker-compose-settings.adoc +++ b/modules/ROOT/pages/docker/docker-compose-settings.adoc @@ -36,7 +36,6 @@ services: docker-compose up -d #<1> ---- <1> The `-d` flag will start the container in detached mode. -==== Similarly, you can mount volumes and configure environment variables. From e8c2c7dfe72b4320a28cbda436917f112f90be30 Mon Sep 17 00:00:00 2001 From: Reneta Popova Date: Wed, 4 Sep 2024 11:33:43 +0100 Subject: [PATCH 24/41] Update modules/ROOT/pages/docker/docker-compose-settings.adoc --- modules/ROOT/pages/docker/docker-compose-settings.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/ROOT/pages/docker/docker-compose-settings.adoc b/modules/ROOT/pages/docker/docker-compose-settings.adoc index ac5038447..4bf317d04 100644 --- a/modules/ROOT/pages/docker/docker-compose-settings.adoc +++ b/modules/ROOT/pages/docker/docker-compose-settings.adoc @@ -35,7 +35,7 @@ services: ---- docker-compose up -d #<1> ---- -<1> The `-d` flag will start the container in detached mode. +<1> The `-d` flag starts the container in detached mode. Similarly, you can mount volumes and configure environment variables. From e6218ad3e2fbc9c7c388b896e2b4ba6b6cb4b67f Mon Sep 17 00:00:00 2001 From: Reneta Popova Date: Wed, 4 Sep 2024 11:33:48 +0100 Subject: [PATCH 25/41] Update modules/ROOT/pages/docker/docker-compose-settings.adoc --- modules/ROOT/pages/docker/docker-compose-settings.adoc | 1 - 1 file changed, 1 deletion(-) diff --git a/modules/ROOT/pages/docker/docker-compose-settings.adoc b/modules/ROOT/pages/docker/docker-compose-settings.adoc index 4bf317d04..f21d58f4e 100644 --- a/modules/ROOT/pages/docker/docker-compose-settings.adoc +++ b/modules/ROOT/pages/docker/docker-compose-settings.adoc @@ -41,7 +41,6 @@ Similarly, you can mount volumes and configure environment variables. . Mount logs, config, and plugins to the equivalent container mount points. + -==== [source,yaml,subs="attributes+,+macros"] ---- services: From 8bf77afa9bc80565c4edf8478f5ddfe488985f9b Mon Sep 17 00:00:00 2001 From: Reneta Popova Date: Wed, 4 Sep 2024 11:33:54 +0100 Subject: [PATCH 26/41] Update modules/ROOT/pages/docker/docker-compose-settings.adoc --- modules/ROOT/pages/docker/docker-compose-settings.adoc | 1 - 1 file changed, 1 deletion(-) diff --git a/modules/ROOT/pages/docker/docker-compose-settings.adoc b/modules/ROOT/pages/docker/docker-compose-settings.adoc index f21d58f4e..900634dfa 100644 --- a/modules/ROOT/pages/docker/docker-compose-settings.adoc +++ b/modules/ROOT/pages/docker/docker-compose-settings.adoc @@ -59,7 +59,6 @@ services: ---- <1> Mounting the _neo4j/logs_ directory to a host local directory. <2> Setting the `neo4j` username and password. -==== [[docker-secrets]] == Using Docker secrets From 1c4daf2bf59137d8d36e1a741c70b3ee18a82c1c Mon Sep 17 00:00:00 2001 From: Reneta Popova Date: Wed, 4 Sep 2024 11:34:01 +0100 Subject: [PATCH 27/41] Update modules/ROOT/pages/docker/docker-compose-settings.adoc --- modules/ROOT/pages/docker/docker-compose-settings.adoc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/modules/ROOT/pages/docker/docker-compose-settings.adoc b/modules/ROOT/pages/docker/docker-compose-settings.adoc index 900634dfa..8b7a8a7cf 100644 --- a/modules/ROOT/pages/docker/docker-compose-settings.adoc +++ b/modules/ROOT/pages/docker/docker-compose-settings.adoc @@ -60,7 +60,8 @@ services: <1> Mounting the _neo4j/logs_ directory to a host local directory. <2> Setting the `neo4j` username and password. -[[docker-secrets]] +[role=label--recommended] +[[docker-compose-secrets]] == Using Docker secrets It is advisable to not store sensitive information in the `docker-compose.yml` file, such as the database username and password like in the above example. From f17e22c5715212ea446a2683b9d7137953d3f7f9 Mon Sep 17 00:00:00 2001 From: Reneta Popova Date: Wed, 4 Sep 2024 11:34:07 +0100 Subject: [PATCH 28/41] Update modules/ROOT/pages/docker/docker-compose-settings.adoc --- modules/ROOT/pages/docker/docker-compose-settings.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/ROOT/pages/docker/docker-compose-settings.adoc b/modules/ROOT/pages/docker/docker-compose-settings.adoc index 8b7a8a7cf..e999b2d5e 100644 --- a/modules/ROOT/pages/docker/docker-compose-settings.adoc +++ b/modules/ROOT/pages/docker/docker-compose-settings.adoc @@ -62,7 +62,7 @@ services: [role=label--recommended] [[docker-compose-secrets]] -== Using Docker secrets +== Deploy a Neo4j server with Docker secrets It is advisable to not store sensitive information in the `docker-compose.yml` file, such as the database username and password like in the above example. You can instead store your secrets in files and use them in your `docker-compose.yml` file without exposing their values. From 551394e28b1df536aba4673c94ffee6fa214f801 Mon Sep 17 00:00:00 2001 From: Reneta Popova Date: Wed, 4 Sep 2024 11:34:38 +0100 Subject: [PATCH 29/41] Update modules/ROOT/pages/docker/docker-compose-settings.adoc --- modules/ROOT/pages/docker/docker-compose-settings.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/ROOT/pages/docker/docker-compose-settings.adoc b/modules/ROOT/pages/docker/docker-compose-settings.adoc index e999b2d5e..cdb826ca2 100644 --- a/modules/ROOT/pages/docker/docker-compose-settings.adoc +++ b/modules/ROOT/pages/docker/docker-compose-settings.adoc @@ -64,7 +64,7 @@ services: [[docker-compose-secrets]] == Deploy a Neo4j server with Docker secrets -It is advisable to not store sensitive information in the `docker-compose.yml` file, such as the database username and password like in the above example. +It is advisable not to store sensitive information, such as the database username and password, in the _docker-compose.yml_ file. You can instead store your secrets in files and use them in your `docker-compose.yml` file without exposing their values. .Create a ne4j container with the username and password defined as a secret From a663e3e915537e9c29acad9aa084ab9165f0a0a2 Mon Sep 17 00:00:00 2001 From: Reneta Popova Date: Wed, 4 Sep 2024 11:34:43 +0100 Subject: [PATCH 30/41] Update modules/ROOT/pages/docker/docker-compose-settings.adoc --- modules/ROOT/pages/docker/docker-compose-settings.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/ROOT/pages/docker/docker-compose-settings.adoc b/modules/ROOT/pages/docker/docker-compose-settings.adoc index cdb826ca2..ce0816c7a 100644 --- a/modules/ROOT/pages/docker/docker-compose-settings.adoc +++ b/modules/ROOT/pages/docker/docker-compose-settings.adoc @@ -65,7 +65,7 @@ services: == Deploy a Neo4j server with Docker secrets It is advisable not to store sensitive information, such as the database username and password, in the _docker-compose.yml_ file. -You can instead store your secrets in files and use them in your `docker-compose.yml` file without exposing their values. +You can instead store your credentials in files and use them in your _docker-compose.yml_ file without exposing their values. .Create a ne4j container with the username and password defined as a secret ==== From a528a26a87ba9f7959bb9c54285c4e29d7ee61ce Mon Sep 17 00:00:00 2001 From: Reneta Popova Date: Wed, 4 Sep 2024 11:34:54 +0100 Subject: [PATCH 31/41] Update modules/ROOT/pages/docker/docker-compose-settings.adoc --- modules/ROOT/pages/docker/docker-compose-settings.adoc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/modules/ROOT/pages/docker/docker-compose-settings.adoc b/modules/ROOT/pages/docker/docker-compose-settings.adoc index ce0816c7a..b296e6bce 100644 --- a/modules/ROOT/pages/docker/docker-compose-settings.adoc +++ b/modules/ROOT/pages/docker/docker-compose-settings.adoc @@ -67,7 +67,8 @@ services: It is advisable not to store sensitive information, such as the database username and password, in the _docker-compose.yml_ file. You can instead store your credentials in files and use them in your _docker-compose.yml_ file without exposing their values. -.Create a ne4j container with the username and password defined as a secret +. Create a file, for example, _neo4j_auth.txt_, containing the username and password for the Neo4j server to be used as a Docker secret. ++ ==== .neo4j_auth.txt [source,text,subs="attributes"] From dad56f86edc40e37699930427924c4fb9305b40e Mon Sep 17 00:00:00 2001 From: Reneta Popova Date: Wed, 4 Sep 2024 11:34:59 +0100 Subject: [PATCH 32/41] Update modules/ROOT/pages/docker/docker-compose-settings.adoc --- modules/ROOT/pages/docker/docker-compose-settings.adoc | 1 - 1 file changed, 1 deletion(-) diff --git a/modules/ROOT/pages/docker/docker-compose-settings.adoc b/modules/ROOT/pages/docker/docker-compose-settings.adoc index b296e6bce..b0c9edadb 100644 --- a/modules/ROOT/pages/docker/docker-compose-settings.adoc +++ b/modules/ROOT/pages/docker/docker-compose-settings.adoc @@ -69,7 +69,6 @@ You can instead store your credentials in files and use them in your _docker-com . Create a file, for example, _neo4j_auth.txt_, containing the username and password for the Neo4j server to be used as a Docker secret. + -==== .neo4j_auth.txt [source,text,subs="attributes"] ---- From 49a5b7527153c0698c210c414538a5b7bfff8850 Mon Sep 17 00:00:00 2001 From: Reneta Popova Date: Wed, 4 Sep 2024 11:35:05 +0100 Subject: [PATCH 33/41] Update modules/ROOT/pages/docker/docker-compose-settings.adoc --- modules/ROOT/pages/docker/docker-compose-settings.adoc | 1 - 1 file changed, 1 deletion(-) diff --git a/modules/ROOT/pages/docker/docker-compose-settings.adoc b/modules/ROOT/pages/docker/docker-compose-settings.adoc index b0c9edadb..3de87207c 100644 --- a/modules/ROOT/pages/docker/docker-compose-settings.adoc +++ b/modules/ROOT/pages/docker/docker-compose-settings.adoc @@ -69,7 +69,6 @@ You can instead store your credentials in files and use them in your _docker-com . Create a file, for example, _neo4j_auth.txt_, containing the username and password for the Neo4j server to be used as a Docker secret. + -.neo4j_auth.txt [source,text,subs="attributes"] ---- neo4j:your_password From cbed6bc29a87a4ce2b6f405b9987ffe798d72064 Mon Sep 17 00:00:00 2001 From: Reneta Popova Date: Wed, 4 Sep 2024 11:35:11 +0100 Subject: [PATCH 34/41] Update modules/ROOT/pages/docker/docker-compose-settings.adoc --- modules/ROOT/pages/docker/docker-compose-settings.adoc | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/modules/ROOT/pages/docker/docker-compose-settings.adoc b/modules/ROOT/pages/docker/docker-compose-settings.adoc index 3de87207c..7f3cab606 100644 --- a/modules/ROOT/pages/docker/docker-compose-settings.adoc +++ b/modules/ROOT/pages/docker/docker-compose-settings.adoc @@ -73,7 +73,10 @@ You can instead store your credentials in files and use them in your _docker-com ---- neo4j:your_password ---- -.docker-compose.yaml +. Prepare your _docker-compose.yml_ file using the following example. ++ +.Example of a _docker-compose.yml_ file +==== [source,yaml,subs="attributes+,+macros"] ---- services: From 504dd297f5618a498328c55add1e6cdddc9d0459 Mon Sep 17 00:00:00 2001 From: Reneta Popova Date: Wed, 4 Sep 2024 11:35:18 +0100 Subject: [PATCH 35/41] Update modules/ROOT/pages/docker/docker-compose-settings.adoc --- modules/ROOT/pages/docker/docker-compose-settings.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/ROOT/pages/docker/docker-compose-settings.adoc b/modules/ROOT/pages/docker/docker-compose-settings.adoc index 7f3cab606..cf4cd42e1 100644 --- a/modules/ROOT/pages/docker/docker-compose-settings.adoc +++ b/modules/ROOT/pages/docker/docker-compose-settings.adoc @@ -98,7 +98,7 @@ secrets: neo4j_auth_file: # <2> file: ./neo4j_auth.txt # <3> ---- -<1> Defining the file where the value for the `NEO4J_AUTH` environment variable can be found +<1> The file where the value for the `NEO4J_AUTH` environment variable can be found. <2> Defining the secret named `neo4j_auth_file` <3> Pointing to the `neo4j_auth.txt` file <4> Using the secret in the `neo4j` service From 7b617ecd43fae649d8344f1b2b9ec2f1793a020e Mon Sep 17 00:00:00 2001 From: Reneta Popova Date: Wed, 4 Sep 2024 11:35:23 +0100 Subject: [PATCH 36/41] Update modules/ROOT/pages/docker/docker-compose-settings.adoc --- modules/ROOT/pages/docker/docker-compose-settings.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/ROOT/pages/docker/docker-compose-settings.adoc b/modules/ROOT/pages/docker/docker-compose-settings.adoc index cf4cd42e1..2ffb14c4e 100644 --- a/modules/ROOT/pages/docker/docker-compose-settings.adoc +++ b/modules/ROOT/pages/docker/docker-compose-settings.adoc @@ -99,7 +99,7 @@ secrets: file: ./neo4j_auth.txt # <3> ---- <1> The file where the value for the `NEO4J_AUTH` environment variable can be found. -<2> Defining the secret named `neo4j_auth_file` +<2> The name of the secret, for example `neo4j_auth_file`. <3> Pointing to the `neo4j_auth.txt` file <4> Using the secret in the `neo4j` service ==== From 0683e7a6ebc343e0c3b5c90dff592e17b909cd1c Mon Sep 17 00:00:00 2001 From: Reneta Popova Date: Wed, 4 Sep 2024 11:35:28 +0100 Subject: [PATCH 37/41] Update modules/ROOT/pages/docker/docker-compose-settings.adoc --- modules/ROOT/pages/docker/docker-compose-settings.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/ROOT/pages/docker/docker-compose-settings.adoc b/modules/ROOT/pages/docker/docker-compose-settings.adoc index 2ffb14c4e..a24e915a6 100644 --- a/modules/ROOT/pages/docker/docker-compose-settings.adoc +++ b/modules/ROOT/pages/docker/docker-compose-settings.adoc @@ -100,7 +100,7 @@ secrets: ---- <1> The file where the value for the `NEO4J_AUTH` environment variable can be found. <2> The name of the secret, for example `neo4j_auth_file`. -<3> Pointing to the `neo4j_auth.txt` file +<3> Path to the _neo4j_auth.txt_ file. <4> Using the secret in the `neo4j` service ==== . Deploy your Neo4j server by running `docker-compose up` from your project folder. From ef6f7f3d71ea01004b377a51e221886bfc3e44f5 Mon Sep 17 00:00:00 2001 From: Reneta Popova Date: Wed, 4 Sep 2024 11:35:34 +0100 Subject: [PATCH 38/41] Update modules/ROOT/pages/docker/docker-compose-settings.adoc --- modules/ROOT/pages/docker/docker-compose-settings.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/ROOT/pages/docker/docker-compose-settings.adoc b/modules/ROOT/pages/docker/docker-compose-settings.adoc index a24e915a6..622bb54d8 100644 --- a/modules/ROOT/pages/docker/docker-compose-settings.adoc +++ b/modules/ROOT/pages/docker/docker-compose-settings.adoc @@ -101,7 +101,7 @@ secrets: <1> The file where the value for the `NEO4J_AUTH` environment variable can be found. <2> The name of the secret, for example `neo4j_auth_file`. <3> Path to the _neo4j_auth.txt_ file. -<4> Using the secret in the `neo4j` service +<4> The name of the secret in the `neo4j` service. ==== . Deploy your Neo4j server by running `docker-compose up` from your project folder. + From 7e4bfeec7dced80c1ddaa31a364fdf4bbe87fce3 Mon Sep 17 00:00:00 2001 From: Reneta Popova Date: Thu, 5 Sep 2024 12:17:16 +0100 Subject: [PATCH 39/41] editorial update of the page --- modules/ROOT/content-nav.adoc | 2 +- .../pages/docker/docker-compose-settings.adoc | 121 ------------------ modules/ROOT/pages/docker/index.adoc | 2 + 3 files changed, 3 insertions(+), 122 deletions(-) delete mode 100644 modules/ROOT/pages/docker/docker-compose-settings.adoc diff --git a/modules/ROOT/content-nav.adoc b/modules/ROOT/content-nav.adoc index 7dcb802c4..4b8b5493d 100644 --- a/modules/ROOT/content-nav.adoc +++ b/modules/ROOT/content-nav.adoc @@ -21,13 +21,13 @@ ** xref:docker/mounting-volumes.adoc[] ** xref:docker/configuration.adoc[] ** xref:docker/plugins.adoc[] +** xref:docker/docker-compose-standalone.adoc[] ** xref:docker/clustering.adoc[] ** xref:docker/operations.adoc[] ** xref:docker/dump-load.adoc[] ** xref:docker/backup-restore.adoc[] ** xref:docker/security.adoc[] ** xref:docker/ref-settings.adoc[] -** xref:docker/docker-compose-settings.adoc[] * xref:kubernetes/index.adoc[] ** xref:kubernetes/introduction.adoc[] diff --git a/modules/ROOT/pages/docker/docker-compose-settings.adoc b/modules/ROOT/pages/docker/docker-compose-settings.adoc deleted file mode 100644 index 622bb54d8..000000000 --- a/modules/ROOT/pages/docker/docker-compose-settings.adoc +++ /dev/null @@ -1,121 +0,0 @@ -:description: Running Docker Using Docker Compose -[[docker-compose-neo4j-standalone] -= Deploy a Neo4j standalone server using Docker Compose - -You can deploy a Neo4j standalone server using Docker Compose. -In addition to storing the container configuration, Docker Compose can simplify the usage of secrets. - -[[docker-compose-basic-authentication]] -== Deploy a Neo4j server with basic authentication - -Before you start, verify that you have installed Docker Compose. -For more information, see the https://docs.docker.com/compose/install/[Install Docker Compose official documentation]. - -//. Create a configuration file, `neo4j.conf` make it readable and writable for the user (eg., `chmod 640 neo4j.conf`). -. Prepare your _docker-compose.yml_ file using the following example. -For more information, see the https://docs.docker.com/compose/compose-file/#service-configuration-reference[Docker Compose official Service configuration reference]. -+ -.Example of a _docker-compose.yml_ file -==== - -[source,yaml,subs="attributes+,+macros"] ----- -services: - neo4j: - image: neo4j:{neo4j-version-exact} - ports: - - "7474:7474" - - "7687:7687" - restart: always ----- -==== -. Deploy your Neo4j server by running `docker-compose up` from your project folder. -+ -[source,shell,subs="attributes+,+macros"] ----- -docker-compose up -d #<1> ----- -<1> The `-d` flag starts the container in detached mode. - -Similarly, you can mount volumes and configure environment variables. - -. Mount logs, config, and plugins to the equivalent container mount points. -+ -[source,yaml,subs="attributes+,+macros"] ----- -services: - neo4j: - image: neo4j:{neo4j-version-exact} - volumes: - - /$HOME/neo4j/logs:/logs # <1> - - /$HOME/neo4j/config:/config - - /$HOME/neo4j/plugins:/plugins - environment: - - NEO4J_AUTH=neo4j/your_password # <2> - ports: - - "7474:7474" - - "7687:7687" - restart: always ----- -<1> Mounting the _neo4j/logs_ directory to a host local directory. -<2> Setting the `neo4j` username and password. - -[role=label--recommended] -[[docker-compose-secrets]] -== Deploy a Neo4j server with Docker secrets - -It is advisable not to store sensitive information, such as the database username and password, in the _docker-compose.yml_ file. -You can instead store your credentials in files and use them in your _docker-compose.yml_ file without exposing their values. - -. Create a file, for example, _neo4j_auth.txt_, containing the username and password for the Neo4j server to be used as a Docker secret. -+ -[source,text,subs="attributes"] ----- -neo4j:your_password ----- -. Prepare your _docker-compose.yml_ file using the following example. -+ -.Example of a _docker-compose.yml_ file -==== -[source,yaml,subs="attributes+,+macros"] ----- -services: - neo4j: - image: neo4j:{neo4j-version-exact} - volumes: - - /$HOME/neo4j/logs:/logs - - /$HOME/neo4j/config:/config - - /$HOME/neo4j/plugin:/plugins - environment: - - NEO4J_AUTH_FILE=/run/secrets/neo4j_auth_file # <1> - ports: - - "7474:7474" - - "7687:7687" - restart: always - secrets: - - neo4j_auth_file #<4> -secrets: - neo4j_auth_file: # <2> - file: ./neo4j_auth.txt # <3> ----- -<1> The file where the value for the `NEO4J_AUTH` environment variable can be found. -<2> The name of the secret, for example `neo4j_auth_file`. -<3> Path to the _neo4j_auth.txt_ file. -<4> The name of the secret in the `neo4j` service. -==== -. Deploy your Neo4j server by running `docker-compose up` from your project folder. -+ -[source,shell,subs="attributes+,+macros"] ----- -docker-compose up -d ----- -[NOTE] -==== -You can define any Neo4j variable as a secret in the same way by simply using the same variable name with the `_FILE` suffix. -==== -[WARNING] - -==== -The secret value overrides the equivalent environment variable if they are both defined. -So, for example, if you also define an environment variable `NEO4J_AUTH=neo4j/your_other_password` in the `environment` section of the `neo4j` service, the value of `NEO4J_AUTH_FILE` will be the one used. -==== \ No newline at end of file diff --git a/modules/ROOT/pages/docker/index.adoc b/modules/ROOT/pages/docker/index.adoc index f73a641a8..9d03aa447 100644 --- a/modules/ROOT/pages/docker/index.adoc +++ b/modules/ROOT/pages/docker/index.adoc @@ -10,6 +10,7 @@ This chapter describes the following: * xref:docker/mounting-volumes.adoc[Persisting data with Docker volumes] -- How and where to mount persistent storage to the Docker container. * xref:docker/configuration.adoc[Modify the default configuration] -- How to configure Neo4j to run in a Docker container. * xref:docker/plugins.adoc[Plugins] -- How to load plugins when using Neo4j in Docker. +* xref:tutorial/docker-compose-standalone.adoc[Deploy a Neo4j server with Docker Compose] -- How to set up a Neo4j server with Docker Compose using a basic authentication mechanism or Docker secrets. * xref:docker/clustering.adoc[Deploy a Neo4j cluster on Docker] -- How to set up and deploy a Neo4j cluster on Docker. * xref:docker/operations.adoc[Docker specific operations] -- Descriptions of various `neo4j-admin` and `cypher-shell` operations that are specific to using Docker. * xref:docker/dump-load.adoc[Offline dump and load] -- How to perform dump and load of a containerized Neo4j database. @@ -17,6 +18,7 @@ This chapter describes the following: * xref:docker/security.adoc[Security] -- Information about using encryption with a Neo4j Docker image. * xref:docker/ref-settings.adoc[Docker specific configuration settings] -- A conversion table for the Neo4j configuration settings to Docker format. + [NOTE] ==== Docker does not run natively on macOS or Windows. From fb4640367e6ed1e579cab150a0c55f5f44bf8aba Mon Sep 17 00:00:00 2001 From: Reneta Popova Date: Thu, 5 Sep 2024 12:20:35 +0100 Subject: [PATCH 40/41] forgot to add the file --- .../docker/docker-compose-standalone.adoc | 106 ++++++++++++++++++ 1 file changed, 106 insertions(+) create mode 100644 modules/ROOT/pages/docker/docker-compose-standalone.adoc diff --git a/modules/ROOT/pages/docker/docker-compose-standalone.adoc b/modules/ROOT/pages/docker/docker-compose-standalone.adoc new file mode 100644 index 000000000..8f52cdf08 --- /dev/null +++ b/modules/ROOT/pages/docker/docker-compose-standalone.adoc @@ -0,0 +1,106 @@ +:description: Running Neo4j in a Docker container using Docker Compose +[[docker-compose-neo4j-standalone]] += Deploy a Neo4j standalone server using Docker Compose + +You can deploy a Neo4j standalone server using Docker Compose by defining the container configuration in a _docker-compose.yml_ file and authenticating with basic authentication or Docker secrets. + +[[docker-compose-basic-authentication]] +== Deploy a Neo4j server using basic authentication mechanism + +Before you start, verify that you have installed Docker Compose. +For more information, see the https://docs.docker.com/compose/install/[Install Docker Compose official documentation]. + +. Create a project folder where you will store your _docker-compose.yml_ file and run your Neo4j server. +. Prepare your _docker-compose.yml_ file using the following example. +For more information, see the Docker Compose official documentation on https://docs.docker.com/compose/compose-file/#service-configuration-reference[Docker Compose specification]. ++ +.Example of a _docker-compose.yml_ file +[source,yaml,subs="attributes+,+macros"] +---- +services: + neo4j: + image: neo4j:latest + volumes: # <1> + - /$HOME/neo4j/logs:/logs + - /$HOME/neo4j/config:/config + - /$HOME/neo4j/data:/data + - /$HOME/neo4j/plugins:/plugins + environment: + - NEO4J_AUTH=neo4j/your_password # <2> + ports: + - "7474:7474" + - "7687:7687" + restart: always +---- +<1> Mount the _/$HOME/neo4j/<..>:_ directories to local directories on your host machine to store logs, configuration, data, and plugins. +For more information about mounting volumes, see xref:docker/mounting-volumes.adoc[]. +<2> Set the `neo4j` username and password. + +. Deploy your Neo4j server by running `docker-compose up` from your project folder. ++ +[source,shell,subs="attributes+,+macros"] +---- +docker-compose up -d +---- ++ +The `-d` flag starts the container in detached mode. + +[role=label--recommended] +[[docker-compose-secrets]] +== Deploy a Neo4j server with Docker secrets + +It is advisable not to store sensitive information, such as the database username and password, in the _docker-compose.yml_ file. +You can instead store your credentials in files and use them in your _docker-compose.yml_ file without exposing their values. + +. Create a file, for example, _neo4j_auth.txt_, containing the username and password for the Neo4j server to be used as a Docker secret. ++ +[source,text,subs="attributes"] +---- +neo4j:your_password +---- +. Prepare your _docker-compose.yml_ file using the following example. +For more information, see the Docker Compose official documentation on https://docs.docker.com/compose/compose-file/#service-configuration-reference[Docker Compose specification]. ++ +.Example of a _docker-compose.yml_ file +[source,yaml,subs="attributes+,+macros"] +---- +services: + neo4j: + image: neo4j:latest + volumes: # <1> + - /$HOME/neo4j/logs:/logs + - /$HOME/neo4j/config:/config + - /$HOME/neo4j/data:/data + - /$HOME/neo4j/plugin:/plugins + environment: + - NEO4J_AUTH_FILE=/run/secrets/neo4j_auth_file # <2> + ports: + - "7474:7474" + - "7687:7687" + restart: always + secrets: + - neo4j_auth_file #<3> +secrets: + neo4j_auth_file: # <4> + file: ./neo4j_auth.txt # <5> +---- +<1> Mount the _/$HOME/neo4j/<..>:_ directories to local directories on your host machine to store logs, configuration, data, and plugins. +<2> Path to the file where the value for the `NEO4J_AUTH` environment variable can be found. +<3> The name of the secret, for example `neo4j_auth_file`. +<4> Path to the _neo4j_auth.txt_ file. +<5> The name of the secret in the `neo4j` service. ++ +[WARNING] +==== +The secret value overrides the equivalent environment variable if they are both defined. +So, for example, if you also define an environment variable `NEO4J_AUTH=neo4j/your_other_password` in the `environment` section of the `neo4j` service, the value of `NEO4J_AUTH_FILE` will be the one used. +==== + +. Deploy your Neo4j server by running `docker-compose up` from your project folder. ++ +[source,shell,subs="attributes+,+macros"] +---- +docker-compose up -d +---- ++ +The `-d` flag starts the container in detached mode. \ No newline at end of file From 23d18866ac2522685f27b68f16e2b39e451f0b8a Mon Sep 17 00:00:00 2001 From: Reneta Popova Date: Thu, 5 Sep 2024 12:23:20 +0100 Subject: [PATCH 41/41] fix the link on the intro page --- modules/ROOT/pages/docker/index.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/ROOT/pages/docker/index.adoc b/modules/ROOT/pages/docker/index.adoc index 9d03aa447..40e68f252 100644 --- a/modules/ROOT/pages/docker/index.adoc +++ b/modules/ROOT/pages/docker/index.adoc @@ -10,7 +10,7 @@ This chapter describes the following: * xref:docker/mounting-volumes.adoc[Persisting data with Docker volumes] -- How and where to mount persistent storage to the Docker container. * xref:docker/configuration.adoc[Modify the default configuration] -- How to configure Neo4j to run in a Docker container. * xref:docker/plugins.adoc[Plugins] -- How to load plugins when using Neo4j in Docker. -* xref:tutorial/docker-compose-standalone.adoc[Deploy a Neo4j server with Docker Compose] -- How to set up a Neo4j server with Docker Compose using a basic authentication mechanism or Docker secrets. +* xref:docker/docker-compose-standalone.adoc[Deploy a Neo4j server with Docker Compose] -- How to set up a Neo4j server with Docker Compose using a basic authentication mechanism or Docker secrets. * xref:docker/clustering.adoc[Deploy a Neo4j cluster on Docker] -- How to set up and deploy a Neo4j cluster on Docker. * xref:docker/operations.adoc[Docker specific operations] -- Descriptions of various `neo4j-admin` and `cypher-shell` operations that are specific to using Docker. * xref:docker/dump-load.adoc[Offline dump and load] -- How to perform dump and load of a containerized Neo4j database.