The most maintainable way to run Neo4j on an Ubuntu VPS is to install the official package, set the neo4j password before the first start, keep Browser (7474) and Bolt (7687) restricted by firewall, and enable the systemd service. Use Ubuntu Server 24.04 for a new deployment where available: Ubuntu 22.04 is deprecated for Neo4j 2026.05 and later. Neo4j 2025.x requires Java 21; Java 25 is supported from Neo4j 2025.10.
Need a server to try this on? Antihost offers Linux VPS plans with NVMe storage, full root access and a 14-day free trial.
What you need before installing
This procedure assumes a fresh Ubuntu VPS and an account that can use sudo. A public VPS should have a fixed address, persistent storage, SSH access, and a firewall policy that permits only the administration and application traffic you actually need.
As an Amazon Associate I earn from qualifying purchases.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
- Operating system: Ubuntu Server 24.04 is the preferred new-install baseline. Ubuntu Server 22.04 remains documented for supported releases, but Neo4j marks it deprecated as of Neo4j 2026.05.
- Java: Neo4j 2025.x requires Java 21. Java 25 is supported beginning with Neo4j 2025.10. Supported distributions include OpenJDK, Oracle JDK, Azul Zulu and Eclipse Temurin.
- Privileges: an SSH account with
sudo. - Storage: a persistent VPS volume and a filesystem that reliably supports durable flush/fsync operations.
- Network plan: decide whether Browser and Bolt should be reachable only through an SSH tunnel, from a private network, or from specific public addresses.
Do not treat the default neo4j password as a usable production credential. Set a strong secret before allowing any connection beyond the VPS itself.
Choose an installation method
| Method | Best for | Advantages | Costs and cautions |
|---|---|---|---|
| APT package | Most Ubuntu VPS deployments | Standard paths, systemd integration, package-managed upgrades and familiar administration | Version selection and upgrades depend on the configured Neo4j repository; inspect available versions before installing |
Tarball under /opt |
Isolated versions or a separately controlled upgrade schedule | Reproducible directory layout and independent release cadence | You must create the service unit, user, permissions and upgrade process yourself |
APT is the sensible default unless you have a specific reason to isolate Neo4j from Ubuntu’s package workflow. The tarball path below is useful for controlled environments, but it carries more operational responsibility.
#1 Best Overall
- [Ultra-Lightweight Ear Buds Designed for Small Ears] Each earbud weighs only 3.7g and features a compact, ergonomic in-ear design made especially for small ears. Secure, low-profile, and comfortable for workouts, all-day wear or overnight sleeping.The ultra-slim profile sits flush in your ear with no hard edges poking or rubbing, so you can even sleep on your side without discomfort.
- [Immersive Stereo Sound with TOZO OrigX Technology] TOZO OrigX tuning delivers clear vocals, balanced mids, and natural stereo sound for music, podcasts, and videos.
- [Long Battery Life for Daily Use] Get up to 7 hours of playtime on a single charge, with up to 32 hours total using the charging case—ideal for workdays, commuting, and extended listening sessions.
- [Bluetooth 5.3 & Stable Connection] Bluetooth 5.3 provides fast pairing, stable wireless performance, and reduced dropouts as you move around home or office.
- [Deep Bass with Clear Vocals] High-performance drivers produce punchy bass while keeping vocals clean and detailed for everyday listening.
Install Neo4j with APT
1. Update Ubuntu and enable the required repository
- Connect to the VPS over SSH with a sudo-capable account.
- Update package metadata and existing packages:
sudo apt-get update
sudo apt-get upgrade
Enable Ubuntu’s universe repository:
sudo add-apt-repository universe
Without universe, Ubuntu may be unable to satisfy Neo4j’s daemon dependency and installation can fail.
2. Add Neo4j’s signed repository
Create the keyring directory, obtain Neo4j’s current signing key from the official installation instructions, make the key readable by APT, and add the signed repository entry. The repository line uses Neo4j’s stable channel and the latest distribution:
Recommended Free Tools
sudo install -d -m 0755 /etc/apt/keyrings
# Download Neo4j's current signing key into /etc/apt/keyrings.
# Add a signed source containing:
deb [signed-by=/etc/apt/keyrings/<neo4j-key-file>] https://debian.neo4j.com stable latest
Use the key filename and download command shown by Neo4j for the release you are installing; do not substitute an unverified key or an unsigned repository. The repository host is https://debian.neo4j.com.
3. Inspect available versions before installing
sudo apt-get update
apt list -a neo4j
This step matters because package versions change. Select a version deliberately rather than copying an old command from a forum post. The package name for the Community edition is neo4j; use the corresponding Enterprise package name when your license and deployment require Enterprise features.
4. Install the selected edition and version
For example, a version-pinned Community installation uses the package version returned by apt list -a:
sudo apt-get install neo4j=1:2026.09.0
2026.09.0 is an example version from the documented procedure, not a permanent latest-release claim. Re-check the available version immediately before running the command. Install the matching Enterprise package instead if that is the edition you selected.
Crashes, No Sound, or Screen Glitches?
Random freezes, missing sound and display glitches usually trace back to one bad driver. Find and replace yours safely.Free scan · under a minutePC Slower Than It Used to Be?
A free scan shows the junk files, broken settings and background clutter dragging Windows down - then fixes them in one click.Free scan · Windows 10 & 11APT installations place the primary configuration in /etc/neo4j/neo4j.conf and register a systemd service named neo4j.
Rank #2
- 【IP68 Waterproof Multifunctinal Smart Watch】Torjalph fitness activity tracker smart watch is IP68 waterproof technology ,you can wear it when swimming,handwashing,it's rain-proof which means that you perform multiple exercise modes outside without worrying about sweat or rain corroding your fitness smart watch,and this watch equipped with a 230 mAh large capacity battery magnetic charging ,and this sports activity tracker watch can be used 5-7 days If fully charged.
- 【Larger 1.83'' Full Screen Watch & Multi-dial Selection】1.83 inch full HD color touch screen smart watch for men / women provides excellent 240*284 resolution image quality ,This Bluetooth smart watch offers a better touch experience and remarkable immersion and ,more than 200 watch faces for you to choose from App"Da Fit ", you can change the dial style according to your mood to wear keeping the world on your wrist
- 【Accurate Activity Tracker Smart Watch 】sports watch activity tracker uses sweat and dust resistant breathable silicone strap, our Fitness Tracker Smart Watch for Android iOS Phones supports 12 sports modes,walking,running,bicycle,swimming,badminton,basketball,football,rope skipping. This bluetooth calls smart watch for men women is lightweight and stylish, bringing more convenient and relaxing sports experience while also providing more protection.
- 【Your 24 Hour Personal Daily Health Monitor】Fitness watch for women men full touch screen IP67 waterproof bluetooth smartwatch for Android iOS Phones with heart rate blood pressure monitor multifunction Andriod smart watch with steps counter sleep monitor sports fitness watch, monitoring blood oxygen saturation allows you to understand your physical condition in real time to track fitness progress ,to know your health status in time.
- 【More Functions Bluetooth Call Smart Watch】This fitness activity smart watch full screen for iPhone and Android phones includes a bunch of new features including:The bluetooth smart watch can hang up the phone, receive and display WhatsAPP /Text /Facebook /Twitter /Messenger reminder.Support sedentary reminder, alarm clock, stopwatch, timer,weather information,music control, remote camera control compatible with Android 5.0 and above or iOS 9.0 and above smartphones.
Install from a Neo4j tarball instead
Use the Neo4j Deployment Center to obtain the release archive that matches your intended edition and Java support. This method keeps the installation outside APT and is useful when several Neo4j versions must coexist or upgrades are scheduled independently of Ubuntu.
- Download the archive to the VPS and unpack it beneath
/opt. - Create a dedicated service account and group:
sudo groupadd --system neo4j
sudo useradd --system --gid neo4j --home-dir /opt/neo4j --shell /usr/sbin/nologin neo4j
- Set ownership on the extracted tree:
sudo chown -R neo4j:neo4j /opt/neo4j
Create a systemd unit at /etc/systemd/system/neo4j.service:
[Unit]
Description=Neo4j graph database
After=network.target
[Service]
Type=simple
User=neo4j
Group=neo4j
Environment="NEO4J_CONF=/opt/neo4j/conf" "NEO4J_HOME=/opt/neo4j"
ExecStart=/opt/neo4j/bin/neo4j console
LimitNOFILE=60000
TimeoutSec=120
Restart=on-failure
[Install]
WantedBy=multi-user.target
The 60,000-file-descriptor limit is the current operations-manual example. It provides headroom for indexes, sockets and concurrent connections; retain or raise it when your workload needs more. Reload systemd and enable the service:
Do these 3 things before closing this tab:
1Fix the driver behind crashes, sound loss and screen glitches2Repair Windows errors before they cause bigger problems3Scan for outdated or missing drivers - takes under a minutesudo systemctl daemon-reload
sudo systemctl enable neo4j
Do not start the database until you have set its initial password as described in the next section.
Set the initial password before first startup
Neo4j recommends using neo4j-admin set-initial-password before the first startup to define the password for the native neo4j user. With an APT installation, run the command through the installed package’s command path:
sudo neo4j-admin set-initial-password '<strong-password>'
For a tarball installation, run the binary from the extracted tree as the service account or with the appropriate permissions:
sudo -u neo4j /opt/neo4j/bin/neo4j-admin set-initial-password '<strong-password>'
Replace <strong-password> with a unique secret that is not reused for SSH, Ubuntu or another application. Avoid placing long-lived credentials in shell history; use your organization’s approved secret-management method when one is available.
Free tools Windows power users keep installed
One-click scans. No signup required.
Rank #3
- [Low Noise High Fidelity] New bee guitar cord with 22AWG oxygen-free-copper center conductors provides enhanced signal transfer, the PVC insulation material and the high-density stranded copper double shield provide noise rejection for quiet operation
- [Ideal for Choice] New bee 1/4 straight and right angle metal connectors, ensures a secure connection in any instrument, pedal, or amp jack. L shape great fro on stage guitar stands
- [Wide Compatible] Suitable for mixer, power amplifier, microphone, effector, decoder, equalizer, electoronic organ, electric guitar, electric bass and other electronic equipments. Widely used in the installation of smart home, karaoke speaker, professional stage audio, etc
- [Easy Disassemble] Making incidental repairs quick and easy! Very nice, flexible cable
- [Dont Hesite to Order] 24 hours customer services and professional technology team are standing by
If you do not set a password explicitly, Neo4j initializes the account with the default password neo4j and asks for a change at first login. That behavior is a bootstrap fallback, not a safe configuration for a network-accessible server.
Start Neo4j and make it persistent
For both package and tarball installations, enable the service at boot and start it:
sudo systemctl enable neo4j
sudo systemctl start neo4j
Check the immediate result:
sudo systemctl status neo4j
systemctl is-active neo4j
An active result should report active. If startup fails, inspect the service journal rather than repeatedly restarting it:
sudo journalctl -e -u neo4j
sudo journalctl -u neo4j -n 100 --no-pager
After changing /etc/neo4j/neo4j.conf or the tarball’s configuration, restart the service:
Quick wins for a faster PC:
Clear out junk files and repair common Windows errorsFree Scan →Fix the driver behind crashes, sound loss and screen glitchesFind Drivers →sudo systemctl restart neo4j
Understand Neo4j’s network ports
| Port | Typical role | Exposure guidance |
|---|---|---|
| 7474/tcp | Neo4j Browser over HTTP | Keep local, VPN-only or restricted to trusted administration addresses; do not expose publicly without deliberate protection |
| 7687/tcp | Bolt driver protocol | Allow only application clients and administrators that need database access |
| 7473/tcp | HTTPS Browser endpoint when configured | Open only when TLS is configured and the endpoint is required |
| 7688/tcp | Additional Bolt-related/cluster configuration | Keep closed on a standalone server unless your topology specifically requires it |
| 6000/tcp and 7000/tcp | Neo4j cluster communication ports | Do not open for a standalone VPS; restrict to cluster members in a cluster deployment |
Port numbers describe the documented default layout. A configuration file, reverse proxy or cluster topology can change which listeners are active. Confirm actual listeners on the VPS instead of assuming every port is enabled.
Secure remote access with the least exposure
Start with a local-only verification
Before changing public firewall rules, test Neo4j on the VPS itself. A local Browser check can be reached through an SSH tunnel from your workstation:
ssh -L 7474:127.0.0.1:7474 -L 7687:127.0.0.1:7687 user@your-vps-address
Then open http://localhost:7474 in your local browser and sign in with the configured neo4j credentials. This keeps the database ports bound to the VPS while the encrypted SSH connection carries your session. Cypher Shell can also be run locally on the VPS to test Bolt without opening a remote firewall rule.
Rank #4
- Digital Family Calendar: BSIMB digital calendar wall touch screen puts an end to your chaotic life. Designed for busy families, the digital calendar keeps you organised and in step with your family. Assign different colours and tasks to each family member to make family scheduling easier and more intuitive.
- Easy Setup and Auto-Sync: Plug in, connect to WLAN and auto-syn your electric calendar in minutes. Digital wall calendar compatible with Google calendar, iCloud calendar, Outlook calendar, Cozi calendar and Yahoo calendar. Add events directly on the device or through the ecalendar app. Electronic calendar stays current whether you're at work or traveling—no manual updates needed.
- All-In-One Home Assistant: Smart calendar builds habits and encourage independence with personalised chores. Display daily meal plan to reduce the daily ‘What's for dinner?’ stress. To-do lists keep track of everything you want. Turning chores into valuable achievements with stars and rewards, making life easier and more enjoyable.
- Manage Anytime Anywhere: BSIMB electronic calendar for family stay connected with the powerful ecalendar app. Access and manage your digital wall calendar anytime, anywhere with free features like stars & rewards, photo screensaver, chore charts, meals plans, to-do lists etc. Electronic planner paid features like Magic Import tailor advanced tools for users with special needs.
- Stay in Touch with Loved Ones: Share photos or videos from your phone to electronic wall calendar with app, instantly update your life moment, and keep in touch with your family, especially those who are far away; you can also surprise your smart calendar digital wall by sending him a wish card; it's also great for keeping tech-illiterate elders in touch with the youngsters.
Restrict UFW rules to trusted sources
If a remote client must connect directly, allow only the source address or private network that needs access. Replace TRUSTED_IP with the actual fixed address or CIDR range:
sudo ufw allow from TRUSTED_IP to any port 7474 proto tcp
sudo ufw allow from TRUSTED_IP to any port 7687 proto tcp
sudo ufw status verbose
Do not use unrestricted rules such as ufw allow 7474/tcp or ufw allow 7687/tcp unless you have consciously accepted internet-wide exposure and added compensating controls. Keep cluster ports blocked on a standalone installation.
Use encryption for protected deployments
Neo4j’s security guidance calls for encrypted communication in protected deployments. Prefer TLS-enabled endpoints or a properly configured reverse proxy when Browser or Bolt must cross an untrusted network. An SSH tunnel or VPN is often simpler for administrative access because it avoids publishing the database endpoint. TLS certificates, proxy headers, identity integration and client trust settings must match the clients you use; a firewall rule alone does not encrypt credentials or query traffic.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Verify the installation systematically
Run these checks in order so that a failure points to a small set of likely causes:
- Service state:
systemctl is-active neo4jshould returnactive. - Recent logs:
journalctl -u neo4j -n 100 --no-pagershould show a normal startup rather than a Java, permission or configuration error. - Listeners: inspect the sockets that are actually open:
sudo ss -ltnp | grep -E '7474|7473|7687|7688'
- Authentication: make a local Bolt or Cypher Shell connection with the password you set, not the default.
- Browser: connect through the SSH tunnel before widening firewall rules.
- Version record: record the installed Neo4j and Java versions so upgrades can be planned and reproduced.
If no listener appears, check that the service is running and that the configured listen addresses and ports are not overridden in neo4j.conf. If a listener exists locally but remote access fails, inspect UFW, the VPS provider’s network firewall and any reverse proxy separately.
Common failures and recovery paths
APT reports an unsatisfied daemon dependency
Enable universe, refresh package metadata and retry. This is the documented cause when Ubuntu’s required repository is absent:
sudo add-apt-repository universe
sudo apt-get update
sudo apt-get install neo4j
The package version cannot be found
Run apt list -a neo4j after apt-get update. Correct the repository entry, confirm that the selected edition is available, and use a version currently listed by APT. Do not assume an old version-pinned command remains valid.
Best Value
Neo4j exits immediately after starting
Read journalctl -e -u neo4j first. Typical categories include an unsupported Java runtime, a malformed configuration value, insufficient permissions on the data or logs directory, or a port already in use. Confirm that the Java major version matches the Neo4j release: Java 21 is required for Neo4j 2025.x, while Java 25 support begins at Neo4j 2025.10.
The Tool Desk
Outbyte Driver Updater FREEScan for outdated or missing drivers - takes under a minuteDriver Scan →Outbyte PC Repair FREEClear out junk files and repair common Windows errorsFree Scan →Remote Browser cannot connect
Prove the service locally, then check the listener with ss. If it listens only on loopback, an external client cannot reach it by design; use an SSH tunnel or deliberately change the listen configuration. If it listens on the required interface, check UFW and the VPS provider firewall, then verify that you are using the configured HTTP/HTTPS port rather than assuming 7474.
The first login rejects the password
Confirm which installation tree is running and whether the initial-password command was executed before first startup. Package and tarball installations can point at different configuration directories. Stop the service before correcting an uninitialized deployment, then run the appropriate neo4j-admin set-initial-password command and start it again. Do not leave the account at the default password.
Operational details for a reliable VPS
File descriptors and workload headroom
The documented service examples use a 60,000-file-descriptor limit. Indexes, concurrent client sockets and background operations can consume descriptors, so retain that limit or raise it when monitoring shows pressure. A limit that is too low can surface as connection failures or inability to open files even when CPU and memory appear normal.
Persistent storage and durability
Neo4j requires filesystem behavior that supports durable database writes, including reliable flush/fsync semantics. Keep database files and backups on persistent VPS volumes rather than ephemeral scratch storage. Storage durability is separate from service persistence: systemctl enable neo4j starts the process after reboot, but it does not create backups or prove that a restore will work.
Backups and restore planning
Establish a backup and restore procedure before production use, including where backup artifacts are stored, how access is protected, how often restores are tested and how much data loss is acceptable. The installation commands alone do not define a complete backup policy. Document the Neo4j and Java versions alongside each backup so that recovery environments can be prepared deliberately.
APT versus tarball: a practical decision
Select APT when the VPS is a conventional single-server deployment and you want Ubuntu’s standard service management, predictable paths and package-managed maintenance. Select the tarball when you need a fixed isolated release, a custom /opt layout or an upgrade schedule independent of the system repository. In exchange, tarball users must own the systemd unit, permissions, file-descriptor settings, archive verification and upgrade/rollback process.
Whichever method you choose, keep the edition and exact version recorded, set the password before first startup, verify listeners locally, and expose only the ports and source addresses that your architecture requires.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.




