Daytona is a secure and open-source development environment manager that simplifies your workflow. Imagine starting development on a Next.js app without the usual setup hassle. On average, developers lose 56% of their time setting up environments. Daytona eliminates that wasted time and lets you focus directly on coding.
Step 1: Connect Daytona to Your Git Repositories
To manage your code with version control, link Daytona to your Git provider like Github. Run this command in your terminal:
daytona git-providers add
Step 2: Install a Cloud Provider
If you need to create or manage cloud environments (like AWS, Azure, or GCP), install a provider using this command:
daytona provider install
Step 3: Set a Target
A "Target" is where your development environment will run, like Docker (local or remote), AWS, GCP, or others. To choose one, use this command:
daytona target set
Step 4: Choose Your IDE
Daytona can connect to many IDEs like VS Code, IntelliJ, and more. To set your default IDE, run:
Here's the devcontainer.json I used for Recipe Genie:
{"name":"Recipe Genie Dev Container","image":"mcr.microsoft.com/devcontainers/javascript-node","forwardPorts":[3000],"customizations":{"vscode":{"settings":{"terminal.integrated.defaultProfile.linux":"bash","files.autoSave":"onWindowChange","editor.formatOnSave":true,"editor.defaultFormatter":"esbenp.prettier-vscode"},"extensions":["ms-azuretools.vscode-docker","ms-vscode-remote.remote-containers","dbaeumer.vscode-eslint","esbenp.prettier-vscode","dsznajder.es7-react-js-snippets","formulahendry.auto-rename-tag","bradlc.vscode-tailwindcss","christian-kohler.path-intellisense","ms-vscode.vscode-typescript-next"]}},"postCreateCommand":"npm i"}
4️⃣ Create your workspace and project
daytona create <REPO_URL>
That's it! Your environment is ready.
To start development, simply run the following:
npm run dev
Some highlights of devcontainer.json file:
Pre-configured environment: Uses the javascript-node devcontainer image from Microsoft.
Post-setup commands: Automatically runs npm i to install dependencies.
VS Code settings: Includes useful VSC settings and extensions for productive development, like Prettier, ESLint, and React/Next.js tools.
PORT forwarding: Automatically forwards port 3000 to access the development server from the host machine.
Conclusion
Daytona simplifies development by automating environment setup. Try Daytona today and experience the difference!
If you like this blog, show some love for Recipe Genie and Daytona.
Single Command: Activate a fully configured development environment with a single command.
Runs everywhere: spin up your development environment on any machine — whether it's local, remote, cloud-based, physical server, or a VM & any architecture x86 or ARM.
Configuration File Support: Initially support for dev container, ability to expand to DevFile, Nix & Flox (Contributions welcome here!).
Prebuilds System: Drastically improve environment setup times (Contributions welcome here!).
IDE Support : Seamlessly supports VS Code & JetBrains locally, ready to use without configuration. Includes a built-in Web IDE for added convenience.
Recipe Genie is your ultimate cooking companion powered by TheMealDB. Discover a world of culinary delights, from tantalizing surprises to exploring categories and their delectable recipes. With Recipe Genie, embark on a culinary journey like never before.
Sample Recipe Genie
Recipe Genie is your go-to app for exploring delicious recipes, powered by TheMealDB. Discover a variety of dishes, surprise yourself with random recipes, or browse through different categories. With Recipe Genie, enjoy a fun and easy cooking adventure! It's a simple Next.js app built using TheMealDB.