<?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: Alexander Garanin</title>
    <description>The latest articles on DEV Community by Alexander Garanin (@garaninsoft).</description>
    <link>https://dev.to/garaninsoft</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%2F2074768%2F8b998c00-29de-4088-8563-c8077a797e7e.jpeg</url>
      <title>DEV Community: Alexander Garanin</title>
      <link>https://dev.to/garaninsoft</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/garaninsoft"/>
    <language>en</language>
    <item>
      <title>👉 Deploy Your Telegram Bot in Minutes with Spring Boot + Docker (Free Template Inside)</title>
      <dc:creator>Alexander Garanin</dc:creator>
      <pubDate>Thu, 31 Jul 2025 21:31:33 +0000</pubDate>
      <link>https://dev.to/garaninsoft/deploy-your-telegram-bot-in-minutes-with-spring-boot-docker-free-template-inside-hkl</link>
      <guid>https://dev.to/garaninsoft/deploy-your-telegram-bot-in-minutes-with-spring-boot-docker-free-template-inside-hkl</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;Build a fully functional &lt;strong&gt;Telegram bot with Webhook&lt;/strong&gt; support using Java and Spring Boot — in just minutes. No complex setup, no boilerplate from scratch.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  🚀 Why You’ll Love This Template
&lt;/h2&gt;

&lt;p&gt;If you're a:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;🔹 Java beginner exploring backend dev&lt;/li&gt;
&lt;li&gt;🔹 Startup dev trying to ship an MVP quickly&lt;/li&gt;
&lt;li&gt;🔹 Engineer needing a scalable foundation for bots&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;…this project helps you &lt;strong&gt;go from zero to bot in one evening&lt;/strong&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  🔍 Who Is This Guide For?
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Beginner Java developers&lt;/strong&gt; – who want to create a bot quickly without complex configuration.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Experienced programmers&lt;/strong&gt; – who need a scalable bot that can integrate with enterprise systems.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Startup teams&lt;/strong&gt; – when a fast MVP launch is critical.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Teachers and students&lt;/strong&gt; - Spring Boot is a great fit for learning backend development. &lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  💡 What’s Included
&lt;/h2&gt;

&lt;p&gt;✅ Spring Boot 3 + Java 21&lt;br&gt;&lt;br&gt;
✅ &lt;code&gt;/start&lt;/code&gt; and &lt;code&gt;/calc&lt;/code&gt; command handling&lt;br&gt;&lt;br&gt;
✅ Webhook endpoint via REST&lt;br&gt;&lt;br&gt;
✅ Clean architecture (Controller / Service / Client)&lt;br&gt;&lt;br&gt;
✅ Dockerfile + &lt;code&gt;docker-compose.yml&lt;/code&gt;&lt;br&gt;&lt;br&gt;
✅ GitHub Actions CI&lt;br&gt;&lt;br&gt;
✅ Clear folder structure and YAML config  &lt;/p&gt;


&lt;h2&gt;
  
  
  💬 Sample Commands
&lt;/h2&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;/start
/calc 2 * 3
/calc 12 / 4
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&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%2Fnjex6vyanvkfn45b14fp.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%2Fnjex6vyanvkfn45b14fp.png" alt=" " width="800" height="456"&gt;&lt;/a&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%2Fuploads%2Farticles%2F7btsk57zhrxj29luet7b.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%2F7btsk57zhrxj29luet7b.png" alt=" " width="800" height="515"&gt;&lt;/a&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%2Fuploads%2Farticles%2Fautlrd04osr4jpyik9fi.jpeg" 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%2Fautlrd04osr4jpyik9fi.jpeg" alt=" " width="800" height="1731"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  🟢 Quick Start  in 2 Minutes
&lt;/h2&gt;
&lt;h3&gt;
  
  
  1. Clone the repository
&lt;/h3&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git clone https://github.com/garaninsoft/telegram-bot-spring-boot-quickstart.git
&lt;span class="nb"&gt;cd &lt;/span&gt;telegram-bot-spring-boot-quickstart
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h3&gt;
  
  
  2. Add your bot token
&lt;/h3&gt;

&lt;p&gt;Open &lt;code&gt;src/main/resources/application.yml&lt;/code&gt; and paste your Telegram Bot Token::&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;telegram&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="na"&gt;bot&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
    &lt;span class="na"&gt;token&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;your_token_here&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  3. Run the app via Docker 🐳 (recommended)
&lt;/h3&gt;



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

&lt;/div&gt;



&lt;h3&gt;
  
  
  4. Set up Telegram Webhook
&lt;/h3&gt;

&lt;p&gt;Use &lt;code&gt;ngrok&lt;/code&gt; for local testing:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;ngrok http 8080
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Set the Webhook:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;curl &lt;span class="nt"&gt;-X&lt;/span&gt; POST &lt;span class="se"&gt;\&lt;/span&gt;
  https://api.telegram.org/bot&amp;lt;YOUR_BOT_TOKEN&amp;gt;/setWebhook &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-d&lt;/span&gt; &lt;span class="nv"&gt;url&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;https://&amp;lt;your-ngrok-url&amp;gt;/webhook
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;✅ Done! Open Telegram, talk to your bot, and try /start.&lt;/p&gt;

&lt;h2&gt;
  
  
  📦 Get the Code
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://github.com/garaninsoft/telegram-bot-spring-boot-quickstart" rel="noopener noreferrer"&gt;🔗 GitHub (Free)&lt;/a&gt;&lt;br&gt;
&lt;a href="https://garaninsoft.gumroad.com/l/telegram-bot-quickstart" rel="noopener noreferrer"&gt;💰Gumroad (Pro version with CI, Docker &amp;amp; frontend)&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  🧑‍💻 Support Option
&lt;/h2&gt;

&lt;p&gt;Need help deploying to VPS, Railway, Render, or Fly.io?&lt;br&gt;
Grab the Support pack to get:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;1-on-1 help with setup&lt;/li&gt;
&lt;li&gt;CI/CD pipeline setup via GitHub Actions&lt;/li&gt;
&lt;li&gt;Docker mentoring&lt;/li&gt;
&lt;li&gt;Telegram API questions answered&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  🔗 Let’s Connect
&lt;/h2&gt;

&lt;p&gt;Telegram: &lt;a href="https://t.me/garanin_soft" rel="noopener noreferrer"&gt;@garanin_soft&lt;/a&gt;&lt;/p&gt;

</description>
      <category>java</category>
      <category>springboot</category>
      <category>docker</category>
      <category>telegram</category>
    </item>
  </channel>
</rss>
