<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: nothing ton</title>
    <description>The latest articles on DEV Community by nothing ton (@nothing_ton_65960f01ee6e4).</description>
    <link>https://dev.to/nothing_ton_65960f01ee6e4</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3864706%2F547238bc-6621-4852-88dd-9c8f083039c0.png</url>
      <title>DEV Community: nothing ton</title>
      <link>https://dev.to/nothing_ton_65960f01ee6e4</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/nothing_ton_65960f01ee6e4"/>
    <language>en</language>
    <item>
      <title>Why running your MT4/MT5 trading bots on a home PC is costing you money</title>
      <dc:creator>nothing ton</dc:creator>
      <pubDate>Fri, 10 Apr 2026 09:13:38 +0000</pubDate>
      <link>https://dev.to/nothing_ton_65960f01ee6e4/why-running-your-mt4mt5-trading-bots-on-a-home-pc-is-costing-you-money-bod</link>
      <guid>https://dev.to/nothing_ton_65960f01ee6e4/why-running-your-mt4mt5-trading-bots-on-a-home-pc-is-costing-you-money-bod</guid>
      <description>&lt;p&gt;If you're running automated trading strategies, execution speed and uptime are the only things keeping you profitable. A home PC is vulnerable to power outages, forced OS updates, and ISP drops. A 2-second wifi drop or a Windows update restart can blow up a trade.&lt;/p&gt;

&lt;p&gt;A VPS (Virtual Private Server) hosted near your broker's servers reduces latency to milliseconds and gives you 100% uptime. &lt;/p&gt;

&lt;p&gt;I've been looking into dedicated Forex VPS hosting. It gives you 100% uptime, ultra-low latency to broker servers, and you can access it from your phone anywhere. &lt;/p&gt;

&lt;p&gt;Solution: &lt;a href="https://www.awin1.com/cread.php?awinmid=111284&amp;amp;awinaffid=2844456" rel="noopener noreferrer"&gt;VPS Forex Trader&lt;/a&gt; provides specialized infrastructure for MT4/MT5.&lt;br&gt;
Link: &lt;a href="https://www.awin1.com/cread.php?awinmid=111284&amp;amp;awinaffid=2844456" rel="noopener noreferrer"&gt;https://www.awin1.com/cread.php?awinmid=111284&amp;amp;awinaffid=2844456&lt;/a&gt;&lt;/p&gt;

</description>
      <category>trading</category>
      <category>forex</category>
      <category>vps</category>
      <category>mt4</category>
    </item>
    <item>
      <title>Zero-to-Production on Oracle Cloud's Always Free Tier</title>
      <dc:creator>nothing ton</dc:creator>
      <pubDate>Thu, 09 Apr 2026 03:25:54 +0000</pubDate>
      <link>https://dev.to/nothing_ton_65960f01ee6e4/zero-to-production-on-oracle-clouds-always-free-tier-26m4</link>
      <guid>https://dev.to/nothing_ton_65960f01ee6e4/zero-to-production-on-oracle-clouds-always-free-tier-26m4</guid>
      <description>&lt;h2&gt;
  
  
  The Ultimate Indie Hacker Guide to Zero-Spend Infrastructure
&lt;/h2&gt;

&lt;p&gt;If you are an indie hacker or developer building side projects, the $20/month hosting fee per project adds up fast. AWS, GCP, and DigitalOcean all want your credit card. But Oracle Cloud quietly offers the best "Always Free" tier in the industry.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What you get for exactly $0.00:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;4 ARM Ampere A1 Compute instances&lt;/li&gt;
&lt;li&gt;24 GB of RAM&lt;/li&gt;
&lt;li&gt;200 GB of Block Storage&lt;/li&gt;
&lt;li&gt;10 TB of Outbound Data Transfer&lt;/li&gt;
&lt;li&gt;2 AMD Micro Compute instances&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This guide will show you how to provision the server, configure the notoriously complex Virtual Cloud Network (VCN), install Docker, set up Traefik as a reverse proxy, and deploy your first app with automated HTTPS—all in under 30 minutes.&lt;/p&gt;




&lt;h2&gt;
  
  
  Step 1: Provisioning the ARM Ampere A1 Instance
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Sign up for an Oracle Cloud account (you will need a credit card for verification, but you will not be charged if you stay within the Always Free tier).&lt;/li&gt;
&lt;li&gt;Go to &lt;strong&gt;Compute &amp;gt; Instances&lt;/strong&gt; and click &lt;strong&gt;Create Instance&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Name your instance (e.g., &lt;code&gt;zero-spend-box-01&lt;/code&gt;).&lt;/li&gt;
&lt;li&gt;In the &lt;strong&gt;Image and Shape&lt;/strong&gt; section:

&lt;ul&gt;
&lt;li&gt;Click &lt;strong&gt;Edit&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Change the image to &lt;strong&gt;Ubuntu 22.04&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Change the shape to &lt;strong&gt;Ampere &amp;gt; VM.Standard.A1.Flex&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Max out the sliders to 4 OCPUs and 24 GB of memory (assuming this is your only instance).&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;In the &lt;strong&gt;Networking&lt;/strong&gt; section, ensure it assigns a public IPv4 address.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Add SSH keys&lt;/strong&gt;: Paste your public SSH key or generate a new one. &lt;strong&gt;Do not skip this or you will be locked out.&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Under &lt;strong&gt;Boot volume&lt;/strong&gt;, leave it at the default (or scale up to 200GB if you wish).&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Create&lt;/strong&gt; and wait for the instance state to turn "Running." Note down the Public IP address.&lt;/li&gt;
&lt;/ol&gt;




&lt;h2&gt;
  
  
  Step 2: Conquering the Oracle VCN (Ingress/Egress Rules)
&lt;/h2&gt;

&lt;p&gt;By default, Oracle's firewall blocks almost everything. Even if you open ports in &lt;code&gt;ufw&lt;/code&gt; on Ubuntu, the cloud-level Virtual Cloud Network (VCN) will still block incoming traffic to ports 80 and 443.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;On your instance details page, click on your &lt;strong&gt;Subnet&lt;/strong&gt; (e.g., &lt;code&gt;subnet-xxxx&lt;/code&gt;).&lt;/li&gt;
&lt;li&gt;Click on the &lt;strong&gt;Security List&lt;/strong&gt; (e.g., &lt;code&gt;Default Security List for vcn-xxxx&lt;/code&gt;).&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Add Ingress Rules&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Add the following rule for HTTP:

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Source CIDR&lt;/strong&gt;: &lt;code&gt;0.0.0.0/0&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;IP Protocol&lt;/strong&gt;: TCP&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Destination Port Range&lt;/strong&gt;: &lt;code&gt;80&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Add Ingress Rules&lt;/strong&gt; again.&lt;/li&gt;
&lt;li&gt;Add the following rule for HTTPS:

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Source CIDR&lt;/strong&gt;: &lt;code&gt;0.0.0.0/0&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;IP Protocol&lt;/strong&gt;: TCP&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Destination Port Range&lt;/strong&gt;: &lt;code&gt;443&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;(Optional) If you plan to expose other ports (like a database admin panel), add them here, but be careful with &lt;code&gt;0.0.0.0/0&lt;/code&gt;.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Now, SSH into your instance:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;ssh ubuntu@YOUR_PUBLIC_IP
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;We must also open the ports on the local Ubuntu &lt;code&gt;iptables&lt;/code&gt;/&lt;code&gt;ufw&lt;/code&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Oracle uses iptables by default on Ubuntu images&lt;/span&gt;
&lt;span class="nb"&gt;sudo &lt;/span&gt;iptables &lt;span class="nt"&gt;-I&lt;/span&gt; INPUT 6 &lt;span class="nt"&gt;-m&lt;/span&gt; state &lt;span class="nt"&gt;--state&lt;/span&gt; NEW &lt;span class="nt"&gt;-p&lt;/span&gt; tcp &lt;span class="nt"&gt;--dport&lt;/span&gt; 80 &lt;span class="nt"&gt;-j&lt;/span&gt; ACCEPT
&lt;span class="nb"&gt;sudo &lt;/span&gt;iptables &lt;span class="nt"&gt;-I&lt;/span&gt; INPUT 6 &lt;span class="nt"&gt;-m&lt;/span&gt; state &lt;span class="nt"&gt;--state&lt;/span&gt; NEW &lt;span class="nt"&gt;-p&lt;/span&gt; tcp &lt;span class="nt"&gt;--dport&lt;/span&gt; 443 &lt;span class="nt"&gt;-j&lt;/span&gt; ACCEPT
&lt;span class="nb"&gt;sudo &lt;/span&gt;netfilter-persistent save
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  Step 3: Installing Docker and Docker Compose
&lt;/h2&gt;

&lt;p&gt;We will run everything in containers to keep the server clean and easily reproducible.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Update packages&lt;/span&gt;
&lt;span class="nb"&gt;sudo &lt;/span&gt;apt update &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="nb"&gt;sudo &lt;/span&gt;apt upgrade &lt;span class="nt"&gt;-y&lt;/span&gt;

&lt;span class="c"&gt;# Install Docker&lt;/span&gt;
curl &lt;span class="nt"&gt;-fsSL&lt;/span&gt; https://get.docker.com &lt;span class="nt"&gt;-o&lt;/span&gt; get-docker.sh
&lt;span class="nb"&gt;sudo &lt;/span&gt;sh get-docker.sh

&lt;span class="c"&gt;# Add your user to the Docker group&lt;/span&gt;
&lt;span class="nb"&gt;sudo &lt;/span&gt;usermod &lt;span class="nt"&gt;-aG&lt;/span&gt; docker &lt;span class="nv"&gt;$USER&lt;/span&gt;

&lt;span class="c"&gt;# Log out and log back in for changes to take effect&lt;/span&gt;
&lt;span class="nb"&gt;exit&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Reconnect via SSH. Verify Docker is running:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;docker ps
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  Step 4: Setting up Traefik Reverse Proxy
&lt;/h2&gt;

&lt;p&gt;Traefik is a modern reverse proxy that automatically discovers Docker containers and requests Let's Encrypt SSL certificates for them. &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Create a directory for Traefik:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;mkdir&lt;/span&gt; &lt;span class="nt"&gt;-p&lt;/span&gt; ~/traefik/data
&lt;span class="nb"&gt;cd&lt;/span&gt; ~/traefik
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;Create an empty file for the Let's Encrypt certificates:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;touch &lt;/span&gt;data/acme.json
&lt;span class="nb"&gt;chmod &lt;/span&gt;600 data/acme.json
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;Create the &lt;code&gt;docker-compose.yml&lt;/code&gt; file:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight yaml"&gt;&lt;code&gt;&lt;span class="na"&gt;version&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s1"&gt;'&lt;/span&gt;&lt;span class="s"&gt;3.8'&lt;/span&gt;

&lt;span class="na"&gt;services&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="na"&gt;traefik&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
    &lt;span class="na"&gt;image&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;traefik:v2.10&lt;/span&gt;
    &lt;span class="na"&gt;container_name&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;traefik&lt;/span&gt;
    &lt;span class="na"&gt;restart&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;unless-stopped&lt;/span&gt;
    &lt;span class="na"&gt;security_opt&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s"&gt;no-new-privileges:true&lt;/span&gt;
    &lt;span class="na"&gt;networks&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s"&gt;proxy&lt;/span&gt;
    &lt;span class="na"&gt;ports&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s"&gt;80:80&lt;/span&gt;
      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s"&gt;443:443&lt;/span&gt;
    &lt;span class="na"&gt;volumes&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s"&gt;/etc/localtime:/etc/localtime:ro&lt;/span&gt;
      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s"&gt;/var/run/docker.sock:/var/run/docker.sock:ro&lt;/span&gt;
      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s"&gt;./data/acme.json:/acme.json&lt;/span&gt;
    &lt;span class="na"&gt;command&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;--providers.docker=true"&lt;/span&gt;
      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;--providers.docker.exposedbydefault=false"&lt;/span&gt;
      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;--entrypoints.web.address=:80"&lt;/span&gt;
      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;--entrypoints.websecure.address=:443"&lt;/span&gt;
      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;--certificatesresolvers.myresolver.acme.tlschallenge=true"&lt;/span&gt;
      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;--certificatesresolvers.myresolver.acme.email=YOUR_EMAIL@EXAMPLE.COM"&lt;/span&gt;
      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;--certificatesresolvers.myresolver.acme.storage=/acme.json"&lt;/span&gt;
      &lt;span class="c1"&gt;# Global HTTP to HTTPS redirect&lt;/span&gt;
      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;--entrypoints.web.http.redirections.entryPoint.to=websecure"&lt;/span&gt;
      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;--entrypoints.web.http.redirections.entryPoint.scheme=https"&lt;/span&gt;

&lt;span class="na"&gt;networks&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="na"&gt;proxy&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
    &lt;span class="na"&gt;external&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;em&gt;Note: Replace &lt;code&gt;YOUR_EMAIL@EXAMPLE.COM&lt;/code&gt; with your actual email address.&lt;/em&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Create the external network and start Traefik:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;docker network create proxy
docker compose up &lt;span class="nt"&gt;-d&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  Step 5: Deploying Your First App
&lt;/h2&gt;

&lt;p&gt;Let's deploy a simple "Hello World" Nginx container to prove everything works, including automatic SSL.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Point a DNS A record (e.g., &lt;code&gt;app.yourdomain.com&lt;/code&gt;) to your Oracle instance's Public IP address.&lt;/li&gt;
&lt;li&gt;Wait a few minutes for DNS to propagate.&lt;/li&gt;
&lt;li&gt;Create a new directory for your app:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;cd&lt;/span&gt; ~
&lt;span class="nb"&gt;mkdir &lt;/span&gt;my-app
&lt;span class="nb"&gt;cd &lt;/span&gt;my-app
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;Create a &lt;code&gt;docker-compose.yml&lt;/code&gt; for your app:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight yaml"&gt;&lt;code&gt;&lt;span class="na"&gt;version&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s1"&gt;'&lt;/span&gt;&lt;span class="s"&gt;3.8'&lt;/span&gt;

&lt;span class="na"&gt;services&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="na"&gt;web&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
    &lt;span class="na"&gt;image&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;nginx:alpine&lt;/span&gt;
    &lt;span class="na"&gt;container_name&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;my-app-web&lt;/span&gt;
    &lt;span class="na"&gt;restart&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;unless-stopped&lt;/span&gt;
    &lt;span class="na"&gt;networks&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s"&gt;proxy&lt;/span&gt;
    &lt;span class="na"&gt;labels&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;traefik.enable=true"&lt;/span&gt;
      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;traefik.http.routers.myapp.rule=Host(&lt;/span&gt;&lt;span class="err"&gt;\&lt;/span&gt;&lt;span class="s"&gt;`app.yourdomain.com&lt;/span&gt;&lt;span class="err"&gt;\&lt;/span&gt;&lt;span class="s"&gt;`)"&lt;/span&gt;
      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;traefik.http.routers.myapp.entrypoints=websecure"&lt;/span&gt;
      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;traefik.http.routers.myapp.tls.certresolver=myresolver"&lt;/span&gt;

&lt;span class="na"&gt;networks&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="na"&gt;proxy&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
    &lt;span class="na"&gt;external&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;em&gt;Note: Replace &lt;code&gt;app.yourdomain.com&lt;/code&gt; with your actual domain.&lt;/em&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Launch the app:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;docker compose up &lt;span class="nt"&gt;-d&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;Open &lt;code&gt;https://app.yourdomain.com&lt;/code&gt; in your browser. You should see the standard Nginx welcome page, fully secured with a valid HTTPS certificate!&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;You now have a production-ready, 24GB RAM, 4-core server running entirely for free. With Docker and Traefik, deploying a new MVP is as simple as creating a &lt;code&gt;docker-compose.yml&lt;/code&gt; file, updating the &lt;code&gt;Host&lt;/code&gt; label, and running &lt;code&gt;docker compose up -d&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;If you found this guide helpful and want more zero-spend architecture tips, &lt;a href="https://notgnihton.substack.com/" rel="noopener noreferrer"&gt;subscribe to my newsletter&lt;/a&gt; where I share deep dives into building profitable indie projects without burning venture capital.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Happy building!&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Stop paying for early stage hosting: A guide to the 24GB free tier</title>
      <dc:creator>nothing ton</dc:creator>
      <pubDate>Wed, 08 Apr 2026 23:26:43 +0000</pubDate>
      <link>https://dev.to/nothing_ton_65960f01ee6e4/stop-paying-for-early-stage-hosting-a-guide-to-the-24gb-free-tier-2fdl</link>
      <guid>https://dev.to/nothing_ton_65960f01ee6e4/stop-paying-for-early-stage-hosting-a-guide-to-the-24gb-free-tier-2fdl</guid>
      <description>&lt;p&gt;When validating a new idea or building out a side project, fixed hosting costs can quickly add up. Most developers eventually realize that traditional entry-level VPS providers limit you to 1GB or 2GB of RAM, which barely runs modern containerized stacks.&lt;/p&gt;

&lt;p&gt;But there is a better option: Oracle Cloud offers a &lt;strong&gt;24GB RAM, 4-core ARM instance for free, forever&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;It is arguably the best Always Free tier out there. It's enough to run your entire stack—databases, backend services, frontend containers, and reverse proxies—without breaking a sweat.&lt;/p&gt;

&lt;p&gt;The catch? Oracle's UI, networking setup, and security lists can be a massive headache to configure if you're not used to enterprise cloud environments.&lt;/p&gt;

&lt;p&gt;I'm putting together a concise, zero-to-production guide covering the exact setup to get a secure environment running without spending a dime. It covers:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Provisioning the Always Free ARM instances&lt;/li&gt;
&lt;li&gt;Setting up the correct networking and security lists&lt;/li&gt;
&lt;li&gt;Configuring Docker and a reverse proxy (like Traefik)&lt;/li&gt;
&lt;li&gt;Getting your self-hosted environment or MVP running smoothly and securely&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you want to stop paying for early-stage hosting and learn how to max out this free tier, I'm collecting interest and sending out early drafts.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Check it out and join the waitlist here:&lt;/strong&gt; &lt;a href="https://cloudguide.invaron.no" rel="noopener noreferrer"&gt;https://cloudguide.invaron.no&lt;/a&gt;&lt;/p&gt;

</description>
      <category>hosting</category>
      <category>oraclecloud</category>
      <category>devops</category>
      <category>beginners</category>
    </item>
    <item>
      <title>Stop Paying for Early Stage Hosting: A Guide to the 24GB Free Tier</title>
      <dc:creator>nothing ton</dc:creator>
      <pubDate>Wed, 08 Apr 2026 04:33:38 +0000</pubDate>
      <link>https://dev.to/nothing_ton_65960f01ee6e4/stop-paying-for-early-stage-hosting-a-guide-to-the-24gb-free-tier-11ll</link>
      <guid>https://dev.to/nothing_ton_65960f01ee6e4/stop-paying-for-early-stage-hosting-a-guide-to-the-24gb-free-tier-11ll</guid>
      <description>&lt;p&gt;When you're validating a new project or building your first MVP, fixed hosting costs can add up quickly. AWS, Google Cloud, and DigitalOcean all charge for meaningful compute power.&lt;/p&gt;

&lt;p&gt;However, there is an outlier that many developers overlook because of its enterprise reputation: &lt;strong&gt;Oracle Cloud&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Oracle Cloud offers a generous "Always Free" tier that includes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Up to 4 ARM Ampere A1 Compute instances&lt;/li&gt;
&lt;li&gt;24 GB of RAM&lt;/li&gt;
&lt;li&gt;200 GB of Block Storage&lt;/li&gt;
&lt;li&gt;10 TB of outbound data transfer per month&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It is more than enough to run your entire stack, multiple Docker containers, a database, and a reverse proxy, completely for free. &lt;/p&gt;

&lt;p&gt;The catch? Getting it configured securely and navigating their Virtual Cloud Network (VCN) can be incredibly frustrating.&lt;/p&gt;

&lt;h3&gt;
  
  
  What I'm Building
&lt;/h3&gt;

&lt;p&gt;I am putting together a concise, zero-to-production guide specifically for indie hackers and developers. It will cover:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Provisioning the Always Free ARM instances.&lt;/li&gt;
&lt;li&gt;Setting up the correct ingress/egress rules on the Oracle VCN.&lt;/li&gt;
&lt;li&gt;Configuring a secure Docker environment with Traefik or Caddy as a reverse proxy.&lt;/li&gt;
&lt;li&gt;Automating the setup so you can deploy MVPs in minutes without spending a dime.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you're tired of paying $20/month just to host a side project that gets 10 visitors a day, this guide is for you.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;👉 &lt;a href="https://notgnihton.substack.com" rel="noopener noreferrer"&gt;Join the Waitlist to get the guide when it's ready!&lt;/a&gt;&lt;/strong&gt; (Or check out the landing page at &lt;a href="https://cloudguide.invaron.no" rel="noopener noreferrer"&gt;cloudguide.invaron.no&lt;/a&gt;)&lt;/p&gt;

&lt;p&gt;Let me know in the comments what specific pain points you've had with cloud providers that you'd want covered in the guide!&lt;/p&gt;

</description>
      <category>hosting</category>
    </item>
    <item>
      <title>The Hidden Cost of Running Trading Bots on Your Home PC</title>
      <dc:creator>nothing ton</dc:creator>
      <pubDate>Tue, 07 Apr 2026 10:54:43 +0000</pubDate>
      <link>https://dev.to/nothing_ton_65960f01ee6e4/the-hidden-cost-of-running-trading-bots-on-your-home-pc-234</link>
      <guid>https://dev.to/nothing_ton_65960f01ee6e4/the-hidden-cost-of-running-trading-bots-on-your-home-pc-234</guid>
      <description>&lt;p&gt;When running automated trading strategies (EAs) on MT4 or MT5, execution speed and uptime are the only things keeping you profitable. A home PC is vulnerable to power outages, forced OS updates, and ISP drops.&lt;/p&gt;

&lt;p&gt;If you're running automated trading bots, latency and uptime are everything. A 2-second wifi drop or a Windows update restart can blow up a trade. A Virtual Private Server (VPS) hosted near your broker's servers reduces latency to milliseconds.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Solution:&lt;/strong&gt; VPS Forex Trader provides specialized infrastructure specifically for MT4/MT5. It gives you 100% uptime, ultra-low latency to broker servers, and you can access it from your phone anywhere. &lt;/p&gt;

&lt;p&gt;If you want to stop babying your home PC and protect your trades, check out VPS Forex Trader:&lt;br&gt;
&lt;a href="https://www.awin1.com/cread.php?awinmid=111284&amp;amp;awinaffid=2844456" rel="noopener noreferrer"&gt;https://www.awin1.com/cread.php?awinmid=111284&amp;amp;awinaffid=2844456&lt;/a&gt;&lt;/p&gt;

</description>
      <category>devops</category>
      <category>trading</category>
      <category>forex</category>
      <category>vps</category>
    </item>
    <item>
      <title>Stop paying for early stage hosting: A zero-to-production guide to Oracle's 24GB Free Tier</title>
      <dc:creator>nothing ton</dc:creator>
      <pubDate>Tue, 07 Apr 2026 05:19:38 +0000</pubDate>
      <link>https://dev.to/nothing_ton_65960f01ee6e4/stop-paying-for-early-stage-hosting-a-zero-to-production-guide-to-oracles-24gb-free-tier-14f4</link>
      <guid>https://dev.to/nothing_ton_65960f01ee6e4/stop-paying-for-early-stage-hosting-a-zero-to-production-guide-to-oracles-24gb-free-tier-14f4</guid>
      <description>&lt;p&gt;When validating a new idea, fixed hosting costs can add up. Oracle Cloud offers a 24GB RAM, 4-core ARM instance for free, forever. &lt;/p&gt;

&lt;p&gt;It's incredibly generous but the initial setup and networking can be unintuitive. I'm putting together a concise, zero-to-production guide covering the exact Terraform/Ansible steps, DNS, and reverse proxy setup to get a secure environment running without spending anything.&lt;/p&gt;

&lt;p&gt;It's enough to run your entire stack, but getting it configured securely is frustrating. I'm building this guide specifically for indie hackers and developers who want to set this up quickly so you can host your MVPs for free.&lt;/p&gt;

&lt;h3&gt;
  
  
  What's covered:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Provisioning ARM instances via Terraform&lt;/li&gt;
&lt;li&gt;Automating security and networking with Ansible&lt;/li&gt;
&lt;li&gt;Setting up Docker, Traefik, and Let's Encrypt&lt;/li&gt;
&lt;li&gt;Zero-spend DNS management&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If this is something you'd find useful, I'm collecting interest and sending out early drafts soon.&lt;/p&gt;

&lt;p&gt;Check it out and join the waitlist here: &lt;strong&gt;&lt;a href="https://cloudguide.invaron.no" rel="noopener noreferrer"&gt;https://cloudguide.invaron.no&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>showdev</category>
      <category>devops</category>
      <category>cloud</category>
      <category>beginners</category>
    </item>
    <item>
      <title>From Zero to Production: Your Ultimate Cloud Guide</title>
      <dc:creator>nothing ton</dc:creator>
      <pubDate>Tue, 07 Apr 2026 00:46:13 +0000</pubDate>
      <link>https://dev.to/nothing_ton_65960f01ee6e4/from-zero-to-production-your-ultimate-cloud-guide-cei</link>
      <guid>https://dev.to/nothing_ton_65960f01ee6e4/from-zero-to-production-your-ultimate-cloud-guide-cei</guid>
      <description>&lt;p&gt;Deploying a modern cloud application can feel like a daunting task, but with the right stack and a solid plan, you can go from zero to production with confidence. In this guide, we'll break down the essential components of a robust deployment pipeline.&lt;/p&gt;

&lt;h3&gt;
  
  
  1. The Frontend: Next.js
&lt;/h3&gt;

&lt;p&gt;Next.js has become the go-to framework for many developers. Its ability to handle both Static Site Generation (SSG) and Server-Side Rendering (SSR) makes it incredibly versatile. For production, ensure you're leveraging optimized images and the built-in middleware for performance and security.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. The Backend: Supabase
&lt;/h3&gt;

&lt;p&gt;Why manage your own database when you can use Supabase? It provides a powerful PostgreSQL database with built-in authentication, storage, and real-time capabilities. Using Supabase's Row Level Security (RLS) is a must for ensuring your data is secure right out of the box.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Automation: GitHub Actions
&lt;/h3&gt;

&lt;p&gt;Manual deployments are a recipe for disaster. Automate your CI/CD pipeline with GitHub Actions. Set up workflows to run your tests, lint your code, and deploy your application every time you push to your main branch.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Security First
&lt;/h3&gt;

&lt;p&gt;Security shouldn't be an afterthought. Use tools like Snyk to scan for vulnerabilities in your dependencies and ensure your environment variables are managed securely (never commit them to your repository!).&lt;/p&gt;

&lt;h3&gt;
  
  
  Conclusion
&lt;/h3&gt;

&lt;p&gt;Building and deploying in the cloud is about making smart choices early on. By combining Next.js, Supabase, and GitHub Actions, you create a foundation that is scalable, secure, and developer-friendly.&lt;/p&gt;

&lt;p&gt;I've put together a more comprehensive, step-by-step guide for those who want to dive deeper into each of these topics.&lt;/p&gt;

&lt;p&gt;Check out the full Substack post here: &lt;a href="https://notgnihton.substack.com/p/from-zero-to-production-your-ultimate" rel="noopener noreferrer"&gt;https://notgnihton.substack.com/p/from-zero-to-production-your-ultimate&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You can also download the complete guide on Gumroad: &lt;a href="https://gnihton5.gumroad.com/l/lgpwj" rel="noopener noreferrer"&gt;https://gnihton5.gumroad.com/l/lgpwj&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Happy deploying!&lt;/p&gt;

</description>
      <category>cloud</category>
      <category>deployment</category>
      <category>nextjs</category>
      <category>supabase</category>
    </item>
  </channel>
</rss>
