Browse Source

don't print version command to devnull in run script either

added docker and VPS documentation
Kevin Froman 2 years ago
  1. 28
  2. 18
  3. 3


@ -0,0 +1,28 @@
# Running Onionr in Docker
A Dockerfile is included in the root directory of Onionr.
In Docker version 20.10 (and probably others), there is a strange bug where Onionr must be run with -it or stdout will be garbled and it may hang.
## Clone and build the image
`$ git clone`
`$ cd onionr`
`$ sudo docker build -t onionr .`
## Run Onionr
`$ sudo docker run -it -p 8080:8080 onionr`
Onionr will be accessible over any network interface by default, so make sure to either change the entry point bind-address argument or set a firewall rule.
That said, Onionr does protect it's interface by default with a web token, which will be shown in stdout.
**However, anyone who can access the port may be able to see what Onionr sites you have saved and potentially deanonymize your node**
## View the UI
Visit the address and port for the machine Onionr is running on, for example:<long-token-taken-from-stdout>
If you want a secure connection to the interface, either use a proxy such as nginx or caddy, or use [SSH tunneling](./


@ -0,0 +1,18 @@
# Cloud/Server Hosting Onionr
Cloud hosting is not the recommended way to run Onionr, as it gives the cloud provider control over your data.
That said, it is quite useful and by running a 24/7 Onionr node you contribute to the network's health.
[Cockbox]( is the recommended provider, as they do not demand personal information and accept Monero. This is an affiliate link, which gives us a commission at no expense or complication to you.
1. [Install Onionr like normal](./basic-onionr-user-guide.pdf) or [from Docker](./
2. Run with specific host and port to bind to: `$ ./ --bind-address --port 8080`
3. Get the web security token: `$ ./ get-web` (the long string at the end of the URL)
4. [Configure Firefox for SSH tunneling]( `Set network.proxy.allow_hijacking_localhost` to true in about:config
Disable random host binding in config ( = false) if you have Onionr auto start. You may also want to disable deniable block inserts.


@ -79,8 +79,9 @@ parser.add_argument(
args = parser.parse_args()
p = Popen([sub_script, 'version'], stdout=DEVNULL)
p = Popen([sub_script, 'version'])
print("Configuring Onionr before starting daemon")
from filepaths import config_file, keys_file
from coredb import blockmetadb
import onionrcrypto