diff --git a/free_cloud_hosting_VPS/readme.md b/free_cloud_hosting_VPS/readme.md
new file mode 100644
index 0000000..248dc53
--- /dev/null
+++ b/free_cloud_hosting_VPS/readme.md
@@ -0,0 +1,165 @@
+# Free Hosting VPS
+
+###### guide-by-example
+
+# Purpose & Overview
+
+Free virtual private server hosting on a cloud.
+Here are github repos with details on various providers:
+
+* [Cloud Service Providers Free Tier Overview](https://github.com/cloudcommunity/Cloud-Free-Tier-Comparison)
+* [Stack on a budget](https://github.com/255kb/stack-on-a-budget)
+
+So far I only run Oracle Cloud.
+Will add others if I will deal with them, or if Oracle fucks me over.
+
+# Oracle Cloud
+
+![logo](https://i.imgur.com/SVJ6dTP.png)
+
+### What Free Tier Offers
+
+As of 2023.
+
+[Official docs](https://docs.oracle.com/en-us/iaas/Content/FreeTier/freetier_topic-Always_Free_Resources.htm)
+
+* 1-2 instances of AMD based Compute VMs with 1/8 OCPU and 1 GB ram each
+ shape name: VM.Standard.E2.1.Micro
+* 1-4 instances of 4 Arm-based Ampere A1 cores with 24 GB of ram to divide
+ shape name: VM.Standard.A1.Flex
+* Block Volumes Storage, 200 GB total, default 50GB for boot of any VM
+* 10 Mbps bandwidth
+* 10 TB per month outbound data transfer
+
+### Registration
+
+* A **credit card** is needed during the registration.
+* **[Home region](https://docs.oracle.com/en-us/iaas/Content/General/Concepts/regions.htm)**
+is picked and it can **not** be changed later.
+Choise here will impact the IP address location and possibly availability of
+free instances to create.
+* I read that you wont be able to re-use credit card if you **terminate** your account.
+
+Seen comments online that some just cant get the registration done.
+
+### Instance creaction
+
+![insance](https://i.imgur.com/nrR6Kx3.png)
+
+Instances > Create instance
+
+* Name - whatever
+* Create in compartment - default
+* Placement - default; `Always Free-eligible`
+* Security - default - shield disabled
+* Image and shape
+ * VM.Standard.E2.1.Micro `Always Free-eligible`
+ * Ubuntu 22.04 `Always Free-eligible`
+* Networking - edit; create a new virtual cloud network; or pick existing one
+ same for subnet
+ Assign a public IPv4 address
+* Add SSH keys - `Paste public keys`. Well it be good if you were not noob,
+ and already have your ssh identiy and that you just paste your public key.
+ Noobs will need to pick `Generate a key pair for me`, then download
+ both public and private keys and google out how to use them to
+ SSH in the VM once it's running.
+* Boot volume - keep default
+
+You can ignore €1.85/month charge for Boot volume displayed, its a bug.
+After the creation, in Billing & Cost Management - Subscriptions or Cost analysis
+the ammount displayed should be 0€.
+
+
+### Firewall settings
+
+in examples here port will be 7777/tcp
+
+**firewalld in ubuntu - allow stuff in**
+
+* `sudo apt-get update && sudo apt-get upgrade`
+* `sudo apt install firewalld`
+* `sudo firewall-cmd --zone=public --permanent --add-port=7777/tcp`
+* `sudo firewall-cmd --reload`
+
+**Oracle network settings ingress rule**
+
+* Virtual Cloud Networks > VNC you got there > Subnet > Securty List > Ingress Rules
+* A rule for port 22 should be there, to let in ssh.
+* Add new rule
+ * Source Type - CIDR
+ * Source CIDR - `0.0.0.0/0`
+ * IP Protocol - `All Protocols`
+
+![ingress](https://i.imgur.com/YouPN9n.png)
+
+**To test**
+
+* ssh in to the VM
+* `nc -l 7777` - starts a netcat server listening on port 7777/tcp
+* go on site like [yougetsignal.com](https://www.yougetsignal.com/tools/open-ports/)
+ put in IP of the VM, port, test if you get `open`
+* or from your linux machine `nc 7777`,
+ write something, it should appear in the VM
+
+If it works, then depending on the use, one can start securing stuff better.
+For example, restricing from what public ip connection are accepted -
+ingress rule has `Source CIDR` set to lets say `353.749.385.54/32`
+
+If set, the online test from a website will fail, but nc from
+a machine with that public IP will work.
+
+### Docker on ubuntu
+
+For some reason [its not stupid simple](https://docs.docker.com/engine/install/ubuntu/)
+to install docker on ubuntu. You are put to decisions.
+I picked the script way, which I guess dont get upated?
+
+* `curl -fsSL https://get.docker.com | bash`
+
+### Prevent reclaim if VM runs idle too much
+
+![idle](https://i.imgur.com/q7mGQns.png)
+
+I will not be running anything for now as a test,
+if email about idle instance comes.
+
+IF it comes the solution should be to put regular load on the VM.
+This should do it.
+
+* `echo "*/5 * * * * root timeout 46 nice md5sum /dev/zero" | sudo tee /etc/cron.d/dummy-load`
+
+Some discussion on this
+
+* [1](https://www.reddit.com/r/oraclecloud/comments/122b4gf/a_simple_cron_controlled_load_generator_for/)
+* [2](https://www.reddit.com/r/oraclecloud/comments/125rege/what_to_run_on_always_free_to_prevent_idle/)
+
+## Archlinux
+
+![arch](https://i.imgur.com/eXGmmqR.png)
+
+I am used to archlinux and everything else feels wrong.
+So to get it as a VM on oracle cloud.
+
+* Download the latest qcow2 image
+ [https://geo.mirror.pkgbuild.com/images/latest/Arch-Linux-x86_64-cloudimg.qcow2](https://geo.mirror.pkgbuild.com/images/latest/Arch-Linux-x86_64-cloudimg.qcow2)
+* Storage > Buckets > Bucket in the list > Upload
+* Compute > Custom images > Import image
+ * Operating system - Generic Linux
+ * Import from an Object Storage bucket
+ * Image type - QCOW2
+ * Paravirtualized mode
+
+arch/arch for SSH login, recommend disabling password login and do IP restriction
+
+Not tested but theres also this as option:
+
+* [Convert instructions](https://gist.github.com/zengxinhui/01afb43b8d663a4232a42ee9858be45e)
+* [arch ARM](https://www.reddit.com/r/archlinux/comments/14iqb6h/how_to_install_arch_on_an_oracle_cloud_free_tier/)
+
+### Links
+
+Some youtube videos and articles
+
+* [youtube-1](https://youtu.be/NKc3k7xceT8)
+* [youtube-2](https://youtu.be/zWeFD4NNF5o)
+* [ryanharrison - oracle-cloud-free-server](https://ryanharrison.co.uk/2023/01/28/oracle-cloud-free-server.html)