Unrandom

Ramadan Mubarak

Alhamdulillah, my first Ramadan since embracing the deen of Islam.

Many believers feel a bit of regret at the end of the month, wishing to have been more perseverant, to have recited more of the Qur’an, to have prayed more… but there is a valuable lesson in this. The yearly window of opportunity that closes at the end of the month is but a reminder of the single window of opportunity given to us by our Creator in this earthly life. Woe to those who, at the end of their lives, see that window close, wanting to go back again, and be more grateful, more patient, more compassionate… may Allah SWT grant us mercy for our shortcomings.

Fasting is a powerful act of worship, but paired with prayer, charity and reflection, the blessings compound. Yet like many brothers and sisters, the tribulations of the temporary dunya do not pause. Is this Allah’s test? Will the heart fail to see it, or will we be grateful for His blessings, which never run out? May Allah SWT accept our prayer and our fast.

One of my goals for this month was to engage with the Qur’an from the perspective of a software engineer. Though I spent much of my time stabilizing my life and dealing with bureaucracy, I did, by the grace of God, manage to find some wonderful resources in recent days.

Several months ago, I discovered the “reminder app” by GitHub user asim. It is a beautiful project, which displays a daily “reminder”: a verse from the Qur’an, a hadith, and one of Allah’s 99 names, and features an AI powered search of the scripture (using RAG to ensure consistency with Islamic teachings).

This project not only features a web UI, but also an API, so I thought maybe I would integrate something similar into my website – fetch an ayah from the API, and display it on the site to the visitors. But with only a few days left of Ramadan, I needed to pursue an easier solution.

Fortunately, I found just that: this WordPress plugin, to enable embedding the Qur’an into a WordPress site. At the time of writing, I have it enabled on this site. The full Qur’an can be read here, and you can see a random ayah in the site’s sidebar.

Of course, I had to ask myself: where does the Qur’an text, audio and translation data come from? The answer: https://alquran.cloud/api

Until now, I had always been a happy user of https://quran.com/, but knowing that there is a REST API serving the Qur’an opens a whole new world of possibilities…

Well, my original intention – somehow host the Qur’an on my website – is satisfied, and we are nearing the month of Shawwal, so it makes little sense to dive into an ambitious “religious project”, especially with my other obligations. Still, it is a blessing unto itself, knowing that such vast resources exist.

A closer look at the Qur’an API website shows that it is maintained by an organization known as the Islamic Network, whose impressive portfolio of projects can be seen here.

It has long been my dream to engage with an Islamic open source community. ٱلْحَمْدُ لِلَّٰهِ! Allah only knows, what His servants will build for him by next Ramadan.

May Allah SWT reward all those developers for their hard work.

Yet another look at the Islamic Network’s GitHub page shows their clear decision to move away from GitHub. A bold move, considering its current status as the defacto standard of the open source community, yet completely reasonable, considering the corporate ownership of GitHub and Microsoft, and their open ties to the genocidal actions taken by the state of Israel against the Palestinian people in Gaza.

This, however, begs the question: Where to host the source repositories? As it turns out: here.

I have never seen that UI before, but the little credit tag in the footer reveals: Finally, I found the open source, self hosted Git server I have been searching for years!

It is exciting to discover so many wonderful resources. Of course, my initial desire was to dive into these projects at the start of Ramadan, not at the end. However, I should probably be careful. The month of Ramadan is not a hackathon, and certainly not the time to increase code output, but probably to reduce it. Still, it is a great blessing, knowing that these resources exist, may Allah reward those who worked to make it happen.

And of course, all these blessings ultimately come from Him, for He is الوهاب – Al Wahhab: The Supreme Bestower, everything that benefits comes from Him.

To anyone reading, perhaps you find some benefit in these resources as well? May Allah SWT accept our prayers and our fasts, may He continue to grant us protection, blessings and guidance.

Deploying a Production Ready Website in Minutes (No Lock-In)

In this post, I will outline how to quickly set up professional, production ready websites – fast, easy, no vendor lock-in.

We will deploy our server on Vultr, register and configure a domain with Infomaniak, and once everything is set up, deploy the site using Dokku (an open-source, self-hosted Heroku).

Let’s go!

1. Get a server (VPS)

First, we need a server — a Virtual Private Server (VPS). This is a small Linux machine with a public IP address that we rent to host our website.

There are many cloud providers offering this, but the best ones charge per hour, not per month. Vultr is a solid choice. For example, at around $10/month, you get:

  • 1 vCPU
  • 2 GB RAM
  • a public IPv4 (and IPv6) address

That’s more than enough for a small to medium website.

After registering with Vultr, go to:

Deploy → Deploy New Server

Choose:

  • Shared CPU (or higher if needed)
  • a nearby data center
  • a plan around $10/month

Then follow the wizard.

2. Access via SSH

To access your server, you’ll need an SSH key.

On your local machine, run: ssh-keygen

This creates:

  • a private key (keep this secret)
  • a public key (safe to share)

Paste the contents of the public key into Vultr when prompted.

3. Register a domain and configure DNS

Next, you’ll need a domain name (e.g. myawesomewebsite.com).

Register one with Infomaniak, then go to:

  • Manager → Web & Domains → Domains
  • Select your domain
  • Change DNS zone → Add record

Add:

  • an A record pointing to your server’s IPv4 address
  • optionally an AAAA record for IPv6
  • optionally a CNAME so www.myawesomewebsite.com points to myawesomewebsite.com

After DNS propagates, your domain will resolve to your server.

4. Deploy with Dokku (the fun part)

Now we deploy the website.

Dokku is a lightweight, open-source, self-hosted PaaS. To make this even easier, I wrapped the setup into a convenience tool called Dokku Scrubs.

With it, you can deploy WordPress in essentially one command.

# Installer
curl -fsSL https://raw.githubusercontent.com/belal-i/dokku-scrubs/master/install.sh | bash

# Deploy
dokku-scrubs \
  --app wordpress \
  --domain myawesomewebsite.com \
  --letsencrypt \
  --email user@example.com

That’s it.

Now visit your domain, complete the famous 5-minute WordPress install, and you’re live — with HTTPS, proper isolation, and full control.

Final notes

  • No vendor lock-in
  • Easy to migrate
  • Cheap to run
  • Production-ready

(Some links in this post may be referral links. They help support this site at no extra cost to you.)

In the name of God, the Most Compassionate, the Most Merciful.

Unrandom is a place where nothing is a random accident, but everything is a deliberate choice.

Code, fragments, notes, observations… some technical, some cultural, some unfinished, all deliberate.

As in life, nothing is random, everything is by design. I invite you to read the signs and reflect.