{"id":13530146,"url":"https://github.com/cohesivestack/ineo","last_synced_at":"2025-04-03T03:30:38.880Z","repository":{"id":35745663,"uuid":"40024778","full_name":"cohesivestack/ineo","owner":"cohesivestack","description":"Neo4j instance manager and version manager","archived":false,"fork":false,"pushed_at":"2021-12-15T16:03:17.000Z","size":194,"stargazers_count":75,"open_issues_count":20,"forks_count":18,"subscribers_count":8,"default_branch":"master","last_synced_at":"2025-03-16T21:17:53.391Z","etag":null,"topics":["database-instance","neo4j","neo4j-database","neo4j-instances","neo4j-server"],"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/cohesivestack.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-07-31T21:01:48.000Z","updated_at":"2025-01-03T07:49:05.000Z","dependencies_parsed_at":"2022-09-17T12:00:45.848Z","dependency_job_id":null,"html_url":"https://github.com/cohesivestack/ineo","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cohesivestack%2Fineo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cohesivestack%2Fineo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cohesivestack%2Fineo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cohesivestack%2Fineo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cohesivestack","download_url":"https://codeload.github.com/cohesivestack/ineo/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246933240,"owners_count":20857046,"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":["database-instance","neo4j","neo4j-database","neo4j-instances","neo4j-server"],"created_at":"2024-08-01T07:00:44.605Z","updated_at":"2025-04-03T03:30:38.517Z","avatar_url":"https://github.com/cohesivestack.png","language":"Shell","funding_links":[],"categories":["Tools","REST API"],"sub_categories":["REST API","Other"],"readme":"# ineo\n\n[![Join the chat at https://gitter.im/cohesivestack/ineo](https://badges.gitter.im/cohesivestack/ineo.svg)](https://gitter.im/cohesivestack/ineo?utm_source=badge\u0026utm_medium=badge\u0026utm_campaign=pr-badge\u0026utm_content=badge)\n[![License](https://img.shields.io/github/license/cohesivestack/ineo.svg?style=flat)](https://img.shields.io/github/license/cohesivestack/ineo.svg?style=flat)\n[![GitHub code size in bytes](https://img.shields.io/github/languages/code-size/cohesivestack/ineo.svg?style=flat)]((https://img.shields.io/github/languages/code-size/cohesivestack/ineo.svg?style=flat))\n\nA simple but useful Neo4j instance manager.\n\nNeo4j is a great graph database, however its architecture was designed to work with just one database for each Neo4j server instance. This issue could be a problem when we are developing an application with an environment for testing and developing, or just when we are creating or serving two or more applications.\n\nIneo figure out this issue allowing to manage different Neo4j instances on different ports.\n\n## Requirements\n\n* **Bash**. Installed by default on OS X and Ubuntu\n* **Curl**. Installed by default on OS X and Ubuntu\n* **Java**. In order to start the Neo4j server\n\n## Installation\n\nPlease check [releases](https://github.com/cohesivestack/ineo/releases) for the [latest version](https://github.com/cohesivestack/ineo/releases/latest) available.\n\n1. Execute the line below on your terminal:\n\n   ```\n   curl -sSL https://raw.githubusercontent.com/cohesivestack/ineo/v2.1.0/ineo | bash -s install\n   ```\n\n2. Restart your terminal or execute the line below to set proper environment:\n\n    ```\n    source ~/.bashrc\n    ```\n\n## How to use\n\n### Create an instance\n\nImagine that you need a database for an application called *my_db*:\n\n```\n$ ineo create my_db\n\n  The instance my_db was created successfully\n```\n\n### Show instance information\n\nShow the information about the recently instance created:\n\n```\n$ ineo instances\n\n  \u003e instance 'my_db'\n    VERSION: 3.5.16\n    EDITION: community\n    PATH:    /home_path/.ineo/instances/my_db\n    PORT:    7474\n    HTTPS:   7475\n    BOLT:    7476\n```\n\nIneo downloaded the last available version of Neo4j and created an instance database ready to use on port 7474 and 7475 for SSL or bolt port 7476.\n\n### Start instance\n\nStart the database instance for using\n\n```\n$ ineo start my_db\n\n  start 'my_db'\n  Active database: graph.db\nDirectories in use:\n  home:         /home_path/.ineo/instances/my_db\n  config:       /home_path/.ineo/instances/my_db/conf\n  logs:         /home_path/.ineo/instances/my_db/logs\n  plugins:      /home_path/.ineo/instances/my_db/plugins\n  import:       /home_path/.ineo/instances/my_db/import\n  data:         /home_path/.ineo/instances/my_db/data\n  certificates: /home_path/.ineo/instances/my_db/certificates\n  run:          /home_path/.ineo/instances/my_db/run\nStarting Neo4j.\nStarted neo4j (pid 12345). It is available at http://0.0.0.0:7474/\nThere may be a short delay until the server is ready.\nSee /home_path/.ineo/instances/my_db/logs/neo4j.log for current status.\n```\n\n### Show instance status\n\nShow the status of the database instance\n\n```\n$ ineo status my_db\n\n  status 'my_db'\n  Neo4j is running at pid 12345\n```\n\n### Stop instance\n\nStop the database instance\n\n```\n$ ineo stop my_db\n\n  stop 'my_db'\n  Stopping Neo4j.. stopped\n```\n\n### Restart instance\n\nIt's also possible to restart a database instance\n\n```\n$ ineo restart my_db\n```\n\n## Using with multiple instances\n\nThe main objetive of Ineo is managing different Neo4j instances.\n\n### Create an instance with a specific port\n\nImagine that you want to create an instance for testing. This should be created with another http port, so both instances can be running simultaneously.\n\n```\n$ ineo create -p8486 my_db_test\n\n  The instance my_db_test was successfully created.\n```\n\nNow, when you show the information about instances, you see:\n\n```\n$ ineo instances\n\n  \u003e instance 'my_db'\n    VERSION: 3.5.16\n    EDITION: community\n    PATH:    /home_path/.ineo/instances/my_db\n    PORT:    7474\n    HTTPS:   7475\n    BOLT:    7476\n\n  \u003e instance 'my_db_test'\n    VERSION: 3.5.16\n    EDITION: community\n    PATH:    /home_path/.ineo/instances/my_db_test\n    PORT:    8486\n    HTTPS:   8487\n    BOLT:    8488\n\n```\n\n### Start multiple instances\n\nAll instances can be started using the command `start` without an instance name.\n\n```\n$ ineo start\n\n  Warning -\u003e A Neo4j instance name is not specified.\n\n  Are you sure you want to start all instances? (y/n) y\n\n\n  start 'my_db'\n  Active database: graph.db\nDirectories in use:\n  home:         /home_path.ineo/instances/my_db\n  config:       /home_path.ineo/instances/my_db/conf\n  logs:         /home_path.ineo/instances/my_db/logs\n  plugins:      /home_path.ineo/instances/my_db/plugins\n  import:       /home_path.ineo/instances/my_db/import\n  data:         /home_path.ineo/instances/my_db/data\n  certificates: /home_path.ineo/instances/my_db/certificates\n  run:          /home_path.ineo/instances/my_db/run\nStarting Neo4j.\nStarted neo4j (pid 12345). It is available at http://0.0.0.0:7474/\nThere may be a short delay until the server is ready.\nSee /home_path.ineo/instances/my_db/logs/neo4j.log for current status.\n\n  start 'my_db_test'\n  Active database: graph.db\nDirectories in use:\n  home:         /home_path.ineo/instances/my_db_test\n  config:       /home_path.ineo/instances/my_db_test/conf\n  logs:         /home_path.ineo/instances/my_db_test/logs\n  plugins:      /home_path.ineo/instances/my_db_test/plugins\n  import:       /home_path.ineo/instances/my_db_test/import\n  data:         /home_path.ineo/instances/my_db_test/data\n  certificates: /home_path.ineo/instances/my_db_test/certificates\n  run:          /home_path.ineo/instances/my_db_test/run\nStarting Neo4j.\nStarted neo4j (pid 23456). It is available at http://0.0.0.0:8486/\nThere may be a short delay until the server is ready.\nSee /home_path.ineo/instances/my_db_test/logs/neo4j.log for current status.\n```\n\n### Show status for multiple instances\n\nIt's possible to show the status of all instances using the command `stop` without instance name.\n\n```\n$ ineo status\n\n  status 'my_db'\n  Neo4j is running at pid 12345\n\n  status 'my_db_test'\n  Neo4j is running at pid 23456\n```\n\n### Stop multiple instances\n\nAll instances can be stopped using the command `stop` without instance name.\n\n```\n$ ineo stop\n\n  Warning -\u003e A Neo4j instance name is not specified.\n\n  Are you sure you want to stop all instances? (y/n) y\n\n\n  stop 'my_db'\n  Stopping Neo4j.. stopped\n\n  stop 'my_db_test'\n  Stopping Neo4j.. stopped\n```\n\n### Restart multiple instance\n\nIt's also possible to restart multiple instances using the command `restart` without instance name.\n\n```\n$ ineo restart\n```\n\n### Changing the port\n\nYou can change the port to a specific instance.\n\n```\n$ ineo set-port my_db 9494\n```\n\nThe SSL port as well.\n\n```\n$ ineo set-port -s my_db 9495\n```\n\nOr the bolt port if you like.\n\n```\n$ ineo set-port -b my_db 9496\n```\n\n## Installing a specific version\n\nThe command `create` always uses the latest Neo4j version your current Ineo version was tested with. However, it is possible to specify another version using the option `-v`\n\n```\nineo create -v 3.2.0 my_db\n```\n\n### The command versions\n\nThe command `versions` shows all Neo4j versions available for installing.\n\n```\n$ ineo versions\n```\n\n## The command install\n\nThere is a command to install Ineo. Use this command only if you don't have already installed Ineo.\n\n```\n$ ineo install\n```\n\nIf you happen to use an OS with systemd support, you can also add Ineo as a systemd service to automatically start up you instances on boot.\n\n```\n$ ineo install -S\n```\n\n### Installing in a specific directory\n\nIneo is installed in `$HOME/.ineo` by default, however, it is possible to specify another directory using the option `-d`.\n\n```\n$ ineo install -d ~/.ineo-custom-path\n```\n\nIf you are installing from curl:\n\n```\n$ curl -sSL https://raw.githubusercontent.com/cohesivestack/ineo/v2.1.0/ineo | bash -s install -d ~/.ineo-custom-path\n```\n\n## Help and other commands\n\nJust typing `ineo` shows you a brief description of every Ineo command.\n\n```\n$ ineo help\n\n  USAGE:\n    ineo \u003ccommand\u003e [options] [\u003carguments\u003e]\n\n  COMMANDS:\n\n    create          Create a new instance with a specific \u003cname\u003e\n    set-port        Change the port of a specific instance \u003cname\u003e\n    versions        Show the Neo4j versions available for installation\n    list            List information about installed instances\n\n    start           Start Neo4j instances\n    stop            Stop Neo4j instances\n    restart         Restart Neo4j instances\n    status          Show instances status\n    shell           Start the shell for a Neo4j instance\n    console         Start a Neo4j instance in mode console\n\n    backup          Backup a specific database \u003cname\u003e\n    restore         Restore a specific database \u003cname\u003e\n\n    set-config      Change settings in configuration file\n    get-config      Read settings from configuration file\n\n    delete-db       Delete all data of a specific instance \u003cname\u003e\n    destroy         Remove a specific instance \u003cname\u003e\n\n    install         Install ineo\n    update          Update ineo\n    uninstall       Uninstall ineo\n\n    help            Show this help or help for specific [command]\n```\n\n### Help for a specific command\n\nUsing `ineo help [command]` you can get the help for a specific command:\n\n```\n$ ineo help start\n\n  USAGE:\n    start [options] [instance_names ...]\n\n  DESCRIPTION:\n    Start one or more Neo4j instances\n\n  ARGUMENTS:\n    [instance_names ...]  Name of one or more instances to start (optional)\n\n                          If this argument is not specified then ineo tries\n                          to start all created instances\n\n  OPTIONS:\n    -q    Start the instances without confirmation\n```\n\n## Tested on\n\n* macOS X (10.14)\n* Ubuntu (18.04)\n\n## Roadmap\n\nFeel free to make suggestions. Use issues for that.\n\n[https://github.com/cohesivestack/ineo/blob/master/ROADMAP.md](https://github.com/cohesivestack/ineo/blob/master/ROADMAP.md)\n\n## Contributing\n\nAny issue on [https://github.com/cohesivestack/ineo/issues](https://github.com/cohesivestack/ineo/issues)\n\nCode contributions are welcome. The rules are:\n\n* Fork the repository\n* Always add or modify the test on `test.sh`\n* Use correctly indentation (2 spaces) and name conventions\n* Pull request\n\n## License\n\nCopyright © 2015-2020 Carlos Forero\n\nIneo is released under the [MIT License](LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcohesivestack%2Fineo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcohesivestack%2Fineo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcohesivestack%2Fineo/lists"}