So... hey!! Lemme be clear for this post, it'll be my first technical one, but I'm sure this is gonna be great. I'm planning to start something big on Devdotso, and a few days ago I was just looking for tools to get everything started when I found this gem. I’ll be honest with everything and would like to share my experience using this awesome tool called Daytona.
So, first of all... what's Daytona?
Daytona is an open-source development environment manager that allows developers to manage and deploy workspaces, which can be reproduced based on standard OCI containers. And do you know what's the best part? You can just provide a remote git repository to Daytona's CLI, and Daytona builds a workspace and provides it on a platform for you based on the configurations provided for the repo. Once everything is set up, you can develop, test, and contribute to open source or any projects using an IDE supported by Daytona. You can learn more about it here: https://www.daytona.io/docs.
My experience with Daytona?
I was just trying to explore few tools for Devdotso, a developer brand that I'm working on from scratch, and I wanted to give Daytona a shot... (the exact motivation was to earn some bucks through Quira, but let it be a secret).
So, to give this awesome tool a try, I used one of my open-source projects, which I worked on a few months ago: therabot. The question was how to set up Daytona and provide configurations. I followed their docs - it’s quite simple, easy to understand, and will help you a lot.
Here's a brief overview of the steps I followed:
- Install Daytona: I installed Daytona on my windows system using their installation script (lmao will be transitioning soon to a Linux based setup). For Linux and macOS, the command is:
(curl -sf -L https://download.daytona.io/daytona/install.sh | sudo bash) && daytona server -y && daytona
For Windows, the installation involves a PowerShell script. Detailed instructions are available in their installation guide.
- Connect Daytona with your repo: I added my Git provider i.e., github to Daytona using the command:
daytona git-providers add
This step ensures that Daytona can access and manage the repositories. Follow more: Git providers
- Set up a cloud provider: Daytona supports various providers for deploying development environments. I configured my preferred provider (docker) by following the instructions in their documentation. follow up
daytona provider install
- Set a target: A target is basically a destination or environment where your development setups. I specified the deployment target using:
daytona target set
This command allows developers to define where their development environments will be provisioned. learn more about targets
- Choose an IDE: Daytona supports multiple IDEs. I set my preferred IDE with:
daytona ide
This ensures that the development environment opens in your chosen editor.
- Create a workspace: I created a new workspace using:
daytona create
This command provisions a new development environment based on the specified configurations.
-
Make project configurations: I configured the project settings as needed, by creating a
.devcontainer/devcontainer.json
file in root.
Here's what my devcontainer.json
looks like: blob/devcontainer.json
Following these steps made the setup process simple and straightforward. Daytona is a well documented tool to start with and helps build applications and manage dev environments hella easy.
From my POV, if you're building an awesome application/product with a complex configuration/setup you should give Daytona a try. To wrap things up (as always), I want to hear from you all about your way of managing dev environments and make sure to follow me on X, and support me on github.
Top comments (2)
It has such an excellent use case 🔥
POV: Easy to get started!