<?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: Akhil Naidu</title>
    <description>The latest articles on DEV Community by Akhil Naidu (@akhilnaidu).</description>
    <link>https://dev.to/akhilnaidu</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%2F419389%2Fdb237405-77be-432a-846b-8be34ca1fac5.png</url>
      <title>DEV Community: Akhil Naidu</title>
      <link>https://dev.to/akhilnaidu</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/akhilnaidu"/>
    <language>en</language>
    <item>
      <title>Openclaw: Why This Flawed AI Assistant is the Blueprint for Your Digital Future</title>
      <dc:creator>Akhil Naidu</dc:creator>
      <pubDate>Fri, 30 Jan 2026 16:03:07 +0000</pubDate>
      <link>https://dev.to/dflow/openclaw-why-this-flawed-ai-assistant-is-the-blueprint-for-your-digital-future-4faf</link>
      <guid>https://dev.to/dflow/openclaw-why-this-flawed-ai-assistant-is-the-blueprint-for-your-digital-future-4faf</guid>
      <description>&lt;p&gt;This blog post explores &lt;strong&gt;OpenClaw&lt;/strong&gt; (formerly known as &lt;strong&gt;Moltbot&lt;/strong&gt; and &lt;strong&gt;Clawdbot&lt;/strong&gt;), an autonomous AI assistant that has recently gained significant traction in the developer community. We will examine its architecture, deployment strategies, and the critical security implications of giving an LLM full system access.&lt;/p&gt;

&lt;p&gt;While many early adopters and beta testers are using it for performing real-world tasks like booking meetings and checking inboxes via messaging apps, &lt;strong&gt;dFlow&lt;/strong&gt; is looking at it in a completely different way, especially to prevent attacks, maintain autoscaling, and provide analytics and performance insights for containers running in a box.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Throughout this article, I might use the terms OpenClaw, Moltbot, and Clawdbot. They all refer to the same project.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  Autonomous AI Agents Are Already Here
&lt;/h2&gt;

&lt;p&gt;Autonomous AI agents are no longer a distant idea. They are already executing real-world tasks, interacting with live systems, and making decisions without constant human supervision. One of the most discussed examples of this shift is &lt;strong&gt;OpenClaw&lt;/strong&gt;, an experimental personal AI assistant that has gone viral in the developer community.&lt;/p&gt;

&lt;p&gt;OpenClaw demonstrates what personal AI agents can already do today, but it also highlights a hard truth. Giving an LLM deep system access introduces security risks that the ecosystem is still learning to manage.&lt;/p&gt;

&lt;p&gt;This post intentionally focuses on security, not hype. OpenClaw is impressive, but like many breakthrough tools before it, it is early, sharp-edged, and not yet ready for widespread adoption.&lt;/p&gt;




&lt;h2&gt;
  
  
  What Is OpenClaw?
&lt;/h2&gt;

&lt;p&gt;OpenClaw is an autonomous AI assistant designed to perform real-world tasks such as:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Booking meetings
&lt;/li&gt;
&lt;li&gt;Reading and responding to inboxes
&lt;/li&gt;
&lt;li&gt;Monitoring social platforms
&lt;/li&gt;
&lt;li&gt;Executing local system commands (&amp;lt;3)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It operates primarily through messaging platforms like Telegram and Discord, acting as a personal agent rather than a traditional chat interface.&lt;/p&gt;

&lt;p&gt;The project was created by &lt;strong&gt;Peter Steinberger&lt;/strong&gt; and reached nearly &lt;strong&gt;70,000 GitHub stars in under three months&lt;/strong&gt;, which says a lot about developer curiosity around AI agents. Despite earlier naming confusion, OpenClaw is not affiliated with Anthropic or Claude.&lt;/p&gt;

&lt;p&gt;Its popularity is not because it is production-safe. It is popular because it shows what is technically possible right now.&lt;/p&gt;




&lt;h2&gt;
  
  
  OpenClaw System Architecture at a High Level
&lt;/h2&gt;

&lt;p&gt;OpenClaw connects local system capabilities with cloud-hosted language models using a distributed architecture.&lt;/p&gt;

&lt;h3&gt;
  
  
  System Architecture Overview
&lt;/h3&gt;

&lt;p&gt;OpenClaw operates through a distributed architecture that connects local system commands with cloud-based LLMs.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Component&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Gateway Daemon&lt;/td&gt;
&lt;td&gt;The core hub containing the web-based configuration dashboard and a WebSocket server&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Nodes&lt;/td&gt;
&lt;td&gt;Provide native functionality for hardware, such as camera or canvas access for mobile and desktop apps&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Channels&lt;/td&gt;
&lt;td&gt;Messaging interfaces (Telegram, Discord, WhatsApp) using libraries like Grammy or DiscordJS&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Agent Runtime&lt;/td&gt;
&lt;td&gt;Powered by PI, creating in-memory sessions to handle tool skills and communication hooks&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Session Manager&lt;/td&gt;
&lt;td&gt;Manages storage, state, and sensitive data like API tokens and chat transcripts&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;From a systems perspective, this design is elegant. From a security perspective, it is extremely powerful and therefore extremely dangerous if misused.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Core Problem: Full System Access
&lt;/h2&gt;

&lt;p&gt;The biggest concern with OpenClaw is not bugs. It is capability.&lt;/p&gt;

&lt;p&gt;OpenClaw can:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Read files and PDFs
&lt;/li&gt;
&lt;li&gt;Scan emails and messages
&lt;/li&gt;
&lt;li&gt;Browse the web
&lt;/li&gt;
&lt;li&gt;Execute system commands
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That combination creates a perfect environment for prompt injection attacks.&lt;/p&gt;




&lt;h2&gt;
  
  
  Why Prompt Injection Is a Serious Risk
&lt;/h2&gt;

&lt;p&gt;If an agent can read untrusted input and execute commands, the following attack paths become realistic:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A malicious PDF contains hidden instructions that override agent intent
&lt;/li&gt;
&lt;li&gt;A web page injects a command that triggers data exfiltration
&lt;/li&gt;
&lt;li&gt;An email prompt causes the agent to install malware
&lt;/li&gt;
&lt;li&gt;An agent misinterprets content and performs unauthorized actions
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;There have already been reports of agents performing actions they were never explicitly instructed to do after consuming external data.&lt;/p&gt;

&lt;p&gt;This is not a flaw unique to OpenClaw. It is a structural issue with autonomous agents.&lt;/p&gt;




&lt;h2&gt;
  
  
  This Is Not New: AI Tools Always Start Unsafe
&lt;/h2&gt;

&lt;p&gt;It is important to zoom out.&lt;/p&gt;

&lt;p&gt;Almost every major AI platform started with serious security gaps:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Early ChatGPT versions leaked system prompts and hallucinated confidential data
&lt;/li&gt;
&lt;li&gt;Plugins and browsing tools initially enabled prompt injection at scale
&lt;/li&gt;
&lt;li&gt;MCP-style tool calling raised concerns about uncontrolled execution
&lt;/li&gt;
&lt;li&gt;AutoGPT-style agents repeatedly demonstrated runaway behaviors
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Over time, safeguards improved:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Sandboxing and permission scoping
&lt;/li&gt;
&lt;li&gt;Better prompt isolation
&lt;/li&gt;
&lt;li&gt;Explicit tool approval layers
&lt;/li&gt;
&lt;li&gt;Stronger memory boundaries
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Security maturity always lags behind capability.&lt;/p&gt;

&lt;p&gt;OpenClaw is currently in the capability explosion phase, not the hardening phase.&lt;/p&gt;




&lt;h2&gt;
  
  
  How Developers Are Hardening OpenClaw Today
&lt;/h2&gt;

&lt;p&gt;Because local installation on a primary machine is risky, most serious users isolate OpenClaw aggressively.&lt;/p&gt;

&lt;h3&gt;
  
  
  Common Deployment Patterns
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Dedicated Hardware&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Running OpenClaw on a separate Mac mini or spare machine, isolated from personal data.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;VPS Deployment&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Using a low-cost VPS with a non-root user and minimal permissions.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Private Networking with Tailscale&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Avoiding public IP exposure entirely by using Tailscale and accessing the dashboard only through SSH tunnels or private mesh networking.&lt;/p&gt;

&lt;p&gt;These setups reduce blast radius, but they do not eliminate risk.&lt;/p&gt;




&lt;h2&gt;
  
  
  Security Best Practices If You Are Experimenting
&lt;/h2&gt;

&lt;p&gt;If you still want to explore OpenClaw, treat it like untrusted infrastructure.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Use dedicated API keys that can be revoked instantly
&lt;/li&gt;
&lt;li&gt;Never connect it to primary email or financial accounts
&lt;/li&gt;
&lt;li&gt;Regularly purge chat logs and stored sessions
&lt;/li&gt;
&lt;li&gt;Prefer Telegram for now, as it is currently the most stable channel
&lt;/li&gt;
&lt;li&gt;Assume every external input is hostile
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This is experimentation, not deployment.&lt;/p&gt;




&lt;h2&gt;
  
  
  Why OpenClaw Still Matters
&lt;/h2&gt;

&lt;p&gt;Despite all of this, OpenClaw is important.&lt;/p&gt;

&lt;p&gt;It proves that:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Personal AI agents are feasible
&lt;/li&gt;
&lt;li&gt;Tool-based autonomy works
&lt;/li&gt;
&lt;li&gt;Messaging-based interfaces are natural for agents
&lt;/li&gt;
&lt;li&gt;Developers are ready to accept complexity in exchange for leverage
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;What it does not prove yet is that autonomous agents are safe enough for everyday users.&lt;/p&gt;




&lt;h2&gt;
  
  
  dFlow’s Perspective
&lt;/h2&gt;

&lt;p&gt;At dFlow, we view OpenClaw as a signal, not a solution.&lt;/p&gt;

&lt;p&gt;This is not the time to adopt OpenClaw in production.&lt;br&gt;&lt;br&gt;
This is the time to study it closely.&lt;/p&gt;

&lt;p&gt;We are actively researching how AI agents can safely operate on servers, infrastructure, and deployment workflows without requiring blind trust or full system access. The future is clearly agent-driven, but it must be permissioned, auditable, and reversible.&lt;/p&gt;

&lt;p&gt;OpenClaw shows where the industry is heading. Security will determine how fast we get there.&lt;/p&gt;




&lt;h2&gt;
  
  
  Final Takeaway
&lt;/h2&gt;

&lt;p&gt;OpenClaw represents the raw edge of AI autonomy. Powerful, exciting, and dangerous in equal measure.&lt;/p&gt;

&lt;p&gt;If history is any guide, today’s security issues will be tomorrow’s solved problems. Until then, OpenClaw is best treated as a research artifact, not a daily driver.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Watch it. Learn from it. Do not rush to adopt it.&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>techtalks</category>
      <category>ai</category>
      <category>clawdbot</category>
    </item>
    <item>
      <title>From Vibe Coding to Production: Why Developer Experience Shouldn't End at Deployment</title>
      <dc:creator>Akhil Naidu</dc:creator>
      <pubDate>Sun, 01 Jun 2025 11:34:09 +0000</pubDate>
      <link>https://dev.to/akhilnaidu/from-vibe-coding-to-production-why-developer-experience-shouldnt-end-at-deployment-265j</link>
      <guid>https://dev.to/akhilnaidu/from-vibe-coding-to-production-why-developer-experience-shouldnt-end-at-deployment-265j</guid>
      <description>&lt;p&gt;In today’s world, building a web application has never been easier. Thanks to the rise of &lt;strong&gt;AI-assisted development&lt;/strong&gt;, &lt;strong&gt;low-code tools&lt;/strong&gt;, and powerful &lt;strong&gt;frameworks&lt;/strong&gt;, anyone can turn an idea into a working MVP in hours or days.&lt;/p&gt;

&lt;p&gt;This new wave of rapid, intuitive development is earning a name: &lt;strong&gt;vibe coding&lt;/strong&gt;.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Vibe coding&lt;/strong&gt; is when you're in the flow—powered by AI or no-code tools—rapidly turning ideas into code without worrying (yet) about infrastructure, scale, or production-readiness.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;It’s fun. It’s liberating.&lt;br&gt;
And it’s changing how we think about building software.&lt;/p&gt;

&lt;p&gt;But here’s the catch:&lt;br&gt;
At some point, your vibe-coded project needs to move from &lt;em&gt;just working&lt;/em&gt; on localhost to being &lt;em&gt;production-ready&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;And that’s when the vibe often dies.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Hidden Reality Behind "One-Click" Deployment Platforms
&lt;/h2&gt;

&lt;p&gt;To bridge the gap between development and production, many developers turn to platforms like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Vercel&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Railway&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Heroku&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;And other PaaS (Platform-as-a-Service) tools&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These platforms are fantastic at first. They offer:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Simple Git-based deployments&lt;/li&gt;
&lt;li&gt;Built-in monitoring and environment variables&lt;/li&gt;
&lt;li&gt;SSL, CDN, and auto-scaling&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Everything you need… until you need more.&lt;/p&gt;

&lt;h3&gt;
  
  
  The Catch?
&lt;/h3&gt;

&lt;p&gt;As your app grows, these platforms:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;💸 Get expensive quickly&lt;/li&gt;
&lt;li&gt;🚫 Impose limitations (e.g., no persistent background tasks)&lt;/li&gt;
&lt;li&gt;🔒 Lock you into their infrastructure&lt;/li&gt;
&lt;li&gt;📈 Force you to upgrade for basic flexibility&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For indie devs, startups, or bootstrappers, this is a turning point:&lt;br&gt;&lt;br&gt;
&lt;strong&gt;You love the experience, but hate the cost and constraints.&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Cloud Credits to the Rescue?
&lt;/h2&gt;

&lt;p&gt;If your project gains traction, you might receive &lt;strong&gt;free cloud credits&lt;/strong&gt; from:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Startup incubators&lt;/li&gt;
&lt;li&gt;Programs like &lt;strong&gt;AWS Activate&lt;/strong&gt;, &lt;strong&gt;Google for Startups&lt;/strong&gt;, or &lt;strong&gt;Microsoft Founders Hub&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Co-working spaces or platforms like &lt;strong&gt;Product Hunt&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Suddenly, you’re sitting on &lt;strong&gt;thousands of dollars&lt;/strong&gt; in credits—but they don’t work on Vercel or Railway.&lt;/p&gt;

&lt;p&gt;Now you face a tough decision:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“Do I keep paying for great DX, &lt;br&gt;
or move to the cloud and figure out DevOps myself?”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;If you choose the cloud route, you now need to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Learn EC2, S3, IAM, security groups&lt;/li&gt;
&lt;li&gt;Set up CI/CD (GitHub Actions? Jenkins?)&lt;/li&gt;
&lt;li&gt;Manage secrets, scaling, monitoring, error reporting&lt;/li&gt;
&lt;li&gt;Possibly learn Docker, Terraform, or even Kubernetes&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;And just like that…&lt;br&gt;&lt;br&gt;
&lt;strong&gt;You’re no longer building your app. You’re building your deployment system.&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  The Vibe Is Broken.
&lt;/h2&gt;

&lt;p&gt;You started with momentum.&lt;br&gt;
You were shipping features.&lt;br&gt;
Now you’re Googling “how to set up a reverse proxy for Node.js on EC2.”&lt;/p&gt;




&lt;h2&gt;
  
  
  Meet dFlow: Your Self-Hosted Vercel or Railway—But Smarter
&lt;/h2&gt;

&lt;p&gt;This is where &lt;strong&gt;dFlow&lt;/strong&gt; comes in.&lt;/p&gt;

&lt;p&gt;Imagine turning your existing cloud infrastructure—AWS, GCP, Azure, or even bare-metal—into your own personal Vercel.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;🚫 No lock-in
&lt;/li&gt;
&lt;li&gt;💸 Use your free cloud credits
&lt;/li&gt;
&lt;li&gt;🛠️ No platform restrictions&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  What is dFlow?
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;dFlow&lt;/strong&gt; is a modern deployment tool that:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Supports any language or framework&lt;/li&gt;
&lt;li&gt;Works across all major cloud providers&lt;/li&gt;
&lt;li&gt;Prioritizes &lt;strong&gt;developer experience&lt;/strong&gt;, not DevOps pain&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;With dFlow, you can:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Use your own infra or credits&lt;/li&gt;
&lt;li&gt;Deploy confidently and quickly&lt;/li&gt;
&lt;li&gt;Scale only when needed&lt;/li&gt;
&lt;li&gt;Avoid juggling 10 different tools&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Why dFlow Matters (Especially Long Term)
&lt;/h2&gt;

&lt;p&gt;Most apps don’t need Kubernetes on Day 1.&lt;br&gt;
In fact, most don’t need it even on Day 1000.&lt;/p&gt;

&lt;p&gt;What they do need is:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;✅ A reliable way to ship code&lt;/li&gt;
&lt;li&gt;💰 A sustainable budget&lt;/li&gt;
&lt;li&gt;🧑‍💻 A developer-friendly interface&lt;/li&gt;
&lt;li&gt;📈 A clear path to scale&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That’s what dFlow offers—&lt;strong&gt;without pushing you into complexity too soon&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;And when you're ready, the practices dFlow encourages—like clean separation of concerns, health monitoring, and environment management—make your app &lt;strong&gt;Kubernetes-friendly&lt;/strong&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  Who Is dFlow For?
&lt;/h2&gt;

&lt;p&gt;dFlow is built for anyone who’s outgrown PaaS tools:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;🧑‍💻 &lt;strong&gt;Solo developers&lt;/strong&gt; tired of limitations&lt;/li&gt;
&lt;li&gt;🚀 &lt;strong&gt;Startups&lt;/strong&gt; with cloud credits to use wisely&lt;/li&gt;
&lt;li&gt;🧠 &lt;strong&gt;Technical founders&lt;/strong&gt; who love DX but hate DevOps sprawl&lt;/li&gt;
&lt;li&gt;🏢 &lt;strong&gt;Small teams&lt;/strong&gt; wanting control without complexity&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Build Fast. Deploy Smart. Stay in the Flow.
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;dFlow&lt;/strong&gt; bridges the gap between vibe coding and production readiness, so you can keep building without breaking the flow.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;💡 There are countless tools today that let you build apps using AI and no-code. But when it’s time to go from idea to production, you need a deployment strategy that scales with you—not against you. That’s where dFlow shines.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  Ready to Try dFlow?
&lt;/h2&gt;

&lt;p&gt;Visit &lt;strong&gt;&lt;a href="https://dflow.sh" rel="noopener noreferrer"&gt;https://dflow.sh&lt;/a&gt;&lt;/strong&gt; and explore how you can turn your infrastructure into a powerful, cloud-agnostic deployment platform—&lt;strong&gt;without compromising developer experience.&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>dflow</category>
      <category>webdev</category>
      <category>docker</category>
      <category>devops</category>
    </item>
    <item>
      <title>Your Personal PaaS, Powered by Dokku and Railpack. Introducing dFlow.</title>
      <dc:creator>Akhil Naidu</dc:creator>
      <pubDate>Sun, 27 Apr 2025 12:36:46 +0000</pubDate>
      <link>https://dev.to/dflow/your-personal-paas-powered-by-dokku-and-railpack-introducing-dflow-5li</link>
      <guid>https://dev.to/dflow/your-personal-paas-powered-by-dokku-and-railpack-introducing-dflow-5li</guid>
      <description>&lt;p&gt;dFlow combines the power of Dokku, Railpack, and SSH automation into a seamless PaaS experience you control&lt;/p&gt;

&lt;p&gt;In today’s world of cloud infrastructure, developers often face a tough decision:  &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Should I go for the flexibility of VPS and self-hosting, or the convenience of PaaS platforms like Vercel, Heroku, or Railway?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;With &lt;strong&gt;dFlow&lt;/strong&gt;, you get the best of both worlds.&lt;br&gt;&lt;br&gt;
Built on the solid foundation of &lt;strong&gt;Dokku&lt;/strong&gt;, enhanced with &lt;strong&gt;Railpack&lt;/strong&gt;, and powered by &lt;strong&gt;remote provisioning through SSH&lt;/strong&gt;, dFlow gives you full control of your apps &lt;strong&gt;without giving up the ease of use you love from commercial platforms&lt;/strong&gt; — all manageable through a beautiful, intuitive UI at &lt;a href="https://dflow.sh" rel="noopener noreferrer"&gt;dflow.sh&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Exactly Is dFlow?
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;dFlow&lt;/strong&gt; is a &lt;strong&gt;Platform-as-a-Service (PaaS)&lt;/strong&gt; layer built on top of &lt;strong&gt;Dokku&lt;/strong&gt;, the legendary open-source Heroku alternative.&lt;br&gt;&lt;br&gt;
But dFlow goes much further:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Multi-Server Support&lt;/strong&gt;: Attach multiple Dokku servers across any cloud provider (DigitalOcean, AWS, Hetzner, your laptop — you name it).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Remote App Provisioning&lt;/strong&gt;: Thanks to &lt;strong&gt;SSH automation&lt;/strong&gt; (powered internally by &lt;code&gt;node-ssh&lt;/code&gt;), dFlow can create, configure, and manage apps across servers without you touching the terminal.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Railpack Integration&lt;/strong&gt;: We bring in concepts from &lt;strong&gt;Railway.app&lt;/strong&gt; around smooth project linking, deployments, environment management, and service attachments.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Unified UI&lt;/strong&gt;: Everything — from server connection, app deployment, domain linking, SSL certs, environment variables, to database provisioning — is handled in a &lt;strong&gt;single place&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You control &lt;strong&gt;your servers&lt;/strong&gt;, &lt;strong&gt;your apps&lt;/strong&gt;, &lt;strong&gt;your data&lt;/strong&gt; — with &lt;strong&gt;dFlow&lt;/strong&gt; simplifying everything else.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Build dFlow on Top of Dokku?
&lt;/h2&gt;

&lt;p&gt;Dokku has been around for nearly a decade. It's &lt;strong&gt;proven&lt;/strong&gt;, &lt;strong&gt;battle-tested&lt;/strong&gt;, and has a &lt;strong&gt;simple plugin system&lt;/strong&gt; for things like Postgres, Redis, Let’s Encrypt, and more.&lt;/p&gt;

&lt;p&gt;But using raw Dokku often requires:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Manually SSH'ing into servers&lt;/li&gt;
&lt;li&gt;Typing CLI commands&lt;/li&gt;
&lt;li&gt;Managing multiple servers individually&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That's where dFlow comes in — &lt;strong&gt;abstracting&lt;/strong&gt; the complexity of Dokku into a modern cloud experience, without taking away your freedom.&lt;br&gt;&lt;br&gt;
It’s like giving Dokku &lt;strong&gt;superpowers&lt;/strong&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  How dFlow Works Under the Hood
&lt;/h2&gt;

&lt;p&gt;At a technical level, here’s what powers dFlow:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Dokku&lt;/strong&gt;: Installed on each server you attach. Dokku handles deployments, containers, and services.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Railpack Layer&lt;/strong&gt;: We introduce app-level metadata management, service attachments, environment syncing, and team collaboration features — inspired by platforms like Railway and Render.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;SSH Automation with &lt;code&gt;node-ssh&lt;/code&gt;&lt;/strong&gt;:
dFlow provisions everything remotely — from creating new apps, setting domains, managing environment variables, to even scaling your containers — all through secure SSH connections.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Multi-Server Management&lt;/strong&gt;:
Add as many Dokku servers as you like. dFlow smartly groups apps per server and lets you deploy based on your preference or pricing needs.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;dFlow.sh UI&lt;/strong&gt;:
A modern dashboard where you can:

&lt;ul&gt;
&lt;li&gt;View all your apps&lt;/li&gt;
&lt;li&gt;Attach new servers in seconds&lt;/li&gt;
&lt;li&gt;Create new apps instantly&lt;/li&gt;
&lt;li&gt;Manage SSL, environment variables, databases&lt;/li&gt;
&lt;li&gt;Monitor deployments and logs&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;All without touching a single line of Bash.&lt;/p&gt;

&lt;h2&gt;
  
  
  Key Features at a Glance
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Feature&lt;/th&gt;
&lt;th&gt;Details&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Attach Multiple Servers&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;No limits — add as many Dokku instances as you need.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Remote App Provisioning&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Create and deploy apps remotely via SSH.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Database Attachments&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Provision Postgres, MySQL, Redis, and more, right from the dashboard.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Custom Domains &amp;amp; SSL&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Auto-configure your domains with free Let's Encrypt SSL.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Environment Management&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Manage environment variables securely through the UI.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Teams (Coming Soon)&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Invite teammates to collaborate on apps.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;GitHub Integration&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Auto-deploy from GitHub repos, just like Vercel and Railway.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Service Discovery&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Coming soon: Cross-app service linking across servers.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  Why dFlow?
&lt;/h2&gt;

&lt;p&gt;If you're a developer or a small team that:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Wants &lt;strong&gt;full control&lt;/strong&gt; over your infrastructure&lt;/li&gt;
&lt;li&gt;Likes &lt;strong&gt;owning your servers&lt;/strong&gt; without maintaining them manually&lt;/li&gt;
&lt;li&gt;Hates the &lt;strong&gt;vendor lock-in&lt;/strong&gt; of big PaaS providers&lt;/li&gt;
&lt;li&gt;Wants a &lt;strong&gt;Heroku-like experience&lt;/strong&gt;, but on &lt;strong&gt;your terms&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;then &lt;strong&gt;dFlow&lt;/strong&gt; is designed for you.&lt;/p&gt;

&lt;p&gt;You no longer have to choose between &lt;strong&gt;power&lt;/strong&gt; and &lt;strong&gt;simplicity&lt;/strong&gt; —&lt;br&gt;&lt;br&gt;
&lt;strong&gt;dFlow gives you both.&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Get Started Today
&lt;/h2&gt;

&lt;p&gt;Getting started with dFlow is super simple:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Install Dokku on your VPS (or let dFlow help you install it).&lt;/li&gt;
&lt;li&gt;Connect your server to dFlow through a secure SSH connection.&lt;/li&gt;
&lt;li&gt;Deploy your first app in minutes!&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;➡️ Visit &lt;a href="https://dflow.sh" rel="noopener noreferrer"&gt;dflow.sh&lt;/a&gt; to learn more and join the early access program.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;The future of personal PaaS is here — and it’s fully under your control.&lt;br&gt;&lt;br&gt;
Welcome to &lt;a href="https://discord.com/invite/5w7JUQYaAD" rel="noopener noreferrer"&gt;dFlow Discord&lt;/a&gt; for more info or feedback🚀&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>dflow</category>
      <category>webdev</category>
      <category>devops</category>
    </item>
    <item>
      <title>Introduction to a new Self hosted PAAS</title>
      <dc:creator>Akhil Naidu</dc:creator>
      <pubDate>Thu, 10 Apr 2025 15:49:58 +0000</pubDate>
      <link>https://dev.to/akhilnaidu/introduction-to-a-new-self-hosted-paas-h12</link>
      <guid>https://dev.to/akhilnaidu/introduction-to-a-new-self-hosted-paas-h12</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;DFlow: The Developer-First Self-Hosted PaaS&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;As developers look for more control over their infrastructure, the demand for a self-hosted PaaS solution that's both powerful and easy to use has never been higher. Most modern PaaS platforms focus on abstracting infrastructure—but at the cost of flexibility, pricing, and ownership.&lt;/p&gt;

&lt;p&gt;Enter &lt;strong&gt;DFlow&lt;/strong&gt; — a developer-first, self-hosted Platform-as-a-Service that gives you full control over your deployments, infrastructure, and scaling — without the need for Kubernetes, Swarm, or bloated orchestration tools.&lt;/p&gt;




&lt;h2&gt;
  
  
  What is DFlow?
&lt;/h2&gt;

&lt;p&gt;At its core, DFlow is a UI-powered platform that connects directly to your servers via SSH and configures them with a production-ready stack powered by &lt;strong&gt;Dokku&lt;/strong&gt;, &lt;strong&gt;node-ssh&lt;/strong&gt;, &lt;strong&gt;PayloadCMS&lt;/strong&gt; and &lt;strong&gt;Railpack&lt;/strong&gt;. It transforms your VPS into a smart, scalable PaaS with just a few clicks.&lt;/p&gt;

&lt;p&gt;But DFlow goes far beyond that.&lt;/p&gt;

&lt;p&gt;It’s not just a UI wrapper for Dokku. DFlow brings its own opinionated architecture, offering:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A modern dashboard for managing apps, deployments, logs, and resources
&lt;/li&gt;
&lt;li&gt;Free domain provisioning via &lt;strong&gt;nip.io&lt;/strong&gt; and automatic &lt;strong&gt;Let's Encrypt SSL&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Out-of-the-box &lt;strong&gt;PostgreSQL&lt;/strong&gt;, &lt;strong&gt;Redis&lt;/strong&gt;, and other DB plugins
&lt;/li&gt;
&lt;li&gt;One-click app scaling (with plans for full autoscaling support)
&lt;/li&gt;
&lt;li&gt;Real-time monitoring powered by &lt;strong&gt;Netdata&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;A template creation system for turning any app into a reusable deployment recipe
&lt;/li&gt;
&lt;li&gt;Server provisioning directly from cloud providers like &lt;strong&gt;AWS&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  How is DFlow Different?
&lt;/h2&gt;

&lt;p&gt;Unlike traditional PaaS tools, DFlow is intentionally simple, transparent, and modular.&lt;/p&gt;

&lt;p&gt;Here’s what makes it stand out:&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Smart Server Setup (via SSH)
&lt;/h3&gt;

&lt;p&gt;DFlow connects to any fresh VPS using SSH, installs Dokku and Netdata, and configures the entire deployment stack. It handles everything from DNS to SSL, proxy setup, databases, and more—turning any server into a self-hosted Heroku alternative.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Not Herokuish—It’s Railpack First
&lt;/h3&gt;

&lt;p&gt;While Dokku supports Heroku buildpacks, DFlow favors a &lt;strong&gt;Railpack-based&lt;/strong&gt; approach, giving developers more control and flexibility. This avoids the limitations of the Herokuish ecosystem while still providing Docker-powered app builds under the hood.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. No Heavy Orchestration
&lt;/h3&gt;

&lt;p&gt;DFlow avoids Kubernetes and Docker Swarm on purpose. Instead of complex orchestration, it focuses on a horizontal scaling strategy where new cloud servers (e.g., AWS EC2) are spun up based on load or custom rules you define. These new instances are then auto-configured with Dokku and immediately available in the DFlow dashboard.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Admin Panel Decoupled from Your Servers
&lt;/h3&gt;

&lt;p&gt;DFlow’s admin panel is not installed on your production servers. This is by design. Build processes can be memory and CPU intensive—and we believe your UI shouldn't slow down just because a deployment is running. You can host the DFlow admin on platforms like &lt;strong&gt;Railway&lt;/strong&gt; with a one-click deploy button.&lt;/p&gt;

&lt;h3&gt;
  
  
  5. Template Creation UI
&lt;/h3&gt;

&lt;p&gt;Soon, DFlow will ship with a template builder, allowing you to package your own apps (or open source projects) into reusable templates. This means you can standardize how projects are deployed across teams, clients, or products—all visually and without writing complex scripts.&lt;/p&gt;




&lt;h2&gt;
  
  
  DFlow Architecture Overview
&lt;/h2&gt;

&lt;p&gt;Here’s how it all comes together:&lt;/p&gt;

&lt;h3&gt;
  
  
  🔗 1. SSH-based Agentless Control
&lt;/h3&gt;

&lt;p&gt;DFlow does not install any agents. It connects directly to your server over SSH, runs configuration scripts, and sets up Dokku + Netdata seamlessly.&lt;/p&gt;

&lt;h3&gt;
  
  
  🌍 2. Proxy + DNS Automation
&lt;/h3&gt;

&lt;p&gt;Every app gets a free subdomain via &lt;strong&gt;nip.io&lt;/strong&gt;, and automatic &lt;strong&gt;Let's Encrypt SSL&lt;/strong&gt; is handled out of the box.&lt;/p&gt;

&lt;h3&gt;
  
  
  ⚙️ 3. Build &amp;amp; Deployment Pipeline
&lt;/h3&gt;

&lt;p&gt;Underneath, apps are deployed using Docker containers—powered by either custom Dockerfiles or Railpack logic. All builds happen server-side, keeping the developer experience lean.&lt;/p&gt;

&lt;h3&gt;
  
  
  🧠 4. Autoscaling (Coming Soon)
&lt;/h3&gt;

&lt;p&gt;Instead of container-based autoscaling, DFlow's approach is cloud-native. Based on your traffic or custom rules, DFlow will:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Spin up a new VPS on your AWS account
&lt;/li&gt;
&lt;li&gt;Install Dokku
&lt;/li&gt;
&lt;li&gt;Register it in your admin panel
&lt;/li&gt;
&lt;li&gt;Allow apps to be distributed across servers&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  📊 5. Monitoring &amp;amp; Logs
&lt;/h3&gt;

&lt;p&gt;With &lt;strong&gt;Netdata&lt;/strong&gt; pre-installed, you get real-time server health metrics, CPU/RAM usage, app logs, and more—all accessible from the dashboard.&lt;/p&gt;




&lt;h2&gt;
  
  
  What's Next?
&lt;/h2&gt;

&lt;p&gt;We’re just getting started. Here's what’s coming soon:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;🧩 &lt;strong&gt;ContentQL Integration&lt;/strong&gt;: Launch servers on DFlow Cloud with the cheapest VPS plans available.
&lt;/li&gt;
&lt;li&gt;🔄 &lt;strong&gt;Autoscaling Rules&lt;/strong&gt;: Define your own triggers for horizontal scaling.
&lt;/li&gt;
&lt;li&gt;📦 &lt;strong&gt;One-click App Templates&lt;/strong&gt;: Share and reuse app blueprints.
&lt;/li&gt;
&lt;li&gt;🚀 &lt;strong&gt;Multi-cloud support&lt;/strong&gt;: GCP and DigitalOcean next.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Try DFlow Today
&lt;/h2&gt;

&lt;p&gt;You can deploy the DFlow admin panel on &lt;strong&gt;Railway&lt;/strong&gt; with one click and connect your servers in minutes.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://railway.com/template/NNuPfr?referralCode=I9okFq" 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%2Frailway.com%2Fbutton.svg" alt="Deploy on Railway" width="183" height="40"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Final Thoughts
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;DFlow&lt;/strong&gt; is a new kind of PaaS—one that’s simple enough for solo devs, powerful enough for teams, and flexible enough to run anywhere. Whether you're deploying a hobby project, SaaS app, or internal tools, DFlow gives you full control—without the chaos of managing complex infrastructure.&lt;/p&gt;

&lt;p&gt;If you’re tired of cloud lock-in and ready to run your own platform with ease—&lt;strong&gt;DFlow is built for you.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This is still an ongoang project and if anyone is interested to join us, feel free to connect us via our &lt;a href="https://discord.gg/5w7JUQYaAD" rel="noopener noreferrer"&gt;discord&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>docker</category>
      <category>dokku</category>
      <category>ubuntu</category>
      <category>dflow</category>
    </item>
    <item>
      <title>Self hosting Forem(Dev) on your VPS; using t2d!</title>
      <dc:creator>Akhil Naidu</dc:creator>
      <pubDate>Thu, 08 Jul 2021 12:23:16 +0000</pubDate>
      <link>https://dev.to/akhilnaidu/self-hosting-forem-dev-on-linux-using-t2d-2kgh</link>
      <guid>https://dev.to/akhilnaidu/self-hosting-forem-dev-on-linux-using-t2d-2kgh</guid>
      <description>&lt;p&gt;Now you can have your own [dev.to like] community. In this installation process, I use t2d(Talk to Dokku) a bash script which is powered by whiptail and dokku.&lt;/p&gt;

&lt;h3&gt;
  
  
  Forem
&lt;/h3&gt;

&lt;p&gt;Forem is open source software for building communities. It is the open source software that powers DEV and other inclusive communities; including &lt;a href="https://app.leewardslope.com" rel="noopener noreferrer"&gt;my own community&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Other Communities which are using Forem: &lt;a href="https://www.forem.com/discover/" rel="noopener noreferrer"&gt;https://www.forem.com/discover/&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  t2d
&lt;/h3&gt;

&lt;p&gt;t2d aka Talk to Dokku; is a Terminal User Interface(TUI) powered by dokku and whiptail. With t2d you will be able to deploy apps in most popular programming languages, link them to most popular databases and all that with almost zero configuration from your side. Apart from all these amazing features it will also save you money along the way.&lt;/p&gt;

&lt;p&gt;For more info &lt;a href="https://github.com/akhil-naidu/t2d" rel="noopener noreferrer"&gt;Click Here&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Demonstrating Forem Installation using t2d
&lt;/h2&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/m4jm2ZOA9bg"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h2&gt;
  
  
  Screen Shots of t2d v2.1
&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.amazonaws.com%2Fuploads%2Farticles%2F6pw9vtqd7clqqiaroasx.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.amazonaws.com%2Fuploads%2Farticles%2F6pw9vtqd7clqqiaroasx.png" alt="1" width="777" height="548"&gt;&lt;/a&gt;&lt;br&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.amazonaws.com%2Fuploads%2Farticles%2Fa5zn3ox3ejp5i5s9d350.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.amazonaws.com%2Fuploads%2Farticles%2Fa5zn3ox3ejp5i5s9d350.png" alt="2" width="777" height="548"&gt;&lt;/a&gt;&lt;br&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.amazonaws.com%2Fuploads%2Farticles%2F6elgdgn7ql2c96kb0f7e.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.amazonaws.com%2Fuploads%2Farticles%2F6elgdgn7ql2c96kb0f7e.png" alt="3" width="777" height="548"&gt;&lt;/a&gt;&lt;br&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.amazonaws.com%2Fuploads%2Farticles%2Fa3igvx4my5a025wz21in.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.amazonaws.com%2Fuploads%2Farticles%2Fa3igvx4my5a025wz21in.png" alt="4" width="777" height="548"&gt;&lt;/a&gt;&lt;br&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.amazonaws.com%2Fuploads%2Farticles%2F6zf88irk3bzydrbcw8n8.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.amazonaws.com%2Fuploads%2Farticles%2F6zf88irk3bzydrbcw8n8.png" alt="5" width="777" height="548"&gt;&lt;/a&gt;&lt;br&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.amazonaws.com%2Fuploads%2Farticles%2F9m88lsnqpod6fcp7b45m.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.amazonaws.com%2Fuploads%2Farticles%2F9m88lsnqpod6fcp7b45m.png" alt="6" width="777" height="548"&gt;&lt;/a&gt;&lt;br&gt;
Press "Enter", to automate the Dokku installation. More information can be seen in the video above.&lt;/p&gt;



&lt;p&gt;Once the installation was done, sometimes you need to update your ENV variables or Update your entire Forem instance with the latest changes.&lt;/p&gt;

&lt;p&gt;You can also use t2d for post deploy configuration. Right now, I added only few very necessary options. This section of the t2d will update daily.&lt;/p&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.amazonaws.com%2Fuploads%2Farticles%2F9w41g2yj3lzi3z0g6rx4.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.amazonaws.com%2Fuploads%2Farticles%2F9w41g2yj3lzi3z0g6rx4.png" alt="7" width="777" height="548"&gt;&lt;/a&gt;&lt;br&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.amazonaws.com%2Fuploads%2Farticles%2Fzzyip5xmdt7ec2lcwidk.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.amazonaws.com%2Fuploads%2Farticles%2Fzzyip5xmdt7ec2lcwidk.png" alt="8" width="777" height="548"&gt;&lt;/a&gt;&lt;br&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.amazonaws.com%2Fuploads%2Farticles%2F6h3g49ktm5xlyg2r0402.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.amazonaws.com%2Fuploads%2Farticles%2F6h3g49ktm5xlyg2r0402.png" alt="9" width="777" height="548"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  Repository
&lt;/h2&gt;


&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fassets.dev.to%2Fassets%2Fgithub-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/leewardslope" rel="noopener noreferrer"&gt;
        leewardslope
      &lt;/a&gt; / &lt;a href="https://github.com/leewardslope/t2d" rel="noopener noreferrer"&gt;
        t2d
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      TUI for Dokku-CLI
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;
&lt;div class="markdown-heading"&gt;
&lt;h1 class="heading-element"&gt;What is t2d?&lt;/h1&gt;
&lt;/div&gt;
&lt;p&gt;t2d aka Talk to Dokku; is a beautiful Terminal User Interface(TUI) powered by dokku. With t2d you will be able to deploy apps in most popular programming languages, link them to most popular databases and all that with almost zero configuration from your side. Apart from all these amazing features it will also save you money along the way.&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h1 class="heading-element"&gt;Our Vision&lt;/h1&gt;
&lt;/div&gt;
&lt;p&gt;We started to work on this because current deployment solutions were expensive or hard to configure. With t2d we plan to provide a solution where deployment experience is smooth, enjoyable and affordable.&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h1 class="heading-element"&gt;What is Dokku?&lt;/h1&gt;
&lt;/div&gt;
&lt;p&gt;Dokku is Docker-powered Heroku-like tool that allows you to deploy complex applications by simply pushing it via Git repository. Behind the scenes it runs on herokuish, which essentially is emulating same functionalities that you are using when you deploy your apps on Heroku. As it supports all the Heroku buildpacks, it…&lt;/p&gt;
&lt;/div&gt;
  &lt;/div&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/leewardslope/t2d" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;


</description>
      <category>selfhosting</category>
      <category>t2d</category>
      <category>webdev</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>What is Hacking?</title>
      <dc:creator>Akhil Naidu</dc:creator>
      <pubDate>Sun, 06 Dec 2020 04:52:25 +0000</pubDate>
      <link>https://dev.to/akhilnaidu/what-is-hacking-18k4</link>
      <guid>https://dev.to/akhilnaidu/what-is-hacking-18k4</guid>
      <description>&lt;p&gt;A person who is able to discover a weakness in a system and manages to exploit it is called a &lt;strong&gt;hacker&lt;/strong&gt; and this process is known as &lt;strong&gt;Hacking&lt;/strong&gt;. Hacking is an art. It is the mastery of a system that gives you complete control over it. It is the act of modifying the inner workings of a system, in order to make it do something that it’s original creator never intended.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;That’s the gist of it. But as with all things, the devil is in the details. This is what this website is for.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;p&gt;I’m going to make a broad claim here: The only thing you need to become a hacker is interest and dedication. But more than anything else, you need a &lt;strong&gt;thirst for knowledge&lt;/strong&gt;. You should always be willing to learn something new, always open to new ideas. So come with me, follow along these series of tutorials and before long you’ll see for yourself that the claim has been justified.&lt;/p&gt;




&lt;p&gt;Before moving on, there’s a couple things that we need to address.&lt;/p&gt;

&lt;p&gt;First of all, &lt;strong&gt;privacy&lt;/strong&gt;. Your data is everywhere, a part of you sitting on some servers around the world. &lt;strong&gt;Privacy is your right to decide who can use that data and how.&lt;/strong&gt; The internet as we know it came into being decades ago. At the time, it wasn’t built with privacy in mind. But things have changed now. Not only do we need to protect ourselves against malicious agents but maybe, just maybe, a day may come when we must protect ourselves from those who are meant to be protecting us, our governments. Because of this, hacking no longer means just exploiting or patching up security holes in a system, it is now also &lt;strong&gt;a means of protecting a basic human right&lt;/strong&gt; , the right to privacy.&lt;/p&gt;

&lt;p&gt;Secondly, these days the only side of hacking that people hear about is the bad one. Credit card theft, identity theft, ransomware, stolen accounts and data and so on. The mere word_hacking_brings with it an inherently negative vibe. It doesn’t have to be this way. We hear about millions of accounts being leaked, attacks on major websites, attacks on individuals but we near really hear about all the attacks that never occurred.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;There is a whole other side to hacking that never quite gets to see the light of day.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;p&gt;For every major hack that makes the news, many more are prevented by security specialists. These people, these whitehat hackers, possess exactly the same skillset as the blackhats, but they choose to use them for good. No software can ever be completely secure and that makes cyber security a cat and mouse game. A race between whitehats and blackhats. A battle of angels and demons, the stakes of which have never been higher than they are today. The global cost of cyber crime is projected to reach &lt;a href="http://www.forbes.com/sites/stevemorgan/2016/01/17/cyber-crime-costs-projected-to-reach-2-trillion-by-2019/#44daa5ac3bb0" rel="noopener noreferrer"&gt;$2 trillion by 2019&lt;/a&gt; and today it crossed that limit far ago.&lt;/p&gt;

&lt;p&gt;The question is- &lt;a href="https://blog.leewardslope.com/types-of-hackers" rel="noopener noreferrer"&gt;Which side are you on?&lt;/a&gt;&lt;/p&gt;




</description>
      <category>cybersecurity</category>
      <category>beginners</category>
    </item>
    <item>
      <title>Installing Forem in Linux</title>
      <dc:creator>Akhil Naidu</dc:creator>
      <pubDate>Mon, 30 Nov 2020 10:35:41 +0000</pubDate>
      <link>https://dev.to/akhilnaidu/installing-forem-in-linux-2ne1</link>
      <guid>https://dev.to/akhilnaidu/installing-forem-in-linux-2ne1</guid>
      <description>&lt;p&gt;This post is on the request of @benki&lt;/p&gt;

&lt;p&gt;In this article, I focus less on my commentary and prefer more clarity in command execution. So if you find any words others than shell commands, take a good look at them.&lt;/p&gt;

&lt;p&gt;One more tip while following this guide, single command lies in a single line.&lt;/p&gt;

&lt;p&gt;This guide will be useful for anyone who wants to install forem in Linux. In a way, this is an alternative method to install Forem without Docker or Podman&lt;/p&gt;

&lt;blockquote&gt;
&lt;h2&gt;
  
  
  Updating our system and Downloading Forem
&lt;/h2&gt;


&lt;/blockquote&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo apt update
sudo apt upgrade
git clone https://github.com/forem/forem.git
cp ~/forem/.env_sample ~/forem/.env
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;h2&gt;
  
  
  Ruby Installation
&lt;/h2&gt;


&lt;/blockquote&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo apt install git curl autoconf bison build-essential \
    libssl-dev libyaml-dev libreadline6-dev zlib1g-dev \
    libncurses5-dev libffi-dev libgdbm6 libgdbm-dev libdb-dev
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git clone https://github.com/rbenv/rbenv.git ~/.rbenv
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' &amp;gt;&amp;gt; ~/.bashrc
echo 'eval "$(rbenv init -)"' &amp;gt;&amp;gt; ~/.bashrc
source ~/.bashrc
exec $SHELL
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build
echo 'export PATH="$HOME/.rbenv/plugins/ruby-build/bin:$PATH"' &amp;gt;&amp;gt; ~/.bashrc
source ~/.bashrc
exec $SHELL
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;rbenv install $(cat ~/forem/.ruby-version)
rbenv global $(cat ~/forem/.ruby-version)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;h2&gt;
  
  
  Install NVM and yarn
&lt;/h2&gt;


&lt;/blockquote&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;curl -sL https://raw.githubusercontent.com/creationix/nvm/v0.35.3/install.sh -o install_nvm.sh
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;bash install_nvm.sh
source ~/.profile
nvm install $(cat ~/forem/.nvmrc)
nvm use $(cat ~/forem/.nvmrc)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;npm install -g yarn
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;h2&gt;
  
  
  Installing Postgre SQL
&lt;/h2&gt;


&lt;/blockquote&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo apt-get install postgresql postgresql-contrib libpq-dev -y
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;In the coming command, Replace the term "ubuntu" with your own username.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo -u postgres createuser -s ubuntu
createdb
sudo -u ubuntu psql
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Now within the psql Use &lt;code&gt;\password&lt;/code&gt; command to create a password for the user ubuntu, in which we will create a database (later on).&lt;/p&gt;

&lt;p&gt;You can exit psql by using the command &lt;code&gt;\quit&lt;/code&gt;; this will help you get into the original bash/terminal of your VPS.&lt;/p&gt;

&lt;p&gt;Let's update the &lt;code&gt;DATABASE_URL&lt;/code&gt; and the &lt;code&gt;DATABASE_URL_TEST&lt;/code&gt; accordingly in the &lt;code&gt;.env&lt;/code&gt; file.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;nano ~/forem/.env
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;DATABASE_URL="postgresql://ubuntu:mypassword@localhost:5432/$DATABASE_NAME"
DATABASE_URL_TEST="postgresql://ubuntu:mypasswordk@localhost:5432/$DATABASE_NAME_TEST"
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;h2&gt;
  
  
  Installing Imagemagick
&lt;/h2&gt;


&lt;/blockquote&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo apt update &amp;amp;&amp;amp; sudo apt install imagemagick
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;h2&gt;
  
  
  Installing and ConfiguringRedis
&lt;/h2&gt;


&lt;/blockquote&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo apt install redis-server -y
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo nano /etc/redis/redis.conf
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Navigate to find the variable &lt;code&gt;supervised&lt;/code&gt; and change it's value &lt;code&gt;systemd&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo systemctl restart redis.service
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;h2&gt;
  
  
  Installing Elastic search
&lt;/h2&gt;


&lt;/blockquote&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-oss-7.5.2-amd64.deb
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo dpkg -i elasticsearch-oss-7.5.2-amd64.deb
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;If you are someone who is trying to experiment with this Forem in a low-end server, maybe around 1GB or 2GB ram; It is mandatory for you to do edit the memory heap. And follow these if you are one among them, or else leave. &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;If you are not sure about this, skip and continue with the next step, but if you are facing any error in starting Elasticsearch try referring to this.&lt;br&gt;
&lt;/p&gt;
&lt;/blockquote&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo nano /etc/elasticsearch/jvm.options
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;First, un-comment the value of Xmx and Xms.&lt;/li&gt;
&lt;li&gt;Next, modify the value of -Xms and -Xmx to no more than 50% of your physical RAM
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;# Xms represents the initial size of total heap space
# Xmx represents the maximum size of total heap space
# Use 128m if 1GB ram and 256m if 2GB ram

-Xms128m
-Xmx128m
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Now let's start Elasticsearch&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo /bin/systemctl daemon-reload
sudo /bin/systemctl enable elasticsearch.service
sudo systemctl start elasticsearch.service
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;h2&gt;
  
  
  Installing ImgProxy
&lt;/h2&gt;


&lt;/blockquote&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git clone https://github.com/imgproxy/imgproxy.git
cd imgproxy
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo add-apt-repository ppa:dhor/myway
sudo apt-get update
sudo apt-get install libvips-dev
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo add-apt-repository ppa:longsleep/golang-backports
sudo apt-get update
sudo apt-get install golang-go
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo CGO_LDFLAGS_ALLOW="-s|-w" \
  go build -o /usr/local/bin/imgproxy
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Now let's configure the &lt;code&gt;.env&lt;/code&gt; for Imgproxy&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Generate a key/salt pair by running the following in your terminal twice. Copy those values to your .env in the next step
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;echo $(xxd -g 2 -l 64 -p /dev/random | tr -d '\n')
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;We have one random string; but we need two of them, so let's run this command again.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;echo $(xxd -g 2 -l 64 -p /dev/random | tr -d '\n')
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Now we have 2 random strings; we will one of them as &lt;code&gt;key&lt;/code&gt; and the other as &lt;code&gt;salt&lt;/code&gt;. This can be done by adding few lines in &lt;code&gt;.env&lt;/code&gt; file.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;nano ~/forem/.env
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Now add these three lines to it and save the file.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;IMGPROXY_ENDPOINT='http://localhost:8080'
IMGPROXY_KEY='1b1c9aae804e070b0864f2547fba7ce8ff31bf7..........'
IMGPROXY_SALT='8c6d449d4fc2cada5bab538826cae709d2ade9f.........'
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Replace, the &lt;code&gt;key&lt;/code&gt; and &lt;code&gt;salt&lt;/code&gt; with the values you generated in few steps back. (You can interchange those values, but as a convention, I use the first one as key and the later as salt)&lt;/p&gt;

&lt;p&gt;Also store these values in this fashion, so that we can use this command to start our Imgproxy.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;IMGPROXY_KEY='your key' IMGPROXY_SALT='your salt' imgproxy
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Now we have all the required side packs for our installation&lt;/p&gt;

&lt;blockquote&gt;
&lt;h2&gt;
  
  
  Installing and Starting Forem
&lt;/h2&gt;
&lt;/blockquote&gt;

&lt;p&gt;If you are using a VPS, it is mandatory for you to update your &lt;code&gt;APP_DOMAIN&lt;/code&gt; value with your VPS IP address in the &lt;code&gt;.env&lt;/code&gt; file.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;you can find your VPS IP address by using the command &lt;code&gt;ifconfig&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Use this command to edit your &lt;strong&gt;.env&lt;/strong&gt; file: &lt;code&gt;nano ~/forem/.env&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo apt-get install libcurl4 libcurl4-openssl-dev -y
cd ~/forem
gem install bundler
yarn install
bin/setup
rails db:reset
rails data_updates:run
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;Now open 3 Terminal, the three boxes below indicate 3 different terminals&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Terminal 01
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;IMGPROXY_KEY='your key' IMGPROXY_SALT='your salt' imgproxy
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;Terminal 02
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;./bin/webpack
bundle exec sidekiq -t 25
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;Terminal 03
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;bin/rails s -p 3000 -b 0.0.0.0
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
      <category>forem</category>
      <category>selfhosting</category>
      <category>guide</category>
    </item>
    <item>
      <title>Installing Forem/Dev using Docker on Ubuntu</title>
      <dc:creator>Akhil Naidu</dc:creator>
      <pubDate>Thu, 20 Aug 2020 08:52:12 +0000</pubDate>
      <link>https://dev.to/akhilnaidu/installing-forem-dev-using-docker-on-ubuntu-imh</link>
      <guid>https://dev.to/akhilnaidu/installing-forem-dev-using-docker-on-ubuntu-imh</guid>
      <description>&lt;p&gt;Setting up Forem using Docker is one of the easiest ways to have Development Instance 😇. If you already have &lt;strong&gt;Docker&lt;/strong&gt; and &lt;strong&gt;Docker-Compose&lt;/strong&gt;, you can install a development instance with a single command, but you guys, you don't deserve the fun 😏 =&amp;gt; You can check out the last section of this post and find the &lt;strong&gt;Golden Command&lt;/strong&gt;&lt;/p&gt;




&lt;p&gt;For the rest, let us do it but with fun 🥳🥳. Do you remember this song? One Kiss? 👶 Which made Dua Lipa, the Dua Lipa?&lt;/p&gt;

&lt;p&gt;&lt;em&gt;One command is all it takes &lt;br&gt;
fallin' love with Forem&lt;br&gt;
Possibilities&lt;br&gt;
I look Like all you need&lt;/em&gt;&lt;/p&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.amazonaws.com%2Fi%2Fg5qluo1998cea0wke0t2.jpg" 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.amazonaws.com%2Fi%2Fg5qluo1998cea0wke0t2.jpg" alt="One Kiss Lyrics" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Fortunately, if you never installed Docker or Docker-Compose, don't worry 😵, I'm here for you. Open Youtube in the new tab and play this "&lt;strong&gt;One Kiss 💋 by Dua Lipa&lt;/strong&gt;" in the background and copy-paste my commands.&lt;/p&gt;




&lt;blockquote&gt;
&lt;h1&gt;
  
  
  Installing Docker using Repository
&lt;/h1&gt;
&lt;/blockquote&gt;




&lt;p&gt;All the commands are from the official documentation of Docker itself, so don't worry, just copy-paste. In case if you don't believe me 🤔, &lt;a href="https://docs.docker.com/engine/install/ubuntu/" rel="noopener noreferrer"&gt;click here&lt;/a&gt;, this will redirect you to the official documentation.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Updating and Installing some necessaries
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo apt-get update
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo apt-get install \
    apt-transport-https \
    ca-certificates \
    curl \
    gnupg-agent \
    software-properties-common
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;Adding Docker’s official GPG key
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;Setting up the stable repository
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo add-apt-repository \
   "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
   $(lsb_release -cs) \
   stable"
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;Updating and Installing Docker Engine
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo apt-get update
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo apt-get install docker-ce docker-ce-cli containerd.io
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;Testing the Docker Installation
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo docker run hello-world
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This command downloads a test image and runs it in a container. When the container runs, it prints an informational message and exits.&lt;/p&gt;

&lt;p&gt;With this our Docker installation was done 😁, now let's turn up towards the Docker-Compose Installation 💪.&lt;/p&gt;

&lt;p&gt;In case, you are facing any errors!☠️ &lt;a href="https://docs.docker.com/engine/install/" rel="noopener noreferrer"&gt;Click Here&lt;/a&gt;, choose your OS and follow the official instructions 💩.&lt;/p&gt;




&lt;blockquote&gt;
&lt;h1&gt;
  
  
  Installing Docker Compose
&lt;/h1&gt;
&lt;/blockquote&gt;




&lt;p&gt;As I mentioned earlier, I am following the official documentation, so you can copy and paste. In case, if you want to follow them by yourself 😒😤, &lt;a href="https://docs.docker.com/compose/install/" rel="noopener noreferrer"&gt;click here&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Downloading the current stable Docker Compose
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo curl -L "https://github.com/docker/compose/releases/download/1.26.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;Giving executable permissions to the binary
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo chmod +x /usr/local/bin/docker-compose
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;Verifying the Installation
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;docker-compose --version
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;For some unknown reason, if you end up with an error🧐 try repeating the docker-compose installation only. If the error persisted, I would suggest you reinstall your OS 🤒. You should not get an error😤.&lt;/p&gt;




&lt;blockquote&gt;
&lt;h1&gt;
  
  
  Time to change the Beat
&lt;/h1&gt;
&lt;/blockquote&gt;




&lt;p&gt;Enough of &lt;strong&gt;One Kiss&lt;/strong&gt;. Time for some awesome beats, check this out &lt;strong&gt;Strobe&lt;/strong&gt; by &lt;strong&gt;Deabmau5&lt;/strong&gt; =&amp;gt; &lt;a href="https://www.youtube.com/watch?v=tKi9Z-f6qX4" rel="noopener noreferrer"&gt;Youtube link to Strobe&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now we have Docker and Docker Compose installed in our local machine, but there is one more thing left for us to do 😳. We forget to &lt;strong&gt;fork&lt;/strong&gt; and &lt;strong&gt;download&lt;/strong&gt; the Forem code into our local machine from the GitHub 🤯.&lt;/p&gt;

&lt;p&gt;I knew the response of many of you would be 🤬, but bare with me 👻.&lt;/p&gt;




&lt;blockquote&gt;
&lt;h1&gt;
  
  
  Forking and Downloading the Forem code
&lt;/h1&gt;
&lt;/blockquote&gt;




&lt;p&gt;Don't make me repeat it again 😠, play the &lt;strong&gt;Strobe&lt;/strong&gt; by &lt;strong&gt;Deadmau5&lt;/strong&gt; in the background 🤗. I knew you can't make a coffee whenever you have to wait for some time, here, the Docker can consume enough time to bore you up.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fork the repository from the Github
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Better do it by using Github website, don't copy and paste this -_-
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Link to the repository to fork: &lt;a href="https://github.com/forem/forem/fork" rel="noopener noreferrer"&gt;click here&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Downloading the repository to you local machine
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git clone https://github.com/&amp;lt;your-username&amp;gt;/forem.git
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Dude, please change the &lt;strong&gt;your-username&lt;/strong&gt; to your own Github username, or else you can 🤮 on your experience 🥺.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Enter into the downloaded Forem folder
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;cd forem
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;blockquote&gt;
&lt;h1&gt;
  
  
  The awaited Golden Command
&lt;/h1&gt;
&lt;/blockquote&gt;




&lt;p&gt;🥵🥵🥵 You did nothing, but yeah, I assume you are horrified by the way I demonstrate this 🥶&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Running Forem with Docker Via Docker-Compose
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;bin/container-setup
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This command will do its job, you just keep an eye on the terminal by listening to &lt;strong&gt;strobe&lt;/strong&gt; 🤭🤭. You will really appreciate the work done by the team Forem, they really made it easy for us (non-developers), but sure you can call yourself a DEV after this.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;That's it! Navigate to &lt;a href="http://localhost:3000" rel="noopener noreferrer"&gt;http://localhost:3000&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;Any improvements 👨‍🔬, suggestions 🤦‍♂️, and issues ☠️ are welcomed in the comment section. This is not formal documentation for me to shy out, load them out, and let us change it according to our needs.&lt;/p&gt;

&lt;p&gt;With this, we have our own &lt;strong&gt;Development Instance&lt;/strong&gt;. I will catch you in the next post 👨‍💻 👩‍💻 (Devs), possibly with something similar to this but in a different environment.&lt;/p&gt;

</description>
      <category>selfhosting</category>
      <category>opensource</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>Brief Introduction to the Installation Guide of Forem/Dev</title>
      <dc:creator>Akhil Naidu</dc:creator>
      <pubDate>Thu, 20 Aug 2020 08:48:55 +0000</pubDate>
      <link>https://dev.to/akhilnaidu/brief-introduction-to-the-installation-guide-of-forem-dev-5803</link>
      <guid>https://dev.to/akhilnaidu/brief-introduction-to-the-installation-guide-of-forem-dev-5803</guid>
      <description>&lt;p&gt;In this series of &lt;strong&gt;One-Stop to Install Forem&lt;/strong&gt;, I will be discussing the Installation procedure of Forem using Forem Documentation as the primary reference. &lt;/p&gt;




&lt;p&gt;The documentation provided by the Forem is one of the best starting points to wrap around this new Open Source, but having a semi-formal approach to discuss is also not a bad idea to me. So I am inclined to start one, and anyone who wants to improve this or have issues can contribute through the comment section.&lt;/p&gt;

&lt;p&gt;From the past three months, I opened up various issues in the GitHub issues section to realize that most of the problems are related to a lack of my knowledge of the environment. Through this series, I will try to share my knowledge of experience to keep you on the right track.&lt;/p&gt;




&lt;blockquote&gt;
&lt;h1&gt;
  
  
  Things to keep in mind
&lt;/h1&gt;
&lt;/blockquote&gt;

&lt;p&gt;There are a few terms I might frequently use, so I would like to define them.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Development Instance&lt;/strong&gt;:  Local Forem Instance on your laptop.&lt;br&gt;
&lt;strong&gt;Production Instance&lt;/strong&gt;: Online Forem Instance for online users.&lt;/p&gt;




&lt;p&gt;By the end of this series, we aim to create our Forem instance. To achieve this first, we need to create a Local Forem Instance or a Development Instance. Then finally, this Development Instance will act as a medium or local reference to support our Production Instance, which will stay in Heroku or VPS.&lt;/p&gt;

&lt;p&gt;For more information related to Development and Production refer to this &lt;a href="https://dev.to/flippedcoding/difference-between-development-stage-and-production-d0p"&gt;article&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;Note: Depending on your OS or medium of installation, choose the next post.&lt;/p&gt;

</description>
      <category>selfhosting</category>
      <category>opensource</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>How to install Virtual Box in ChromeOS</title>
      <dc:creator>Akhil Naidu</dc:creator>
      <pubDate>Mon, 29 Jun 2020 05:28:14 +0000</pubDate>
      <link>https://dev.to/akhilnaidu/how-to-install-virtual-box-in-chromeos-2164</link>
      <guid>https://dev.to/akhilnaidu/how-to-install-virtual-box-in-chromeos-2164</guid>
      <description>&lt;p&gt;In this guide, I assume you are familiar with @sebanc  &lt;a href="https://github.com/sebanc/brunch" rel="noopener noreferrer"&gt;brunch&lt;/a&gt;, &lt;a href="https://github.com/dnschneid/crouton" rel="noopener noreferrer"&gt;Crouton&lt;/a&gt;, &lt;a href="https://www.youtube.com/watch?v=2wSJREC7RV8" rel="noopener noreferrer"&gt;Chroot&lt;/a&gt; and obviously &lt;a href="https://www.virtualbox.org/" rel="noopener noreferrer"&gt;Virtualbox&lt;/a&gt;. If you are not familiar with anyone of these first go through the following links and get a brief idea for conceptual clearance in your head. &lt;/p&gt;

&lt;p&gt;These are the steps we cover in this Guide.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;[x] Install ChromeOS in your PC&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;[x] Installing a Chroot based Ubuntu Instance&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;[x] &lt;strong&gt;Setting up the Environment in Ubuntu&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;[x] Installing Virtual Box&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Installing ChromeOS in your PC
&lt;/h3&gt;

&lt;p&gt;I guess you are familiar with the Brunch of this master branch, with which you can use Install the ChromeOS in any PC - provided your PC meets the &lt;a href="https://github.com/sebanc/brunch#hardware-support-and-added-features" rel="noopener noreferrer"&gt;hardware requirements&lt;/a&gt;. &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Any quires in this section, you are free to browse through the existing issues or to open a new issue.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3&gt;
  
  
  Installing a Chroot based Ubuntu Instance
&lt;/h3&gt;

&lt;p&gt;Follow these instructions, in case of any errors stop it - do some research or comment it below.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Download crouton&lt;/li&gt;
&lt;li&gt;Open a shell (Ctrl+Alt+T, type &lt;code&gt;shell&lt;/code&gt;, and hit enter)&lt;/li&gt;
&lt;li&gt;Copy the installer to an executable location by running &lt;code&gt;sudo install -Dt /usr/local/bin -m 755 ~/Downloads/crouton&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Now that it's executable, run the installer itself: &lt;code&gt;sudo crouton -r xenial -t xfce&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Wait patiently and answer the prompts like a good person. At the end of the installation you need to provide username and password for ubuntu installation.&lt;/li&gt;
&lt;li&gt;Done! You can jump straight to your Xfce session by running &lt;code&gt;sudo enter-chroot startxfce4&lt;/code&gt; or, as a special shortcut, &lt;code&gt;sudo startxfce4&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Cycle through Chromium OS and your running graphical chroots using &lt;strong&gt;Ctrl+Alt+Shift+Back(F1)&lt;/strong&gt; and &lt;strong&gt;Ctrl+Alt+Shift+Forward(F2)&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Exit the chroot by logging out of Xfce.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Step 6,7,8 are optional steps, which will provide you an idea about the usage of &lt;a href="https://github.com/dnschneid/crouton" rel="noopener noreferrer"&gt;crouton&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Setting up the Environment in Ubuntu
&lt;/h3&gt;

&lt;p&gt;After successful completion of Step 5, you can launch the Ubuntu using Xfce using Step 6 or you can use this command: &lt;code&gt;sudo enter-chroot&lt;/code&gt; to access the Ubuntu terminal. It's up to you how you want to access the Ubuntu terminal.&lt;/p&gt;

&lt;p&gt;In &lt;strong&gt;ubuntu terminal&lt;/strong&gt;, use this command before installing anything. &lt;code&gt;sudo mount -o remount,rw /lib/modules/*&lt;/code&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Installing Virtual Box
&lt;/h3&gt;

&lt;p&gt;The above step, which focuses on setting up of environment is a must. The command: &lt;code&gt;sudo mount -o remount,rw /lib/modules/*&lt;/code&gt; should be executed without any error. &lt;strong&gt;If you have no error proceed further&lt;/strong&gt;.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;crostini&lt;/strong&gt; needs to be disabled in ChromeOS settings&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;code&gt;sudo apt install virtualbox&lt;/code&gt; to install VirtualBox&lt;/li&gt;
&lt;li&gt;Before using VirtualBox, run &lt;code&gt;sudo modprobe vboxdrv&lt;/code&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;We are all set, now you have a working VirtualBox in ChromeOS, If you have any suggestion or issue feel free to comment.&lt;/p&gt;




&lt;p&gt;for new updates visit: &lt;a href="https://blog.leewardslope.com/how-to-install-virtualbox-in-chromeos/" rel="noopener noreferrer"&gt;https://blog.leewardslope.com/how-to-install-virtualbox-in-chromeos/&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>India's opportunity to become THE global leader.</title>
      <dc:creator>Akhil Naidu</dc:creator>
      <pubDate>Mon, 02 Dec 2019 12:45:11 +0000</pubDate>
      <link>https://dev.to/akhilnaidu/india-s-opportunity-to-become-the-global-leader-134b</link>
      <guid>https://dev.to/akhilnaidu/india-s-opportunity-to-become-the-global-leader-134b</guid>
      <description>&lt;p&gt;We have the largest workforce in the world - close to 500 million strong - more than the population of every major country except China. This kind of opportunity doesn't come along often and we are squandering it. People don't stay young forever. We have maybe 25 years to capitalize on this and I know if we do we'll shoot straight to the top. I'm not suggesting it's an easy job but I truly believe we are capable enough to lift ourselves to the top.&lt;/p&gt;

&lt;p&gt;In my opinion there are two factors that disproportionately affect our ability to generate value.&lt;/p&gt;

&lt;p&gt;First, our people are not skilled enough, thanks to archaic and utterly pointless educational curricula. Bad education is the root cause of our suffering. Just ask the millions of jobless engineers. We're spending a paltry 3-4% of our GDP on education in comparison to the 6-8% of other developing nations. I strongly believe that solving the education problem will solve most other issues.&lt;/p&gt;

&lt;p&gt;Second, policy changes and passing of bills take way too long. That's a result of the democratic process and I respect that, but again, people don't stay young forever. There are a lot of policies and rules that need an overhaul and the sooner we change them, the faster we can grow.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.moneycontrol.com/news/business/economy/5-trillion-economy-distant-dream-india-slips-to-7th-spot-in-global-gdp-ranking-4281691.html" rel="noopener noreferrer"&gt;More Info&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
