Skip to content
← Back to blog

Effortless Self-Hosting - Managing My Apps with Dokploy on Contabo

Effortless Self-Hosting - Managing My Apps with Dokploy on Contabo

The world of cloud hosting is vast and often expensive. From AWS and GCP to Vercel and Netlify, there are countless options. However, as developers, we often crave the simplicity of "push to deploy" with the cost-effectiveness and control of a VPS.

Recently, I transitioned my infrastructure to a self-hosted setup using Dokploy on a Contabo VPS. This combination has proven to be a game-changer for my workflow, providing a Vercel-like experience without the vendor lock-in or high costs.

Why Self-Host?

While managed platforms are great, they come with trade-offs:

  • Cost: Scaling on managed platforms can become prohibitively expensive.
  • Privacy: You don't always have full control over where your data resides.
  • Flexibility: You are often restricted by the platform's specific environment and limits.

Self-hosting on a VPS allows you to own your data, control your environment, and pay a flat monthly fee for powerful hardware.

The Choice: Contabo & Dokploy

Contabo VPS

I chose Contabo for its incredible price-to-performance ratio. For a fraction of what you'd pay elsewhere, you get:

  • High-performance NVMe storage
  • Generous RAM and VCPU counts
  • Global data centers for low latency

Dokploy: The "PaaS" of Choice

Dokploy is an open-source platform that transforms your VPS into a private PaaS (Platform as a Service). It's built for developers who want the convenience of modern deployment workflows without the complexity of manual server management.

Setting Up the Machine

The setup process is remarkably simple. Once you have your Contabo VPS running with a fresh install of Ubuntu, it's just a matter of a few commands.

  1. Access your VPS: SSH into your server.
  2. Install Dokploy: Run the official installation script.
    curl -sSL https://dokploy.com/install.sh | sh
  3. Access the Dashboard: Navigate to your server's IP on the designated port and follow the setup wizard.

Deployment Workflows

Dokploy supports several ways to get your code onto the server:

1. Dockerfile

The most robust method. Simply include a Dockerfile in your repository, and Dokploy handles the rest. It integrates seamlessly with GitHub, enabling automatic rebuilds on every push.

2. Docker Compose

Perfect for complex applications that require a database or other services. You can define your entire stack in a docker-compose.yml file and Dokploy will manage the orchestration.

3. Nixpacks & Static

For simpler projects, Dokploy uses Nixpacks to automatically detect the environment and build your app, or can host static files directly.

Reverse Proxy and SSL

One of the best features of Dokploy is its built-in management of Traefik. It automatically handles:

  • Routing: Mapping your domains and subdomains to specific containers.
  • SSL Certificates: Automated Let's Encrypt certificates for all your apps.
  • Ease of Use: No need to manually edit Nginx or Traefik configs unless you want to.

Privacy and Security First

In this setup, privacy is built-in by design:

  • Data Sovereignty: Your data lives on your server, not in a third-party cloud.
  • No Hidden Fees: Transparent pricing from Contabo.
  • Secure Access: Dokploy provides a clean UI for managing access and secrets without exposing them to the public internet.

Lessons Learned

Transitioning to this setup taught me several valuable lessons:

  1. Infrastructure as a Tool: DevOps doesn't have to be intimidating. Tools like Dokploy make powerful infrastructure accessible.
  2. Ownership Matters: There's a unique satisfaction in knowing exactly where your apps are running.
  3. Keep it Simple: You don't always need Kubernetes. For many projects, a single well-managed VPS is more than enough.

Conclusion

Combining Contabo's hardware with Dokploy's software has allowed me to build a professional deployment pipeline that is both affordable and powerful. It gives me the freedom to experiment and deploy new ideas in minutes, all while maintaining full control over my digital footprint.

If you're looking to simplify your deployment workflow without losing control, I highly recommend giving this setup a try.


Learn more about the tools:

Share: