Free Oracle VPS
Introduction
Oracle Cloud offers a Compute Instance with 4 OCPUs, 24GB RAM, and 200GB storage within their "Always Free" resources. This guide will show you how to set that up.
A VPS can be used for a variety of purposes, such as hosting a website, running a game server, or even as a remote desktop. You can even use it to host all your Stremio addons and a debrid media server.
To use the Oracle Cloud Free Tier, you need a valid credit/debit card. Virtual/Prepaid cards are not accepted.
Setup
Creating our VM instance
-
Sign up for an Oracle Cloud account.
-
Go to the Oracle Cloud website and click on "Start for free".
-
Sign up for an account by filling in your details.
tipMany people tend to have issues with the verification process when signing up for Oracle Cloud. If you face any issues, try one of the following:
-
Ensure your billing address matches the address exactly as it appears on your bank statement or banking app.
-
Use an inPrivate window on Microsoft Edge
-
Use a different email address.
-
Use a different card.
-
Disable any adblockers/VPNs.
If you still face issues, you can try using a contacting Oracle support through the live chat widget in the bottom right corner of the Oracle Cloud website.
-
-
-
Once you have signed up, you will be taken to the Oracle Cloud dashboard. Click on
Create a VM instance
under theBuild
section. -
Give your instance a name.
-
Configure the image and shape
-
Scroll down to
Image and shape
, and click onChange Image
. Select the 'Ubuntu' image and 'Canonical Ubuntu 24.04' image name. -
Just below the image, you will see the
Shape
section. Click onChange Shape
and select theAmpere
seriesVM.Standard.A1.Flex
shape. Set the OCPUs to 4, and the memory to 24GB.
-
-
Generate an SSH key pair. If you already have an SSH key pair, you can skip this step.
-
Open a terminal on your local machine.
-
Run the following command to generate an SSH key pair, replacing
[email protected]
with your email address.ssh-keygen -t ed25519 -C "[email protected]"
- When prompted for which file to save the key in, press
Enter
to save it in the default location. If you already have an SSH key pair, you can save it in a different location. But make sure to remember where you saved it. - When prompted to enter a passphrase, you should enter one. You can generate a passphrase using a password manager like Bitwarden or Proton Pass.
infoOn older systems, where the ed25519 algorithm is not supported, you can use the rsa algorithm:
ssh-keygen -t rsa -b 4096 -C "[email protected]"
- When prompted for which file to save the key in, press
-
We will now need to add our SSH key to our SSH agent. Before we do that, we need to start the SSH agent. Open a new Administrator PowerShell window and run the following commands:
Get-Service -Name ssh-agent | Set-Service -StartupType Manual
Start-Service ssh-agent -
Run the following command in your non-administrator terminal to add your SSH key to the SSH agent:
ssh-add C:/Users/your_username/.ssh/id_ed25519
- If you saved your SSH key in a different location, replace
C:/Users/your_username/.ssh/id_ed25519
with the path to your SSH key.
- If you saved your SSH key in a different location, replace
-
You will now have two files in your
~/.ssh
directory:id_ed25519
andid_ed25519.pub
. The.pub
file is your public key, which you will need for the next step.
-
-
In the
Add SSH keys
section, click theUpload public key files (.pub)
button and upload the.pub
file you generated in the previous step. -
Configure our boot volume.
- Scroll down to
Boot volume
and check theSpecify a custom boot volume size
box. - Set the boot volume size to 200.
- Set the
Boot volume performance to
120`.
- Scroll down to
-
Finally, click on
Create
to create your VM instance.
You may encounter an Out of capacity
error when creating your VM instance. This is because the free tier has a limited number of instances available:
You can try again later, or you can try creating the instance in a different Availability Domain
by scrolling back up to the top to the Placement
section.
You can also switch to a PAYG account, which will allow you to create instances without any restrictions. As long as you stay within the free tier limits, you won't be charged.
You can also set up a $1 budget alert to ensure you don't go over the free tier limits. It can take up to 24 hours for the upgrade to take effect. You will receive an email once the upgrade is complete.How to upgrade to a PAYG account
Billing and Cost Management
.Billing
section, click on Upgrade and Manage Payment
Upgrade to Pay-As-You-Go
and follow the instructions.How to set up a $1 budget alert
Billing and Cost Management
.Cost Management
section, click on Budgets
.Create Budget
.
dont_charge_me
1
1
Forecast Spend
Percentage of Budget
1%
Your current usage exceeds Always Free resources. Please check your usage to avoid charges.
Create
.How to check if my current usage is forecast to exceed the free tier limits
Billing and Cost Management
.Cost Management
section, click on Cost Analysis
.Show Forecast
box.End Date
to a future date, such as after a few months.Apply
.
- Your instance will now begin provisioning. This can take a few minutes. Once it is done, make your way to the dashboard of your instance. You should
already be on the dashboard, but if you aren't, you can find it by clicking on the hamburger menu in the top left corner and scrolling down to
Compute
and thenInstances
.
Connecting to our VPS
-
Copy the public IP address of your instance.
-
Open a terminal on your local machine and run the following command, replacing
your_ip
with the public IP address of your instance.ssh ubuntu@your_ip
-
If you are prompted to add the host to your list of known hosts, type
yes
and pressEnter
. -
If you set a passphrase for your SSH key, you will be prompted to enter it. (You will not see any characters as you type, but it is being entered.)
tipTo avoid having to type the IP address every time you want to connect to your instance, you can create a Windows Terminal Profile.
How to create a Windows Terminal Profile
To do this:
-
Open Windows Terminal and click on the down arrow next to the tabs. Then, while holding down the
Shift
key, click onSettings
. -
This will open the
settings.json
file in your default text editor. It will look something like this:{
"$help": ...,
"$schema": ...,
"actions": ...,
...
"profiles": {
"defaults": {},
"list": [
...
]
}
} -
Add the following profile to the
list
array in theprofiles
object, replacingyour_ip
with the public IP address of your instance:{
"closeOnExit": "never",
"name": "Oracle VPS",
"commandline": "ssh ubuntu@your_ip",
},It should look something like this (the
...
represents other objects in the file, that are abstracted for brevity):{
"$help": ...,
"$schema": ...,
"actions": ...,
...
"profiles": {
"defaults": {},
"list": [
{
"closeOnExit": "never",
"name": "Oracle VPS",
"commandline": "ssh ubuntu@your_ip",
},
...
]
}
} -
Save the file and close the text editor.
-
Close Windows Terminal and reopen it. When you click on the down arrow next to the tabs, you should see a new profile called
Oracle VPS
. Click on it to connect to your instance.
-
-
-
You are now connected to your VM instance. You can now install any software you need, set up a web server, or do anything else you need to do.
Additional Information
Opening ports
By default, all ports are closed on your Oracle VPS. You will need to open the ports you want to use.
- Go to the dashboard of your instance.
- Under
Primary VNIC
, click on the link next toSubnet:
. - Under
Security Lists
, click on theDefault Security List for vcn-...
. - Click on
Add Ingress Rules
. - Fill in the following details:
Source Type
:CIDR
Source CIDR
:0.0.0.0/0
IP Protocol
:TCP
Source Port Range
:All
Destination Port Range
: The port you want to open, such as443
for HTTPS.Description
: A description of the rule, such asAllow HTTPS traffic
.
- Click on
Add Ingress Rules
, orAnother Ingress Rule
if you want to add more rules.
Using SCP to transfer files
If you need to transfer files to and from your Oracle VPS, you can use SCP.
-
Open a terminal on your local machine.
-
Run the following command to transfer a file from your local machine to your Oracle VPS, replacing
your_ip
with the public IP address of your instance andfile.txt
with the file you want to transfer.scp file.txt ubuntu@your_ip:/path/to/destination
-
Run the following command to transfer a file from your Oracle VPS to your local machine, replacing
your_ip
with the public IP address of your instance and/path/to/file.txt
with the path to the file you want to transfer.scp ubuntu@your_ip:/path/to/file.txt /path/to/destination
Your user folder - the folder you are in when you first connect to your Oracle VPS - is located at /home/ubuntu
. You can use the ~
symbol to represent your user folder, so /home/ubuntu
is the same as ~
.
e.g., scp file.txt ubuntu@your_ip:~/file.txt
will transfer file.txt
to your user folder on your Oracle VPS.