Personal Server Setup: ANNE Node Installation Guide for Linux, macOS & Windows

Run Your Own ANNE NODE
Everything you need to get your personal server up and running.
This guide will help you set up your personal server, an ANNE Node (annode), on Linux, macOS, or Windows. It is intended for advanced users, those who want to learn what it takes to install ANNE manually, or anyone needing to run a headless annode on a server without a desktop environment.
For a fully automated setup, we recommend using the ANNE Wizard, a complete installation toolkit from ANNE Media that handles the entire process.
If you choose the manual option, generate your keys first. You will need a Neuron ID (NID) and Secret (SEED) for your annode.
Your keys are the only credential controlling access to your funds. Anyone in possession of them has full control over your account. Store them securely and never share them.
Don’t trust. Verify. The key generation process runs entirely in your web browser using client-side JavaScript. You can inspect the source code yourself:
https://anne.media/wp-content/plugins/anne/js/anneaccs.js
https://anne.media/wp-content/plugins/anne/js/anne-guide.js
In paranoid mode, you can disconnect from the internet before generating keys, then clear browser cache and cookies before reconnecting. While this step is unnecessary, it is available for those who prefer additional assurance.
Before completing your personal server setup, your account should be activated on the ANNE network through a process called on-boarding. This simply means your account needs to receive a small amount of annecoins to become active. If you already have annecoins, you can self-onboard. If you know someone with an existing ANNE account, they can send you a coin or two. All they need is your NID and public key. They will use this information to register your new account on the chain. It is best to handle this before you begin your setup.
In alternative, you can avail of one of these options:
- You can acquire some annecoins at ANNE Swaps. When you complete a swap (for any amount), your NID and Public Key will be automatically registered on the blockchain, and the coins will be deposited into your account. The ANNE chain, like many other blockchain networks, serves as a transparent public ledger. However, in the case of ANNE (public data chain), this transparency is an intentional design choice rather than a flaw.
If privacy matters to you, we recommend using ANNE Swaps for any new accounts you create, rather than onboarding them through your existing accounts. Doing so would create traceable links between your accounts. By using ANNE Swaps, you can keep your accounts separate and unlinked. Unless you undergo a KYC process with a third party, your real identity will remain anonymous.
- If you register at ANNE Forum, we’ll get you started with 100 annecoins. Visit ANNE Forum for more info.
What’s an annode?
An annode serves as your personal gateway to the ANNE datachain, a cutting-edge network that integrates peer-to-peer cash with hyper-connected semantic data. Unlike traditional blockchains, which primarily focus on facilitating transactions, ANNE empowers your annode to store and share structured data while enabling you to self-host web applications under your own control. Designed to operate on everyday consumer hardware, this innovative architecture ensures that both applications and data remain decentralized, eliminating the need for corporate oversight.
Each annode symbolizes your stake in the network, coming equipped with built-in decentralized applications. It not only handles cash payments but also allows you to actively participate in the creation of the neuromorphic hypergraph, a shared knowledge structure that gains value as more people engage with it.
In essence, an annode functions as a personal server, facilitating direct communication with both local and distributed web applications, all without relying on third-party data intermediaries. This technology represents a significant shift towards systems that prioritize human autonomy over corporate or governmental agendas. The future is not one dominated by centralized clouds, AI models, or services; rather, it is about individuals managing their own infrastructure. We no longer have to settle for compromised software designed for extraction. We are now empowered to build our own solutions.
Follow the guide for your system…
Linux
What You’ll Need
- A Linux computer for your personal server setup.
- An internet connection.
- A willingness to type a few commands.
You may be in luck. We have a bash script that simplifies and fully automates the setup of annode on Debian or RHEL-based Linux systems. Grab it from ANNE Media’s Github and follow given instructions there.
If your Linux distro isn’t supported, or if you prefer, you may opt in for the manual instructions below. For other package managers, other than apt or dnf, modify the terminal commands to match their requirements.
Steps to Set It Up
- Get Java
- Open Terminal
- Type
sudo apt update && sudo apt install openjdk-17-jdk -y(Debian distros) orsudo dnf install java-17-openjdk -y(RHEL distros). ANNE Network recommends Java version 17. All Java LTS 8+ versions (8, 11, 17, 21, 25) are tested and compatible. - Type
java -version. See your java version? Java check.
- Set Up MariaDB
- Check if the available minimum version is 10.5 or greater
apt-cache policy mariadb-server - If it is, proceed below. If it isn’t, run
sudo curl -LsS https://r.mariadb.com/downloads/mariadb_repo_setup | sudo bashto install the latest - Skip this step if you used the original MariaDB script above, otherwise type
sudo apt install mariadb-server -y(Debian distros) orsudo dnf install mariadb-server -y(RHEL distros). - Secure it: Run
sudo mysql_secure_installation. Set a root password (e.g.,MyRootPass123), write it down. - Is it running? Check with
sudo systemctl status mariadb, if not start it:sudo systemctl start mariadb.
- Check if the available minimum version is 10.5 or greater
- Make Your annode’s Data Space
- In Terminal, type
mysql -u root -p, enter your root password, run these lines (change the anneroot password below to your own password first):
CREATE DATABASE annedb DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_520_ci; CREATE USER 'anneroot'@'localhost' IDENTIFIED BY 'MyAnnerootPass123'; GRANT ALL ON annedb.* TO 'anneroot'@'localhost'; FLUSH PRIVILEGES; EXIT;- Write down
MyAnnerootPass123(use your own password).
- In Terminal, type
- Load the ANNE Chain dataset
- Get the snap:
wget https://anne.media/mirror/anne-node/annedb-latest.sql.zip -P ~. - Unzip:
unzip $HOME/annedb-latest.sql.zip -d $HOME. - Load:
mysql -u root -p annedb < $HOME/annedb-latest.sql. Enter password, wait until the process completes, it will take a while – do not interrupt. - Clean up:
rm $HOME/annedb-latest.sql*.
- Get the snap:
- Get and Set Up Your annode
You have two options. Set up your annode to run with GUI or without (headless)
- Get annode:
wget https://anne.media/mirror/anne-node/anne-node.zip -P ~. - Make folder:
mkdir $HOME/annode. - Unzip:
unzip $HOME/anne-node.zip -d $HOME/annode. - Remove zip:
rm $HOME/anne-node.zip.
GUI Set Up
- Download anne-node.zip, unzip to
$HOME/annode. - In your terminal go to your annode folder
cd $HOME/annode, and runjava -jar anne-node.jar - You will see two windows will open. Focus on the
Config File Builder: - Enter NETWORK:
ANNE(leave default) and go Next. - Enter NID –
e.g. 12345678901234567890– copy and paste the NID you generated above or select ‘make new’ and go Next. - Enter Seed –
PasteYourLongSeedString– copy and paste the SEED you generated above and go Next. (Note if you used ‘make new’ option, this step will be skipped. - Enter your IPv4 or IPv6 –
123.123.123.123or[fddd:1194:1194:1194::1001]– use your own public IP address, find it at whatismyipaddress.com, copy and paste (if you will use IPv6, make sure to wrap in the square brackets), and go Next. - Enter DB connection string:
jdbc:mariadb://localhost:3306/annedb– leave default unless you changed the name of the database at when creating it – and go Next. - Enter DB user name:
anneroot– and go Next. - Enter DB pw:
MyAnnerootPass123– use your own password for the anneroot user, and go Next. - Enter P2P port:
9115– leave default unless you wish to use different port, and go Next. - Enter API port:
9116– leave default unless you wish to use different port, and go Next. - Node URI:
http://localhost:9116– leave default unless you know what you’re doing and have reason to change it, and click Save - You will see
ANNE ENCRYPTED TEXT FILE VIEWERwill open, asking you to set the password for annode config. This is a security feature designed to protect your annode SEED. Enter a custom password and confirm. - You can review the config file. Don’t worry if you don’t understand some of the details you’ll see. All is set.
- Confirm with
Encrypt & Save– Your annode will start and synchronize blocks with the ANNE network.
Headless Setup
- Copy config:
cp $HOME/annode/conf/node-default.properties $HOME/annode/conf/node.properties. - Edit with
nano $HOME/annode/conf/node.properties:DB.Username=anneroot.DB.Password=MyAnnerootPass123.anne.nodeAccountId=your_NID.anne.nodeSecret=your_SEED.P2P.myAddress=your_IP:9115(find your WAN IP withcurl ifconfig.me).- Save and exit nano
- Start Your annode – go to
cd $HOME/annodeand runjava -jar anne-node.jar --headless
- Get annode:
- Let It Connect
- If a firewall is installed, enable port 9115.
– ufw –sudo ufw allow 9115 && sudo ufw reload
– firewalld –sudo firewall-cmd --add-port=9115/tcp --permanent && sudo firewall-cmd --reload
– csf – editnano /etc/csf/csf.confand reloadcsf -r
- If a firewall is installed, enable port 9115.
All Done!
tail -f $HOME/annode/annode.logto see annode logs in real time.
macOS
What You’ll Need
- A Mac with macOS 10.15 or newer for your personal server setup.
- An internet connection.
- A few minutes to follow along.
Steps to Set It Up
- Get Java
- Open Terminal (Applications > Utilities).
- No Homebrew? Install it:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)". - Type
brew install openjdk@17– ANNE Network recommends Java version 17. All Java LTS 8+ versions (8, 11, 17, 21, 25) are tested and compatible. - Run:
java -version. See “17”? Java check.
- Set Up MariaDB
- Type
brew install mariadb. - Start:
brew services start mariadb. - Secure:
mysql_secure_installation. Set root password (e.g.,MyRootPass123), write it down. - Status:
brew services status mariadbMake sure the version of MariaDB you’ve installed is 10.5 or greater. If not, uninstall MariaDB and refer to online sources how to install the required version on your Mac.
- Type
- Make Your annode’s Data Space
- Type
mysql -u root -p, enter password, run:
CREATE DATABASE annedb DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_520_ci; CREATE USER 'anneroot'@'localhost' IDENTIFIED BY 'MyAnnerootPass123'; GRANT ALL ON annedb.* TO 'anneroot'@'localhost'; FLUSH PRIVILEGES; EXIT;- Note
MyAnnerootPass123.
- Type
- Load the ANNE Chain dataset
- Download annedb-latest.sql.zip.
- Unzip:
unzip annedb-latest.sql.zip -d ~. - Load:
mysql -u root -p annedb < ~/annedb-latest.sql. Enter password, wait until the process completes, it will take a while – do not interrupt. - Clean up:
rm ~/annedb-latest.sql*.
- Get and Set Up Your annode
- Download anne-node.zip, unzip to
~/annode. - In your terminal go to your annode folder
cd ~/annode, and runjava -jar anne-node.jar - You will see two windows will open. Focus on the
Config File Builder: - Enter NETWORK:
ANNE(leave default) and go Next. - Enter NID –
12345678901234567890– copy and paste the NID you generated above or select ‘make new’ and go Next. - Enter Seed –
PasteYourLongSeedString– copy and paste the SEED you generated above and go Next. (Note if you used ‘make new’ option, this step will be skipped. - Enter your IPv4 or IPv6 –
eg. 123.123.123.123or[fddd:1194:1194:1194::1001]– use your own public IP or VPN address, find it at whatismyipaddress.com, copy and paste (if you will use IPv6, wrap in the square brackets), and go Next. - Enter DB connection string:
jdbc:mariadb://localhost:3306/annedbleave default unless you changed the name of the database at when creating it – and go Next. - Enter DB user name:
anneroot– and go Next. - Enter DB pw:
MyAnnerootPass123– use your own password for the anneroot user, and go Next. - Enter P2P port:
9115– leave default unless you wish to use different port, and go Next. - Enter API port:
9116– leave default unless you wish to use different port, and go Next. - Node URI:
http://localhost:9116– leave default unless you know what you’re doing and have reason to change it, and click Save - You will see
ANNE ENCRYPTED TEXT FILE VIEWERwill open, asking you to set the password for annode config. This is a security feature designed to protect your annode SEED. Enter a custom password and confirm. - You can review the config file. Don’t worry if you don’t understand some of the details you’ll see. All is set.
- Confirm with
Encrypt & Save– Your annode will start and synchronize blocks with the ANNE network.
- Download anne-node.zip, unzip to
- Let It Connect
- Run the annode; macOS may ask to allow
javathrough the firewall. Click “Allow.” If needed, go to System Settings > Security & Privacy > Firewall, allow it.
- Run the annode; macOS may ask to allow
All Done!
tail -f $HOME/annode/annode.logto see annode logs in real time.
Windows
What You’ll Need
- A Windows 10 or 11 computer for your personal server setup.
- An internet connection.
- A little patience.
Steps to Set It Up
- Get Java
- Visit adoptium.net, download “JDK 17” for Windows. ANNE Network recommends Java version 17. All Java LTS 8+ versions (8, 11, 17, 21, 25) are tested and compatible.
- Double-click to install (click “Next” a few times).
- Check it: Press
Windows + S, typecmd, open Command Prompt, typejava -version. See “17” or “21”? Java check.
- Set Up MariaDB
- Go to mariadb.org/download, grab the Windows version (minimum 10.5 or higher).
- Run the installer:
- Pick “Custom” and include the server.
- Set a root password (e.g.,
MyRootPass123) – write it down! - Click “Yes” to everything else, finish installing.
- Create Your annode’s Data Space
- In Command Prompt, type
mysql -u root -p, enter your root password, run these lines (change the anneroot password below to your own password first):
CREATE DATABASE annedb DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_520_ci; CREATE USER 'anneroot'@'localhost' IDENTIFIED BY 'MyAnnerootPass123'; GRANT ALL ON annedb.* TO 'anneroot'@'localhost'; FLUSH PRIVILEGES; EXIT;- Write down
MyAnnerootPass123(use your own password).
- In Command Prompt, type
- Load the ANNE Chain dataset
- Download annedb-latest.sql.zip.
- Right-click, choose “Extract All” (or use 7-Zip), unzip it.
- In Command Prompt, type:
mysql -u root -p annedb < C:\path\to\annedb-latest.sqlEnter password, wait until the process completes, it will take a while – do not interrupt.
- Get and Set Up Your annode
- Download anne-node-win_x64.zip, unzip to
C:\Users\YourUsername\annode(Note if you put the annode folder in Program Files directory, you’d have to adjust user write permissions so annode has a write access its own directory. Otherwise best to put the annode folder elsewhere. - In your annode folder, find
anne-node.jarfile and double click to open it. - You will see two windows will open. Focus on the
Config File Builder: - Enter NETWORK:
ANNE(leave default) and go Next. - Enter NID –
12345678901234567890– copy and paste the NID you generated above or select ‘make new’ and go Next. - Enter Seed –
PasteYourLongSeedString– copy and paste the SEED you generated above and go Next. (Note if you used ‘make new’ option, this step will be skipped. - Enter your IPv4 or IPv6 –
123.123.123.123or[fddd:1194:1194:1194::1001]– use your own public IP address, find it at whatismyipaddress.com, copy and paste (if you will use IPv6, make sure to wrap in the square brackets), and go Next. - Enter DB connection string:
jdbc:mariadb://localhost:3306/annedbleave default unless you changed the name of the database at when creating it – and go Next. - Enter DB user name:
anneroot– and go Next. - Enter DB pw:
MyAnnerootPass123– use your own password for the anneroot user, and go Next. - Enter P2P port:
9115– leave default unless you wish to use different port, and go Next. - Enter API port:
9116– leave default unless you wish to use different port, and go Next. - Node URI:
http://localhost:9116– leave default unless you know what you’re doing and have reason to change it, and click Save - You will see
ANNE ENCRYPTED TEXT FILE VIEWERwill open, asking you to set the password for annode config. This is a security feature designed to protect your annode SEED. Enter a custom password and confirm. - You can review the config file. Don’t worry if you don’t understand some of the details you’ll see. All is set.
- Confirm with
Encrypt & Save– Your annode will start and synchronize blocks with the ANNE network.
- Download anne-node-win_x64.zip, unzip to
- Let It Connect
- Search “Firewall” in Windows, open “Windows Defender Firewall,” click “New Rule”:
- Pick “Port,” “TCP,” type
9115(use your custom port if you changed it) allow for inbound and outbound. - If you are behind a router, check additional instructions
All Done!
Check annode.login your annode folder to see annode logs.
Quick Tips for All
Once your personal server setup is complete and your annode is running, a few additional steps will help ensure reliable connectivity and smooth operation. The following tips cover essential maintenance tasks, from configuring your router for peer-to-peer connections to monitoring your node’s logs. Taking care of these details now will save you time later and help your annode stay synchronized with the network.
- Open peer-to-peer port on your router
- Your annode uses the peer-to-peer port
9115(or custom) to connect with other annodes.: If behind a router, exact steps vary by router brand/model – check your router’s manual for specifics. Ensure your device has a static IP to avoid issues. - Log in to your router: Open a web browser, enter your router’s IP address (e.g.,
http://192.168.0.1), and log in with your admin username and password (check router manual or sticker if unsure). - Find Port Forwarding settings: Look for a section like “Port Forwarding,” “Virtual Server,” or “Firewall” in the router’s menu.
- Add a new rule: Choose
TCP protocol, enter the port number9115or custom if you changed it. - On your computer, find the “LAN IPv4 address” for your connection
– on Windows, open Command Prompt and find your LAN IP address withipconfig | findstr "192"
– on Linux, open Terminal and find your LAN IP address withip -4 addr show | grep 'inet 192' | awk '{print $2}' | cut -d'/' -f1
– on Mac, open Terminal and find your LAN IP address withipconfig getifaddr en0 | grep '^192' - On your router, specify the local IP address you found (e.g.,
192.168.0.100), and Save the rule. - Apply changes: Click “Save” or “Apply” and wait for the router to restart if needed.
- Test it: Use an online tool (e.g., yougetsignal.com/tools/open-ports to check if the port is open.
- Your annode uses the peer-to-peer port
- Additional Info
- Problems?: Look at
annode.login your annode folder. - Updates: Grab a new
anne-node.zipfrom anne.media mirror, replace old files, keepnode.properties. - Explore It: Visit
http://localhost:9116/ANNE.html on your annode (once running)
- Problems?: Look at
Onboarded your ANNE account yet?
Finally…
With your personal server successfully set up, you have taken a significant step towards embracing a new way to engage with the digital world. Your annode is now operational, seamlessly connected to the ANNE datachain, and actively participating in a decentralized network that prioritizes sovereignty over surveillance.
This setup goes beyond mere software; it represents a personal server that acts as your own blockchain node, web server, and semantic data hub. Unlike conventional cloud services, which often require you to place your trust in third-party providers for data storage and access, this personal server ensures that you remain in control. Your annode is capable of peer-to-peer communication with other nodes, maintains a full copy of the datachain, hosts its own API for local applications, and allows you to transact and interact without relying on intermediaries.
Now, you have the opportunity to explore the built-in applications available through your annode’s local interface by navigating to http://localhost:9116/ANNE.html and http://localhost:9116/aon.html. Here, you can check your account balance, examine the datachain, browse the hypergraph, and start engaging with the network. If you decided to participate in mining, your annode will compete for block rewards. Even if you chose simply to run a node, you are still making a valuable contribution to the health and resilience of the entire network.
The personal server you have installed is not just a tool; it is the foundation of your participation in a transformative kind of internet. Every additional node fortifies the network, and every transaction you execute, data you contribute, and application you run enriches a growing ecosystem that operates independently of any central authority.
Welcome to the ANNE network.
Frequently Asked Questions
Do I need a powerful computer for my personal server setup?
Annode is designed to run on consumer hardware. A Raspberry Pi 4, an older laptop, or a basic VPS is sufficient for most users. The main requirement is stable storage for the datachain, which grows over time, and a reliable internet connection. Your annode does not require high-end hardware.
Do I need a static IP address for my personal server setup?
A static IP is not required. Most home internet connections use dynamic IP addresses, which can change occasionally. Your annode will handle this automatically by updating its advertised address to peers when your IP changes.
However, to accept incoming connections from other nodes, you will need to forward port 9115 on your router to your computer’s local IP address. If your internet provider uses Carrier-Grade NAT (CGNAT), you cannot forward ports directly. In that case, you will need to use a VPN provider that supports port forwarding, or run your personal server setup on a VPS instead. In practice, for users with standard broadband and control over their router, dynamic IPs work fine.
Should I use a VPN to protect my privacy when running a personal server?
Using a VPN can protect your privacy by masking your home IP address from other nodes. However, many VPN providers don’t provide port forwarding service, which is necessary for your annode to accept incoming peer connections.
If you decide to use a VPN for your personal server setup, choose a provider that supports port forwarding. This will allow you to open the assigned port given by the VPN provider and change your annode configuration from the default port 9115 to the assigned port. Without an open port, your annode will remain synchronized, and you will still be able to send outgoing transactions; however, some functionality may be limited.
Can I run an annode on a virtual private server instead of at home?
Yes. The installation steps are nearly identical, with the main difference being that you will use the VPS’s public IP address during configuration rather than your home IP or VPN IP.
Note that most VPS instances do not have a graphical desktop environment. You will need to use the headless setup method described in the Linux section rather than the GUI configuration wizard. Ensure the required P2P port (default 9115) is open in the VPS firewall.
What happens if my computer shuts down or loses power?
Your annode will stop running and you will temporarily be offline. When you restart your computer and launch the annode again, it will automatically resynchronize with the network, catching up on any missed blocks. Your funds remain safe because they are stored on the chain, not on your local machine. Consider running your annode on a dedicated device that stays online continuously.
How long does the initial synchronization take?
The first sync can take several hours depending on your internet speed and hardware. This is because your annode downloads and verifies the entire datachain history. The process is lot faster if you load a recent database snapshot as described in the guide. Subsequent starts will be much quicker since only new blocks need to be downloaded. Patience during the initial personal server setup is normal.
Do I need to keep the terminal window open all the time?
Yes, if you started your annode manually with the java -jar command, it will stop when you close the terminal. For a permanent personal server setup, you should set up your annode to run as a background service or use a terminal multiplexer like screen or tmux on Linux and macOS.
Windows users can create a bat script or run the annode as a background process.
Join ANNE Forum for help with scripting.
Can I move my annode to a different computer later?
Yes. Your funds and identity are tied to your keys (NID and SEED), not to the specific machine. To migrate, install the annode software on the new computer, copy your node.properties configuration file and your keys, and point the new installation to the same or a fresh database. Always use the most recent database snapshot. Your personal server setup is portable as long as you have your keys.
What ports need to be open for my annode to work properly?
The default peer-to-peer port is 9115. This port must be reachable by other nodes for optimal connectivity. If you are behind a router, you will need to forward this port to your computer’s local IP address. The API port (9116) is typically only needed locally unless you specifically configure remote access. Proper network configuration is an important step in any peer-to-peer network setup.
How do I update my annode to the latest version?
Download the latest anne-node.zip from the ANNE Media mirror for your system, extract the archive into your existing annode folder and restart your annode. Your database and configuration remain intact. Regular updates are part of maintaining a healthy personal server setup. If you’re on apt/dnf Linux, you can download and use our upgrade script from https://github.com/annemedia/annode-install
Where can I get help if something goes wrong?
Visit ANNE Forum to ask questions, search for solutions, or connect with other node operators. The annode.log file in your installation directory is also valuable for troubleshooting; it contains detailed information about what your annode is doing and any errors it encounters. Many common challenges are already known by other users who have been through the same setup process.
Browse ANNE Library
Support
ANNE Media is a sovereign non-profit organization. All of our expenses are funded by user donations. If you appreciate our efforts toward a free and sovereign web, please consider supporting us.
Thank you kind sir or ma’am

84VrmTNQq4hbfBQce5LfUe8BHmBFSDKHHFcSws6FRa9oiDUQANBkRnKYChabe9HRYUVAu9tcojXNFJL484KQPdJFCxRecbP


