How to Contribute
Hashiverse has no company behind it and no servers of its own. Its resilience, availability, and censorship resistance are entirely a function of how many independent servers exist in the network. Every node you add makes the network harder to attack, harder to silence, and more useful for everyone on it. If you believe in what Hashiverse is trying to be, running a server is the most direct way to help.
The good news: it costs about as much as a cup of coffee a month. And if you want to contribute more, the right move is to run more servers, not a bigger one — ten $5 machines spread across different providers and regions are far more valuable to the network than one $50 machine.
What you need
Any cheap VPS from any provider will do — Hetzner, DigitalOcean, Vultr, Linode, and many others offer suitable machines for around $5/month. The minimum requirements are modest:
- Storage: 20 GB of disk space
- Bandwidth: 1 TB per month
- OS: any modern Linux with Docker installed
CPU and RAM requirements are minimal — the server is written in Rust and is designed to run efficiently on the smallest available instance sizes.
Installing and running the server
An important point to mote is that when you fire up a server, it has to do some significant Proof of Work before it is designated a trusted spot in the Hashiverse network. So don't be surprised if for the first few hours you CPU is at max and the logs keep talking about PoWs, iters, and ETA.
We recommend any standard linux server. Ubuntu works nicely, either 2024, or 2026. Paste the following into the startup script / user-data / cloud-init field when you create your server (the name varies by provider). It installs Docker, opens the firewall, writes the compose file, and brings the stack up.
#!/usr/bin/env bash
set -euo pipefail
export DEBIAN_FRONTEND=noninteractive
apt-get update
apt-get install -y docker.io docker-compose-v2 ufw
ufw allow 22/tcp
ufw allow from 0.0.0.0/0 to any port 443 proto tcp
ufw --force enable
mkdir -p /opt/hashiverse && cd /opt/hashiverse
cat > docker-compose.yml <<"YAML"
services:
hashiverse-server:
image: ghcr.io/hashiverse/hashiverse-server:latest
restart: unless-stopped
ports:
- "0.0.0.0:443:443"
cap_add:
- NET_ADMIN
volumes:
- ./data:/data
logging:
driver: local
options:
max-size: 10m
max-file: "5"
watchtower:
image: nickfedor/watchtower
restart: unless-stopped
volumes:
- /var/run/docker.sock:/var/run/docker.sock
command: --interval 3600
YAML
docker compose pull
docker compose up -d
Watchtower will keep the server automatically updated as new versions are released.
The NET_ADMIN capability is required for the server's built-in DDoS protection,
which uses ipset and iptables to drop traffic from abusive IPs at
the kernel level. The ./data volume is where the server persists its identity
and stored encrypted posts — keep this safe if you care about continuity, although Hashiverse is
designed to heal itself if you destroy a server and fire up a new one.