Free cloud native platform for service hosting
GPL-3.0 License
[!IMPORTANT] This project is designed to manage my offsite setup, which is specific to my use cases, so it might not be directly useful to you. For a ready-to-use solution, please refer to my homelab project.
The name is from Horus the Child, or Harpocrates
Oracle Cloud was chosen due to their very generous free tier.
Provider | Service | Usage | Pricing |
---|---|---|---|
Terraform Cloud | Workspace | 1 | Free |
Oracle Cloud | Virtual Cloud Network | 1 | Free |
Oracle Cloud |
VM.Standard.A1.Flex (ARM) |
4 cores, 24GB mem | Free (yes, you read it right!) |
Oracle Cloud | Block Storage | 200GB | Free |
Configuration files:
~/.oci/private.pem
and click Add~/.oci/config
and change key_file
to ~/.oci/private.pem
If you see a warning like this, try to avoid those regions:
⚠️ Because of high demand for Arm Ampere A1 Compute capacity in the Foo and Bar regions, A1 instance availability in these regions is limited. If you plan to create A1 instances, we recommend choosing another region as your home region
Remember to backup the following credential files (you can put them in a password manager):
~/.terraform.d/credentials.tfrc.json
Install the following packages:
That's it! Run the following command to open the Nix shell:
nix-shell
Build the infrastructure:
make
Desktop:
# kubectl exec to the wireguard pod
cat /config/peer_desktop/peer_desktop.conf
# Copy the content to wg0.conf
# Then import the config file, for example on Linux using NetworkManager
nmcli connection import type wireguard file wg0.conf
nmcli connection up wg0
Mobile:
# kubectl exec to the wireguard pod
/app/show-peer phone
# Then scan the QR code
TBD