You’ll need to open a ticket with Oracle Cloud and ask them if it would break their Acceptable Use Policy. There are certainly many relays running on Oracle Cloud (Relay Search) but there’s only one way to know for sure, by asking them.
I have never used AMD on a Tor relay. Just to make life simpler, I’ll suggest ARM.
There’s a lot to unpack with this question. In my experience, hard drive doesn’t matter as long as there’s enough space for the operating system plus another 10GB. If you have more than one CPU core, then you can set NumCPUs on your torrc file to more than 1. My general rule of thumb is 2GB of memory per Tor instance. If you have a ton of memory available, you can run up to two Tor instances per IP address. So let’s say you have one IP address, 4GB of memory and 4 CPU cores, I would personally run two Tor instances with both having NumCPUs set to 2.
You can absolutely configure it to utilize your IPv6 address. If you’re running an exit relay, set IPv6Exit to 1 in your torrc config. Otherwise, take a look at [tor-relays] Call for Testing - New Feature: Relay IPv6 Address Discovery for more information. In general, I find that everything happens automagically and if you have IPv6 setup correctly, your relay will report its availability without any special configuration needed.
Yes, absolutely. Take some time to research “Linux Server Hardening” on a search engine of your choice. Look into SSH public key authentication, fail2ban and best security practices. All of these apply to your relay.
Yep, there is such thing as an Exit Policy. This applies to you if you’re running an exit relay and just like all the other configuration, is set in your instance’s torrc file. There is a write-up about this on the Tor support wiki I suggest you take a look at.
Thanks for your answer. I’ve asked Oracle Support Team about running a Tor relay on their instance and I’ve received a reply. It’s OK to run bridges and guard/middle relays. But it is not allowed to run exit relays. I am currently trying to run an obfs4 bridge on an ARM instance with 1 CPU core and 6GB of RAM. Hope everything is well.
By the way, I see you mentioned that you can run two Tor processes on one instance, so I wanted to ask how you can achieve this. I want to run a bridge and a relay at the same time on an ARM-based 2-core CPU and 12GB RAM instance, how should I do this?
Yes, you can run both a Tor bridge and a relay on the same instance. To do this, you need to run two separate Tor processes, each with its own configuration file and data directory.
Here’s the general approach:
Copy the default Tor configuration file and create one for the bridge and another for the relay. Each should have its own unique settings, such as different ports and data directories.
Start each process manually using the tor command with the respective configuration file. Alternatively, you can set up systemd services to manage and automatically start both instances.
Since running both a bridge and a relay can be resource-intensive, especially on an ARM instance, keep an eye on CPU and memory usage to ensure your instance handles the load effectively.
By separating their configurations and directories, both Tor processes can coexist without conflict. Hope this will be help for you