diff --git a/deployment/TODO-next-update.md b/deployment/TODO-next-update.md index 4470efa14..591ce899f 100644 --- a/deployment/TODO-next-update.md +++ b/deployment/TODO-next-update.md @@ -4,7 +4,7 @@ When you introduce a new version and branding and deploy it on your network, you ## Version >= 3.3.0 with 'ocelotDockerVersionTag' 3.3.0-XXX -- We have the new option to configure DKIM for sent e-mails in environment variables (`.env` or `values.yaml`), see [here](deployment.md): +- We have the new option to configure DKIM for sent e-mails in environment variables (`.env` or `values.yaml`), see [deployment-values.md](deployment-values.md): - `SMTP_DKIM_DOMAINNAME=` - `SMTP_DKIM_KEYSELECTOR=` - `SMTP_DKIM_PRIVATKEY=` diff --git a/deployment/docker-compose.yml b/deployment/docker-compose.yml index 973dc6ac5..5236a7025 100644 --- a/deployment/docker-compose.yml +++ b/deployment/docker-compose.yml @@ -142,19 +142,35 @@ services: - 3001:80 neo4j: + # Neo4j v3.5.14-community + # image: wollehuss/neo4j-community-branded:latest + # Neo4j 4.4-community image: ocelotsocialnetwork/neo4j-community:latest container_name: neo4j-branded networks: - test-network + ports: + - 7687:7687 + # only for development + # - 7474:7474 + - 7474:7474 volumes: - neo4j_data:/data environment: + # settings reference: https://neo4j.com/docs/operations-manual/4.4/docker/ref-settings/ + # TODO: This sounds scary for a production environment - NEO4J_AUTH=none - NEO4J_dbms_security_procedures_unrestricted=algo.*,apoc.* - - NEO4J_ACCEPT_LICENSE_AGREEMENT=yes - ports: - - 7687:7687 - - 7474:7474 + - NEO4J_dbms_allow__format__migration=true + - NEO4J_dbms_allow__upgrade=true + # TODO: clarify if that is the only thing needed to unlock the Enterprise version + # - NEO4J_ACCEPT_LICENSE_AGREEMENT=yes + # Uncomment following line for Neo4j Enterprise version instead of Community version + # TODO: clarify if that is the only thing needed to unlock the Enterprise version + # - NEO4J_ACCEPT_LICENSE_AGREEMENT=yes + # TODO: Remove the playground from production + # bring the database in offline mode to export or load dumps + # command: ["tail", "-f", "/dev/null"] mailserver: image: djfarrelly/maildev diff --git a/deployment/src/kubernetes/Backup.md b/deployment/src/kubernetes/Backup.md index 227b5765f..34011a512 100644 --- a/deployment/src/kubernetes/Backup.md +++ b/deployment/src/kubernetes/Backup.md @@ -137,7 +137,7 @@ $ kubectl -n default exec -it $(kubectl -n default get pods | grep ocelot-neo4j # bash: enter bash of Neo4j $ kubectl -n default exec -it $(kubectl -n default get pods | grep ocelot-neo4j | awk '{ print $1 }') -- bash # generate Dump -neo4j% neo4j-admin dump --to=/var/lib/neo4j/$(date +%F)-neo4j-dump +neo4j% neo4j-admin dump --database=graph.db --to=/var/lib/neo4j/$(date +%F)-neo4j-dump # exit bash neo4j% exit diff --git a/docker-compose.yml b/docker-compose.yml index 41e4dc261..78cee69b3 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -108,6 +108,7 @@ services: volumes: - neo4j_data:/data environment: + # settings reference: https://neo4j.com/docs/operations-manual/4.4/docker/ref-settings/ # TODO: This sounds scary for a production environment - NEO4J_AUTH=none - NEO4J_dbms_security_procedures_unrestricted=algo.*,apoc.* diff --git a/neo4j/README.md b/neo4j/README.md index 1e0a1d477..dcf5714ea 100644 --- a/neo4j/README.md +++ b/neo4j/README.md @@ -53,15 +53,45 @@ Start Neo4J and confirm the database is running at [http://localhost:7474](http: ## Operations on Neo4j -### Import Neo4j Dump Locally in Docker +### Docker or Docker Compose + +- we need to set `command: ["tail", "-f", "/dev/null"]` in the Neo4j block of `docker-compose.yml` on top level so the Neo4j database is in maintenance mode + +### Create Neo4j Dump + +To create a dump in Neo4j running in a Docker container: + +- set the database to maintenance mode, see above +- entering the following commands: + +```bash +# connect to the Docker containers Neo4j terminal +$ docker exec -it neo4j bash +# generate Dump +neo4j% neo4j-admin dump --database=graph.db --to=/var/lib/neo4j/$(date +%F)-neo4j-dump +# exit bash +neo4j% exit +# copy the dump out of the running Docker container +$ docker cp :/var/lib/neo4j/neo4j-dump /$(date +%F)-neo4j-dump +``` + +### Import Neo4j Dump To import a dump into Neo4j running in a Docker container: -- we need to set `command: ["tail", "-f", "/dev/null"]` in the Neo4j block of `docker-compose.yml` on top level so the Neo4j database is in maintenance mode -- copy the dump into the running Docker container: `docker cp /path/to/dump :/existing-directory-in-docker/` -- connect to the Docker containers Neo4j terminal: `docker exec -it neo4j bash` -- to load the dump into the database we need the following command in this terminal: `neo4j-admin load --expand-commands --database=graph.db --from /backups/neo4j-dump --force` -- leave the terminal by entering: `exit` +- set the database to maintenance mode, see above +- entering the following commands: + +```bash +# copy the dump into the running Docker container +$ docker cp /neo4j-dump :/var/lib/neo4j/$(date +%F)-neo4j-dump +# connect to the Docker containers Neo4j terminal +$ docker exec -it neo4j bash +# to load the dump into the database we need the following command in this terminal +neo4j% neo4j-admin load --expand-commands --database=graph.db --from /var/lib/neo4j/$(date +%F)-neo4j-dump --force +# leave the terminal by entering +neo4j% exit +``` ## Commands diff --git a/package.json b/package.json index 453f6cafa..90042bf3c 100644 --- a/package.json +++ b/package.json @@ -44,7 +44,7 @@ "bcryptjs": "^2.4.3", "cross-env": "^7.0.3", "cucumber": "^6.0.5", - "cypress": "^13.2.0", + "cypress": "^13.3.1", "cypress-network-idle": "^1.14.2", "date-fns": "^2.25.0", "dotenv": "^16.3.1", diff --git a/yarn.lock b/yarn.lock index 24a79a381..e70fdfd22 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2668,10 +2668,10 @@ cypress-network-idle@^1.14.2: resolved "https://registry.yarnpkg.com/cypress-network-idle/-/cypress-network-idle-1.14.2.tgz#0837100861feeb5a18f4c2d9815be079f8590f4d" integrity sha512-xAdR8dH58KFPv8eCDWjviScITrJOcUpuMXYfYTc175nk2/NvnJ+I6ylSn1CM7yZmoV/gLbFa36QLiH5NfNEaLQ== -cypress@^13.2.0: - version "13.2.0" - resolved "https://registry.yarnpkg.com/cypress/-/cypress-13.2.0.tgz#10f73d06a0764764ffbb903a31e96e2118dcfc1d" - integrity sha512-AvDQxBydE771GTq0TR4ZUBvv9m9ffXuB/ueEtpDF/6gOcvFR96amgwSJP16Yhqw6VhmwqspT5nAGzoxxB+D89g== +cypress@^13.3.1: + version "13.3.1" + resolved "https://registry.yarnpkg.com/cypress/-/cypress-13.3.1.tgz#d72f922e167891574c7773d07ac64d7114e11d49" + integrity sha512-g4mJLZxYN+UAF2LMy3Znd4LBnUmS59Vynd81VES59RdW48Yt+QtR2cush3melOoVNz0PPbADpWr8DcUx6mif8Q== dependencies: "@cypress/request" "^3.0.0" "@cypress/xvfb" "^1.2.4"