Keep a copy of the record.
Citizens Party has no headquarters server. Members run small computers, called hosts, that each keep a full copy of every proposal and vote and share it with members' apps. If any one host goes offline or is shut down, the rest still have everything.
We're in open beta, so setup takes a few more steps than it will later.
- Download, double-click, done. No settings, no accounts, nothing to install. It finds the other hosts, copies the record and puts itself online through a free Cloudflare tunnel, so you don't open any ports and your home address stays private.
- A host can't cheat. Every record is signed on a member's phone. A host can't change or invent a vote, and members' apps check every signature themselves.
- The network checks every host. Before a new host is listed, the other hosts make sure it really holds the record. One that stops working is dropped, and members' apps test every host they use.
- Small and cheap. A home PC, a laptop that stays on, a Raspberry Pi or a $5 a month server is plenty.
About two minutes.
Every download lists its SHA-256 fingerprint, so you can check it arrived intact. All of them: SHA256SUMS.txt.
Windows
Download for Windows- Open the downloaded citizens-host-windows.zip and click Extract all, then Extract.
- In the folder that opens, double-click citizens-host.exe.
- Windows will probably show a blue box: "Windows protected your PC." Click More info, then Run anyway. It warns because the program isn't signed yet (signing costs money, and we're working on a free way), not because anything is wrong with it.
- If Chrome stops the download first, click the download, then Keep (or Download suspicious file).
- Leave the window open. It shows how many members are connected. Closing it stops the host.
A Linux server
On a cloud server or a Raspberry Pi, one command installs it as a service that starts itself after a reboot:
curl -fsSL https://citizensparty.ca/install.sh | sudo shPrefer to read it first?
curl -fsSL https://citizensparty.ca/install.sh -o install.shless install.shsudo sh install.shRun it again to update. This shows the live status screen:
citizens-host statusLinux, by hand
Download for LinuxRaspberry Pi (64-bit)- Unpack it:
tar xzf citizens-host-linux-*.tar.gz - Start it:
./citizens-host/citizens-host - Leave it running. It shows how many members are connected. Ctrl+C stops it.
Docker: Mac, Windows, Linux
There's no Mac program yet: on a Mac, use Docker. It works the same on Windows and Linux.
Download docker-compose.yml- Put the file in a new folder, open a terminal there and start it:
docker compose up -d - The live status screen:
docker compose exec host citizens-host status - To update:
docker compose build --pull --no-cache && docker compose up -d
The record and your host's key stay in the data folder next to the file, so updates keep them.
Once it's up.
Your data
Your records and your host's key are kept in the data folder next to the program (on a server: /var/lib/citizens-host). Back it up if you move computers.
Start with Windows
Press Win+R, type this, press Enter, and put a shortcut to the program in the folder that opens:
shell:startupA fixed address
Want your own domain instead of a quick tunnel? See the README in the Linux download, or ask us.
The party's own hosts
Your host starts by copying from these, then finds the rest of the network by itself.
wss://host1.citizensparty.cachecking…wss://host2.citizensparty.cachecking…wss://host3.citizensparty.cachecking…4526e5346c39903fd8a1f2e5b50ad141b364d7616f377d5e35abadee0f1821ef