<?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: Bryan Gitonga</title>
    <description>The latest articles on DEV Community by Bryan Gitonga (@bryan_gitonga_e244e8bfde1).</description>
    <link>https://dev.to/bryan_gitonga_e244e8bfde1</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.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4160449%2F36343586-91cc-4b0b-a22c-47aca7ad260f.jpg</url>
      <title>DEV Community: Bryan Gitonga</title>
      <link>https://dev.to/bryan_gitonga_e244e8bfde1</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/bryan_gitonga_e244e8bfde1"/>
    <language>en</language>
    <item>
      <title>ERP, CRM, E-commerce and Automation Software by Greatzern</title>
      <dc:creator>Bryan Gitonga</dc:creator>
      <pubDate>Sat, 03 Oct 2026 20:10:31 +0000</pubDate>
      <link>https://dev.to/bryan_gitonga_e244e8bfde1/erp-crm-e-commerce-and-automation-software-by-greatzern-211d</link>
      <guid>https://dev.to/bryan_gitonga_e244e8bfde1/erp-crm-e-commerce-and-automation-software-by-greatzern-211d</guid>
      <description>&lt;p&gt;Most businesses run on disconnected tools: one for accounting, one for customers, one for the online store, one for messaging. Data gets duplicated, processes break between systems, and teams spend hours moving information by hand.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://greatzern.com" rel="noopener noreferrer"&gt;Greatzern Software Solutions&lt;/a&gt; is a managed software implementation agency. We replace that patchwork with one integrated business system, deployed on the client's own infrastructure and maintained long term. This post covers what we offer and how each product works.&lt;/p&gt;

&lt;h2&gt;
  
  
  ERP software with HR, accounting and CRM
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://erp.greatzern.com" rel="noopener noreferrer"&gt;GreatrERP&lt;/a&gt; is a business management system that brings HR, accounting and CRM into one platform. A company manages its people, finances, customers and operations with shared data instead of separate tools.&lt;/p&gt;

&lt;p&gt;The core modules are shared across every business type. Industry-specific modules are added or built for the sector a business operates in, so the system fits retail, construction, services, real estate or any other industry.&lt;/p&gt;

&lt;h2&gt;
  
  
  CRM and ERP for professional services firms
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://crm.greatzern.com" rel="noopener noreferrer"&gt;GreatrCRM&lt;/a&gt; is an ERP built for professional services firms. It covers clients, projects and billing in one place, for agencies, consultancies and other teams that sell time and expertise.&lt;/p&gt;

&lt;h2&gt;
  
  
  E-commerce platform builder
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://shop.greatzern.com" rel="noopener noreferrer"&gt;GreatShop&lt;/a&gt; is an e-commerce platform builder with 27 payment gateways. It suits businesses that sell products or services online and need to accept payments from different regions and providers.&lt;/p&gt;

&lt;h2&gt;
  
  
  WhatsApp and email automation
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://wati.greatzern.com" rel="noopener noreferrer"&gt;WapiAgent&lt;/a&gt; automates WhatsApp and email communication: follow-ups, notifications and customer messaging without manual sending.&lt;/p&gt;

&lt;h2&gt;
  
  
  Online scheduling and booking software
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://cal.greatzern.com" rel="noopener noreferrer"&gt;Cali&lt;/a&gt; handles appointment scheduling and bookings, so clients can book time without back-and-forth messages.&lt;/p&gt;

&lt;h2&gt;
  
  
  Email marketing and newsletter software
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://emails.greatzern.com" rel="noopener noreferrer"&gt;Greatr-Mail&lt;/a&gt; is a newsletter and email campaign tool for sending marketing and customer updates.&lt;/p&gt;

&lt;h2&gt;
  
  
  SMS gateway
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://sms.greatzern.com" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fsaeecszyw2nwenibu4ju.png" alt=" " width="800" height="450"&gt;&lt;/a&gt; is an SMS gateway for notifications, reminders and marketing messages.&lt;/p&gt;

&lt;h2&gt;
  
  
  How a managed implementation works
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Discovery. We map your current tools, workflows and goals.&lt;/li&gt;
&lt;li&gt;Implementation. We configure, integrate and deploy the system on your infrastructure and migrate your existing data.&lt;/li&gt;
&lt;li&gt;Ongoing support. We maintain, update, secure and support the system under a retainer.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Why deploy on your own infrastructure
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;You own your data and control where it lives.&lt;/li&gt;
&lt;li&gt;You work directly with the team that builds and configures your system.&lt;/li&gt;
&lt;li&gt;Your tools share data instead of running as separate silos.&lt;/li&gt;
&lt;li&gt;Maintenance and security updates are handled for you.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Get started
&lt;/h2&gt;

&lt;p&gt;If you want ERP, CRM, e-commerce, messaging automation or scheduling set up as one connected system, visit &lt;a href="https://greatzern.com" rel="noopener noreferrer"&gt;greatzern.com&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Which tools in your business are the most disconnected right now? Tell me in the comments.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>saas</category>
      <category>erp</category>
      <category>crm</category>
    </item>
    <item>
      <title>Self-Hosting a Business Stack with Dokploy, Traefik, CrowdSec</title>
      <dc:creator>Bryan Gitonga</dc:creator>
      <pubDate>Sat, 03 Oct 2026 20:07:59 +0000</pubDate>
      <link>https://dev.to/bryan_gitonga_e244e8bfde1/self-hosting-a-business-stack-with-dokploy-traefik-crowdsec-18h0</link>
      <guid>https://dev.to/bryan_gitonga_e244e8bfde1/self-hosting-a-business-stack-with-dokploy-traefik-crowdsec-18h0</guid>
      <description>&lt;p&gt;Most small and mid-sized businesses run on a patchwork of separate tools: one for accounting, one for customers, one for sales, one for messaging. Data gets duplicated and processes break between systems.&lt;/p&gt;

&lt;p&gt;A cleaner approach is to deploy an integrated stack on infrastructure the business controls. This post covers the deployment and security setup we use at &lt;a href="https://greatzern.com" rel="noopener noreferrer"&gt;Greatzern Software Solutions&lt;/a&gt; to run business systems on a single VPS: Dokploy for deployment, Traefik for routing, and CrowdSec for protection, behind Cloudflare.&lt;/p&gt;

&lt;h2&gt;
  
  
  What we deploy
&lt;/h2&gt;

&lt;p&gt;A typical client stack includes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;[ERP with HR, accounting and CRM][(&lt;a href="https://erp.greatzern.com)" rel="noopener noreferrer"&gt;https://erp.greatzern.com)&lt;/a&gt;]&lt;/li&gt;
&lt;li&gt;&lt;a href="https://crm.greatzern.com" rel="noopener noreferrer"&gt;ERP for professional services firms&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://shop.greatzern.com" rel="noopener noreferrer"&gt;An e-commerce platform builder&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://wati.greatzern.com" rel="noopener noreferrer"&gt;WhatsApp and email automation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://cal.greatzern.com" rel="noopener noreferrer"&gt;Online scheduling and booking&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://emails.greatzern.com" rel="noopener noreferrer"&gt;Newsletter and email marketing&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://sms.greatzern.com" rel="noopener noreferrer"&gt;An SMS gateway&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Each application runs as its own container, with its own subdomain.&lt;/p&gt;

&lt;h2&gt;
  
  
  The architecture
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Faaqdu1f4j5wm7xwjvcgl.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Faaqdu1f4j5wm7xwjvcgl.png" alt=" " width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Traffic reaches the server in four layers:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Cloudflare at the edge handles DNS, caching and basic filtering.&lt;/li&gt;
&lt;li&gt;A Cloudflared tunnel carries traffic to the server, so the VPS does not need to expose its web ports directly to the internet.&lt;/li&gt;
&lt;li&gt;CrowdSec inspects behavior and blocks malicious IPs.&lt;/li&gt;
&lt;li&gt;Traefik routes each request to the right container.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Dokploy manages the containers, domains and deployments on top of this.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Dokploy
&lt;/h2&gt;

&lt;p&gt;Dokploy gives you a deployment dashboard on your own server. You connect a repository or a Docker image, set environment variables, attach a domain, and deploy. Traefik is configured for you, which removes most of the manual routing work.&lt;/p&gt;

&lt;p&gt;For a business that wants to own its infrastructure, this means one server, one dashboard, and no per-app hosting fees.&lt;/p&gt;

&lt;h2&gt;
  
  
  The network gotcha that costs hours
&lt;/h2&gt;

&lt;p&gt;When one service needs to talk to another, for example an automation tool calling a database, containers must share a network. In Dokploy, that network is &lt;code&gt;dokploy-network&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;If a service does not declare it, it cannot resolve other containers by name. You will see DNS resolution failures even though both containers are running.&lt;/p&gt;

&lt;p&gt;Declare the network explicitly in your compose file:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight yaml"&gt;&lt;code&gt;&lt;span class="na"&gt;services&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="na"&gt;app&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;your-image:latest&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;dokploy-network&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;dokploy-network&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;After this change, containers can reach each other by service name.&lt;/p&gt;

&lt;h2&gt;
  
  
  Adding behavioral protection with CrowdSec
&lt;/h2&gt;

&lt;p&gt;A firewall blocks ports. It does not notice a client hammering your login page. CrowdSec reads your logs, detects patterns such as brute force attempts and scanners, and blocks those IPs through a bouncer.&lt;/p&gt;

&lt;p&gt;With Traefik in front of your apps, the CrowdSec bouncer sits in the request path and rejects flagged IPs before they reach your applications. Combined with Cloudflare at the edge, this gives you protection at two layers without paying for a managed security product.&lt;/p&gt;

&lt;h2&gt;
  
  
  Security checklist
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Keep web ports closed on the VPS and route traffic through the tunnel.&lt;/li&gt;
&lt;li&gt;Put every application on its own subdomain.&lt;/li&gt;
&lt;li&gt;Use strong, unique credentials and rotate them.&lt;/li&gt;
&lt;li&gt;Back up databases and volumes on a schedule, and test restores.&lt;/li&gt;
&lt;li&gt;Keep the host and container images updated.&lt;/li&gt;
&lt;li&gt;Monitor CrowdSec decisions regularly.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Who this is for
&lt;/h2&gt;

&lt;p&gt;This setup suits businesses that want one integrated system, control over their data, and predictable costs. It takes time to build and maintain properly, which is why many companies hand it to a team that does it daily.&lt;/p&gt;

&lt;p&gt;If you want this deployed and maintained for your business, &lt;a href="https://greatzern.com" rel="noopener noreferrer"&gt;Greatzern&lt;/a&gt; configures, deploys and supports these systems on your own infrastructure.&lt;/p&gt;

&lt;p&gt;What does your self-hosting stack look like? Share it in the comments.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>devops</category>
      <category>saas</category>
      <category>webdev</category>
    </item>
  </channel>
</rss>
