
**Your Decentralized Social Blog Site**
**[Website](https://onionpress.org)** Β· **[Download](https://github.com/brewsterkahle/onionpress/releases/latest)**
# OnionPress
**Run your own website from your computer. Just Works. Free, forever.**
OnionPress turns your Mac or Linux computer into a web server running WordPress, accessible via the Tor network. Your site gets its own permanent .onion address that no one can take away from you. It's backed up automatically by the Internet Archive's Wayback Machine.
**WordPress + Tor + Wayback Machine.** You write. Tor delivers. Wayback remembers.
## Features
- π **Full WordPress**: Any theme, any plugin, a dashboard you already know
- π§
**Permanent .onion Address**: Your own address on the Tor network β no domain registrar, no DNS, uncensorable
- ποΈ **Wayback Machine Integration**: Automatically archived and served when you're offline
- π **Works Behind Firewalls**: Home, school, work β Tor punches through NAT and firewalls
- π **Private by Default**: No analytics, no tracking, no ads. End-to-end encrypted without certificates
- π³ **Sandboxed**: Docker containers inside a VM for isolation and security
- π± **Mac Menu Bar App**: Purple onion icon with one-click controls
- π§ **Linux Support**: CLI + systemd for servers and Raspberry Pi
## Requirements
- **Mac**: macOS 13.0 (Ventura) or later
- **Linux**: Docker Engine 20.10 or later and Docker Compose 2.22 or later
(`onionpress check-docker` says what you have; the Python `docker-compose`
1.x package of Ubuntu and Debian 12 is not Compose 2)
- Internet connection
## Installation
### Mac
1. Download [`onionpress.dmg`](https://github.com/brewsterkahle/onionpress/releases/latest/download/onionpress.dmg)
2. Drag `OnionPress.app` to Applications and launch
3. First launch takes 3-5 minutes (one-time setup)
### Linux
One command installs everything:
```bash
curl -sSL https://raw.githubusercontent.com/brewsterkahle/onionpress/main/linux/install.sh | bash
```
Or download the [`.deb` package](https://github.com/brewsterkahle/onionpress/releases/latest/download/onionpress.deb):
```bash
wget https://github.com/brewsterkahle/onionpress/releases/latest/download/onionpress.deb
sudo apt-get install ./onionpress.deb
systemctl --user start onionpress
```
After install: `onionpress status`, `onionpress address`, `onionpress logs`.
Everything the menu and the Settings page offer is a command too (on a Mac
the command is `/Applications/OnionPress.app/Contents/MacOS/onionpress`):
`onionpress version`; `onionpress address --url` (the site's shareable URL,
`--copy` puts it on the clipboard); `onionpress open site|admin|settings|onion`
(a browser, logged in; `onion` opens Tor Browser where it is installed);
`onionpress logs --app|--launcher|--web` (`-n N` lines, `-f` to follow);
`onionpress check-reachability` (the Settings page's test, through the
independent onionheaven Tor client); `onionpress import-key --file
hs_ed25519_secret_key`; `onionpress onionname show|set NAME`.
Settings: `onionpress config list` shows every setting, `onionpress config set KEY VALUE`
changes one (`config list --help` describes the keys; on a Mac the command is
`/Applications/OnionPress.app/Contents/MacOS/onionpress`).
To update: `onionpress update` installs the latest release's `.deb` once it
matches the sha256 the release publishes in `SHA256SUMS` (`onionpress update --check`
only says whether there is one).
To check that a site is reachable over Tor: `onionpress get http://