DevOps

Esthomy.com's Server Architecture and DevOps Journey

We share the technical details of the modern, scalable, and secure server architecture we built while bringing our project to life, and the experiences we gained in the process.

Eren Özdemir

Eren Özdemir

July 27, 2024 12 dk

Esthomy.com's Server Architecture and DevOps Journey

Introduction

Hello! I'm Eren, responsible for the infrastructure and DevOps processes at esthomy.com. In this article, I want to share the technical details of the modern, scalable, and secure server architecture we built while bringing our project to life, and the experiences we gained in the process.

When we started our project, our goal was clear: to offer a fast and seamless experience to the end-user while making our development and deployment processes as automated and secure as possible. To achieve this goal, here are the technologies we carefully selected and the steps we followed:

Why Dokploy?

Instead of getting lost in server management and application deployment processes, we wanted to focus our energy on product development. At this point, Dokploy was the perfect fit for us. It provided a Heroku-like PaaS (Platform as a Service) experience on our own server. With its easy-to-use interface, built-in Traefik support, and database management features, it allowed us to manage the entire infrastructure from a single center.

Building Blocks of Our Architecture: The Technologies We Use

We carefully selected each component to provide the flexibility and performance required by a modern web application.

Frontend Layer: Separate Solutions for Every Need

On the interface side, which are the first screens our users encounter, we proceeded with two different approaches:

  • Landing Page: As SEO compatibility and initial load speed were critical, we developed this page with Next.js and shadcn/ui. Thanks to its server-side rendering (SSR) capabilities, we became more visible in search engines.
  • Client & Broker Interfaces: For the application's highly interactive panels, we chose the Vite + React duo. The incredible development speed offered by Vite and React's component-based architecture allowed us to easily manage complex interfaces.

Backend Layer: Powerful and Scalable Microservices

We chose Spring Boot for our backend engine. We also divided this structure into tasks:

  • Spring Boot API Gateway: Our main gateway that receives all incoming requests from the outside world, handling security and routing tasks.
  • Spring Boot Backend Services: Our microservices where our business logic runs, performing database operations and other tasks. This structure makes it much easier to add new features or scale existing ones in the future.

Data Management: Reliable and Flexible Storage

  • Database: We chose PostgreSQL for its proven reliability and performance in relational databases. We could easily install and manage it via Dokploy.
  • File Storage (S3 Storage): We decided to set up our own S3-compatible server to store static content such as files and images uploaded by users. For this job, we used MinIO, an open-source and popular solution. This gave us a cost advantage and full control over our data.

Security and Network Management: The Traefik and Cloudflare Duo

One of the most critical points of our infrastructure was security and network management. We combined two powerful tools for this:

  • Cloudflare: It is much more than just a CDN and WAF service. We obtained our SSL certificates from Cloudflare for free and reliably. Additionally, we used the Cloudflare Email Routing service to manage emails coming to our domain (@esthomy.com), saving us the trouble of setting up an additional email server.
  • Traefik: Acting like a magic touch within Dokploy, Traefik took on the role of a reverse proxy for us. It automatically integrated the SSL certificate we got from Cloudflare into our applications (SSL Termination) and intelligently routed incoming requests to the correct service (Next.js, React, Spring Boot, etc.).

The Pinnacle of Automation: Secure CI/CD Process

We knew how error-prone and slow manual deployment processes could be. That's why we established a secure CI/CD (Continuous Integration / Continuous Deployment) flow from the very beginning:

  • GitHub Integration: We connected our GitHub repository, where we host our code, directly to Dokploy.
  • Automatic Flow: As soon as our developers push a change to the code on GitHub, Dokploy automatically detects this change, rebuilds the application, and deploys the updated version to production. This saved us time and eliminated the risk of human error.

Conclusion

While building the infrastructure for Esthomy.com, we brought together modern and powerful tools like Dokploy, Spring Boot, React, PostgreSQL, and Cloudflare. The result is a system that is;

  • Easy to manage,
  • Secure,
  • Scalable,
  • And has fully automated development processes.

This journey has once again shown us how complex-looking jobs can be simplified with the right tools. We hope our experiences will inspire and give ideas to other developers who want to bring their own projects to life.

Thanks for reading! If you have any questions or comments, please don't hesitate.

© 2025 Eren Özdemir.Tüm hakları saklıdır.

eren özdemirtarafından yapıldı