{"id":15890223,"url":"https://github.com/nampdn/dokku-neo4j","last_synced_at":"2025-04-02T17:15:26.588Z","repository":{"id":42582608,"uuid":"241796870","full_name":"nampdn/dokku-neo4j","owner":"nampdn","description":"Dokku Neo4j unofficial plugin","archived":false,"fork":false,"pushed_at":"2022-03-31T03:57:14.000Z","size":86,"stargazers_count":1,"open_issues_count":0,"forks_count":2,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-02-08T07:43:35.995Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nampdn.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-02-20T04:55:41.000Z","updated_at":"2022-03-31T03:57:15.000Z","dependencies_parsed_at":"2022-09-08T01:10:08.965Z","dependency_job_id":null,"html_url":"https://github.com/nampdn/dokku-neo4j","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nampdn%2Fdokku-neo4j","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nampdn%2Fdokku-neo4j/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nampdn%2Fdokku-neo4j/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nampdn%2Fdokku-neo4j/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nampdn","download_url":"https://codeload.github.com/nampdn/dokku-neo4j/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246856689,"owners_count":20844974,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-06T07:04:39.305Z","updated_at":"2025-04-02T17:15:26.566Z","avatar_url":"https://github.com/nampdn.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# dokku neo4j [![Build Status](https://img.shields.io/travis/nampdn/dokku-neo4j.svg?branch=master \"Build Status\")](https://travis-ci.org/nampdn/dokku-neo4j) [![IRC Network](https://img.shields.io/badge/irc-freenode-blue.svg \"IRC Freenode\")](https://webchat.freenode.net/?channels=dokku)\n\nUnofficial neo4j plugin for dokku. Currently defaults to installing [neo4j 4.0.0](https://hub.docker.com/_/neo4j/).\n\n## requirements\n\n- dokku 0.12.x+\n- docker 1.8.x\n\n## installation\n\n```shell\n# on 0.12.x+\nsudo dokku plugin:install https://github.com/nampdn/dokku-neo4j.git --name neo4j\n```\n\n## commands\n\n```\nneo4j:app-links \u003capp\u003e          List all neo4j service links for a given app\nneo4j:backup \u003cname\u003e \u003cbucket\u003e (--use-iam) Create a backup of the neo4j service to an existing s3 bucket\nneo4j:backup-auth \u003cname\u003e \u003caws_access_key_id\u003e \u003caws_secret_access_key\u003e (\u003caws_default_region\u003e) (\u003caws_signature_version\u003e) (\u003cendpoint_url\u003e) Sets up authentication for backups on the neo4j service\nneo4j:backup-deauth \u003cname\u003e     Removes backup authentication for the neo4j service\nneo4j:backup-schedule \u003cname\u003e \u003cschedule\u003e \u003cbucket\u003e Schedules a backup of the neo4j service\nneo4j:backup-schedule-cat \u003cname\u003e Cat the contents of the configured backup cronfile for the service\nneo4j:backup-set-encryption \u003cname\u003e \u003cpassphrase\u003e Set a GPG passphrase for backups\nneo4j:backup-unschedule \u003cname\u003e Unschedules the backup of the neo4j service\nneo4j:backup-unset-encryption \u003cname\u003e Removes backup encryption for future backups of the neo4j service\nneo4j:clone \u003cname\u003e \u003cnew-name\u003e  Create container \u003cnew-name\u003e then copy data from \u003cname\u003e into \u003cnew-name\u003e\nneo4j:connect \u003cname\u003e           Connect via telnet to a neo4j service\nneo4j:connect-admin \u003cname\u003e     Connect via telnet to a neo4j service as admin user\nneo4j:create \u003cname\u003e            Create a neo4j service with environment variables\nneo4j:destroy \u003cname\u003e           Delete the service, delete the data and stop its container if there are no links left\nneo4j:enter \u003cname\u003e [command]   Enter or run a command in a running neo4j service container\nneo4j:exists \u003cservice\u003e         Check if the neo4j service exists\nneo4j:export \u003cname\u003e \u003e \u003cfile\u003e   Export a dump of the neo4j service database (as gzipped archive file)\nneo4j:expose \u003cname\u003e [port]     Expose a neo4j service on custom port if provided (random port otherwise)\nneo4j:import \u003cname\u003e \u003c \u003cfile\u003e   Import a dump into the neo4j service database\nneo4j:info \u003cname\u003e              Print the connection information\nneo4j:link \u003cname\u003e \u003capp\u003e        Link the neo4j service to the app\nneo4j:linked \u003cname\u003e \u003capp\u003e      Check if the neo4j service is linked to an app\nneo4j:list                     List all neo4j services\nneo4j:logs \u003cname\u003e [-t]         Print the most recent log(s) for this service\nneo4j:promote \u003cname\u003e \u003capp\u003e     Promote service \u003cname\u003e as NEO4J_URL in \u003capp\u003e\nneo4j:restart \u003cname\u003e           Graceful shutdown and restart of the neo4j service container\nneo4j:start \u003cname\u003e             Start a previously stopped neo4j service\nneo4j:stop \u003cname\u003e              Stop a running neo4j service\nneo4j:unexpose \u003cname\u003e          Unexpose a previously exposed neo4j service\nneo4j:unlink \u003cname\u003e \u003capp\u003e      Unlink the neo4j service from the app\nneo4j:upgrade \u003cname\u003e           Upgrade service \u003cservice\u003e to the specified version\n```\n\n## usage\n\n```shell\n# create a neo4j service named lolipop\ndokku neo4j:create lolipop\n\n# you can also specify the image and image\n# version to use for the service\n# it *must* be compatible with the\n# official neo4j image\nexport NEO4J_IMAGE=\"neo4j\"\nexport NEO4J_IMAGE_VERSION=\"4.0.0\"\ndokku neo4j:create lolipop\n\n# get connection information as follows\ndokku neo4j:info lolipop\n\n# you can also retrieve a specific piece of service info via flags\ndokku neo4j:info lolipop --config-dir\ndokku neo4j:info lolipop --data-dir\ndokku neo4j:info lolipop --dsn\ndokku neo4j:info lolipop --exposed-ports\ndokku neo4j:info lolipop --id\ndokku neo4j:info lolipop --internal-ip\ndokku neo4j:info lolipop --links\ndokku neo4j:info lolipop --service-root\ndokku neo4j:info lolipop --status\ndokku neo4j:info lolipop --version\n\n# a bash prompt can be opened against a running service\n# filesystem changes will not be saved to disk\ndokku neo4j:enter lolipop\n\n# you may also run a command directly against the service\n# filesystem changes will not be saved to disk\ndokku neo4j:enter lolipop ls -lah /\n\n# a neo4j service can be linked to a\n# container this will use native docker\n# links via the docker-options plugin\n# here we link it to our 'playground' app\n# NOTE: this will restart your app\ndokku neo4j:link lolipop playground\n\n# the following environment variables will be set automatically by docker (not\n# on the app itself, so they won’t be listed when calling dokku config)\n#\n#   DOKKU_NEO4J_LOLIPOP_NAME=/lolipop/DATABASE\n#   DOKKU_NEO4J_LOLIPOP_PORT=tcp://172.17.0.1:27017\n#   DOKKU_NEO4J_LOLIPOP_PORT_27017_TCP=tcp://172.17.0.1:27017\n#   DOKKU_NEO4J_LOLIPOP_PORT_27017_TCP_PROTO=tcp\n#   DOKKU_NEO4J_LOLIPOP_PORT_27017_TCP_PORT=27017\n#   DOKKU_NEO4J_LOLIPOP_PORT_27017_TCP_ADDR=172.17.0.1\n#\n# and the following will be set on the linked application by default\n#\n#   NEO4J_URL=neo4jdb://lolipop:SOME_PASSWORD@dokku-neo4j-lolipop:27017/lolipop\n#\n# NOTE: the host exposed here only works internally in docker containers. If\n# you want your container to be reachable from outside, you should use `expose`.\n\n# another service can be linked to your app\ndokku neo4j:link other_service playground\n\n# since DATABASE_URL is already in use, another environment variable will be\n# generated automatically\n#\n#   DOKKU_NEO4J_BLUE_URL=neo4jdb://other_service:ANOTHER_PASSWORD@dokku-neo4j-other-service:27017/other_service\n\n# you can then promote the new service to be the primary one\n# NOTE: this will restart your app\ndokku neo4j:promote other_service playground\n\n# this will replace NEO4J_URL with the url from other_service and generate\n# another environment variable to hold the previous value if necessary.\n# you could end up with the following for example:\n#\n#   NEO4J_URL=neo4jdb://other_service:ANOTHER_PASSWORD@dokku-neo4j-other-service:27017/other_service\n#   DOKKU_NEO4J_BLUE_URL=neo4jdb://other_service:ANOTHER_PASSWORD@dokku-neo4j-other-service:27017/other_service\n#   DOKKU_NEO4J_SILVER_URL=neo4jdb://lolipop:SOME_PASSWORD@dokku-neo4j-lolipop:27017/lolipop\n\n# you can also unlink a neo4j service\n# NOTE: this will restart your app and unset related environment variables\ndokku neo4j:unlink lolipop playground\n\n# you can tail logs for a particular service\ndokku neo4j:logs lolipop\ndokku neo4j:logs lolipop -t # to tail\n\n# you can dump the database\ndokku neo4j:export lolipop \u003e lolipop.dump\n\n# you can import a dump\ndokku neo4j:import lolipop \u003c database.dump\n\n# you can clone an existing database to a new one\ndokku neo4j:clone lolipop new_database\n\n# finally, you can destroy the container\ndokku neo4j:destroy lolipop\n```\n\n## Backups\n\nDatastore backups are supported via AWS S3 and S3 compatible services like [minio](https://github.com/minio/minio).\n\nYou may skip the `backup-auth` step if your dokku install is running within EC2\nand has access to the bucket via an IAM profile. In that case, use the `--use-iam`\noption with the `backup` command.\n\nBackups can be performed using the backup commands:\n\n```\n# setup s3 backup authentication\ndokku neo4j:backup-auth lolipop AWS_ACCESS_KEY_ID AWS_SECRET_ACCESS_KEY\n\n# remove s3 authentication\ndokku neo4j:backup-deauth lolipop\n\n# backup the `lolipop` service to the `BUCKET_NAME` bucket on AWS\ndokku neo4j:backup lolipop BUCKET_NAME\n\n# schedule a backup\n# CRON_SCHEDULE is a crontab expression, eg. \"0 3 * * *\" for each day at 3am\ndokku neo4j:backup-schedule lolipop CRON_SCHEDULE BUCKET_NAME\n\n# cat the contents of the configured backup cronfile for the service\ndokku neo4j:backup-schedule-cat lolipop\n\n# remove the scheduled backup from cron\ndokku neo4j:backup-unschedule lolipop\n```\n\nBackup auth can also be set up for different regions, signature versions and endpoints (e.g. for minio):\n\n```\n# setup s3 backup authentication with different region\ndokku neo4j:backup-auth lolipop AWS_ACCESS_KEY_ID AWS_SECRET_ACCESS_KEY AWS_REGION\n\n# setup s3 backup authentication with different signature version and endpoint\ndokku neo4j:backup-auth lolipop AWS_ACCESS_KEY_ID AWS_SECRET_ACCESS_KEY AWS_REGION AWS_SIGNATURE_VERSION ENDPOINT_URL\n\n# more specific example for minio auth\ndokku neo4j:backup-auth lolipop MINIO_ACCESS_KEY_ID MINIO_SECRET_ACCESS_KEY us-east-1 s3v4 https://YOURMINIOSERVICE\n```\n\n## Disabling `docker pull` calls\n\nIf you wish to disable the `docker pull` calls that the plugin triggers, you may set the `NEO4J_DISABLE_PULL` environment variable to `true`. Once disabled, you will need to pull the service image you wish to deploy as shown in the `stderr` output.\n\nPlease ensure the proper images are in place when `docker pull` is disabled.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnampdn%2Fdokku-neo4j","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnampdn%2Fdokku-neo4j","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnampdn%2Fdokku-neo4j/lists"}