- Register for Oracle Cloud Free Tier
- Create compute instance
- change image to
Canonical Ubuntu - confirm that a public IPv4 address is assigned
- upload your public ssh key
- leave everything blank in
Boot volume
- change image to
- Enable Internet Access
- Instances → Instance details → Subnet → Default Security List → Add Ingress Rules
- HTTP: Stateless: Checked Source Type: CIDR Source CIDR: 0.0.0.0/0 IP Protocol: TCP Source port range: (leave-blank) Destination Port Range: 80 Description: Allow HTTP connections
- HTTPs: Stateless: Checked Source Type: CIDR Source CIDR: 0.0.0.0/0 IP Protocol: TCP Source port range: (leave-blank) Destination Port Range: 443 Description: Allow HTTPs connections
- Connect to your ubuntu machine via ssh:
ssh ubuntu@<your public IPv4 address>and install firewall software- update apt list:
sudo apt update - install firewalld:
sudo apt install firewalld -y - enable HTTP connection through port 80:
sudo firewall-cmd --add-service=http --permanent - enable HTTPS connections on port 443:
sudo firewall-cmd --add-service=https --permanent - reload the firewall:
sudo firewall-cmd --reload - you can check that port is opened via
sudo python3 -m http.server 80and opening your public IPv4 address in a browser
- update apt list:
- Install debian using this script:
curl -fLO https://raw.githubusercontent.com/bohanyang/debi/master/debi.shchmod a+rx debi.shsudo ./debi.sh --version 11. If you have your public key uploaded somewhere (e.g., github), you can add--authorized-keys-url https://github.com/<github username>.keysto the command. Otherwise you can always upload it later viassh-copy-idsudo reboot
- You need to wait around 5-7 minutes now.
- Update known host authorization:
ssh-keygen -R <your public IPv4 address> - Connect to newly created debian via ssh:
ssh debian@<your public IPv4 address>- install some packages:
sudo apt update && sudo apt install htop curl unzip tmux -y - start tmux session:
tmux new -s yuno - become root:
sudo -i
- install some packages:
- Install YunoHost:
- run install script:
curl https://install.yunohost.org | bash - open your public IPv4 address in a browser and proceed with the initial configuration
- run install script:
- Note: next time you should connect to this machine via
ssh admin@<your public IPv4 address>and use password from previus step. You can copy your public key later. - Optional For complete setup of YunoHost you need to open a couple more ports (5222, 5269, 25, 587, 993) the same way from second step. More info
P.S. I am not sure that third step is necessary.
Alternatively, you can also find a compatible Debian image and import it for free: https://www.datahoards.com/creating-debian-vm-oracle-cloud-free-tier/
I also recommend you enable IPv6 during instance creation because setting it up manually later is pretty hard.
If you, like me, are unable to log in after allowing YunoHost to manage your SSH server, you can enable "Password authentication" at YunoHost WebUI settings and log in to your server using
ssh [email protected], whereadminis the username you setup as admin of your YunoHost instance and1.2.3.4your Oracle instance IPv4 public IP address. Alternatively, you can go to the "OS Management" tab of your instance in Oracle Cloud and connect through the console there. In both cases, specify your YunoHost user password to log in.During the Oracle instance creation, you downloaded the SSH private (
.key) and public key (.key.pub) of the VM. You can open the.key.pubfile with a text editor, copy its contents, and assign it to the YunoHost admin with the following command on your server:where
ssh-rsa AAAAB3... ssh-key-2025-11-04is your public key file contents.You can now disable password authentication in your YunoHost WebUI settings and log in using your key only:
~/.ssh/configfile in your local machine with the following content:Where
1.2.3.4is your Oracle instance IPv4 public IP address,adminis your YunoHost admin username specified during YunoHost WebUI installation, and~/.ssh/ssh-key-2025-11-04.keyis your Private Key.ssh [email protected], whereadminis the username you set up as admin of your YunoHost instance and1.2.3.4is your Oracle instance IPv4 public IP address. You should be able to log in without specifying your YunoHost user password.