diff --git a/docs/app/docs/devbox_cloud/beta_faq.md b/docs/app/docs/devbox_cloud/beta_faq.md index 94cc1b39671..8ac431a96b1 100644 --- a/docs/app/docs/devbox_cloud/beta_faq.md +++ b/docs/app/docs/devbox_cloud/beta_faq.md @@ -1,52 +1,54 @@ --- -title: Devbox Cloud Open Beta FAQ +title: Devbox Playground FAQ sidebar_position: 4 --- -### What do I need to use Devbox Cloud? +### What do I need to use a Devbox playground? -To use Devbox Cloud from your Browser, you will need a Github Account. +To start a Devbox playground from your Browser, you will need a Github Account. -### Does my project need to use Devbox to use Devbox Cloud? +### Does my project need to use Devbox to use Devbox playgorund? -While you can open any Github Repo in a Devbox Cloud Shell, you will need a `devbox.json` to install packages or configure the environment. You can add any packages in your shell by running `devbox add ` +While you can open any Github Repo in a Devbox playground, you will need a `devbox.json` to install packages or configure the environment. You can add any packages in your shell by running `devbox add ` -### Can I use my own IDE or editor with Devbox Cloud? +### Can I use my own IDE or editor with a Devbox playground? Devbox.sh provides a Cloud IDE that you can use to edit your projects in the browser, but you can also open your project in your local VSCode Editor by clicking the `Open in Desktop` button. You can also use your own tools when you connect to the VM via SSH. See our [Getting Started Guide](index.mdx) for more details. -### Do I have to pay to use Devbox Cloud during the Open Beta? +### Do I have to pay to use Devbox.sh? -Devbox Cloud is free to use during the Open Beta period, subject to the restrictions listed below. We expect to continue offering a free tier for personal use after the Open Beta period, but we will offer Paid Plans that provide more resources, projects, and persistence. +Devbox.sh is free to use during the Beta period, subject to the restrictions described below. -### What are the resource limits for Devbox Cloud VMs +### What are the resource limits for Devbox playgrounds * **CPU**: 4 Cores * **RAM**: 8 GB * **SSD**: 8 GB -If you need additional resources for your project, please reach out to us for **[Early Access](https://jetpack-io.typeform.com/devbox-cloud)** +If you are interested in using Devbox playgrounds or CDE in an enterprise setting, please reach out to us at [info@jetpack.io](mailto://info@jetpack.io) + +### Is there a time limit on Devbox playgrounds? + +Your playground will be suspended after 4 hours of inactivity, and can be restarted by reopening the playground from your [dashboard](https://devbox.sh/app/projects). + +playgrounds are also deleted every 12 hours, regardless of activity ### I want to request more resources, persistence, or a different OS for my VM -Future releases will add more flexibility and features as part of our paid plans. If you'd like to sign up for early access to these plans, please sign up for **[Early Access](https://jetpack-io.typeform.com/devbox-cloud)** +Please contact us at info@jetpack.io if you are interested in a custom solution for your enterprise. -### What OS does Devbox Cloud use? +### What OS does the Devbox.sh use? Debian Linux, running on a x86-64 platform ### How many VM's can I run concurrently? -You can have up to 5 concurrent projects per Github Account. - -### How long will my Devbox Cloud Shell stay alive for? - -VMs will stay alive for up to 8 hours after going idle. After that point, the VM will be deleted. The next time you visit the same project on the Dashboard, a new VM will be created. Data in the user's home directory will automatically be downloaded to the new machine. +You can have up to 5 concurrent projects per Github Account. To run more playgrounds, you can visit your [Dashboard](https://devbox.sh/app/projects) to delete older playgrounds -### Where will Devbox run my VM? +### Where does Devbox run my playground? -Devbox VMs are run as Fly Machines in local Data Centers. To minimize latency, Devbox Cloud will attempt to create a Fly Machine as close to your current location as possible. +Devbox VMs are run as Fly Machines in local Data Centers. To minimize latency, Devbox.sh will attempt to create a Fly Machine as close to your current location as possible. diff --git a/docs/app/docs/devbox_cloud/index.mdx b/docs/app/docs/devbox_cloud/index.mdx index d87e2296151..dabfd079f6a 100644 --- a/docs/app/docs/devbox_cloud/index.mdx +++ b/docs/app/docs/devbox_cloud/index.mdx @@ -1,57 +1,55 @@ --- -title: Devbox Cloud +title: Try Devbox in your Browser on Devbox.sh sidebar_position: 1 --- -Devbox Cloud is a new way to create and run your Devbox Project in an isolated cloud environment. Devbox Cloud lets you quickly spin up an on-demand Linux Edge VM with your Devbox dependencies and shell using your browser or ssh. - -:::info -Devbox Cloud is currently available in Open Beta, and is under active development. Please see the information in our **[FAQ](beta_faq.md)** for more details. -::: +Devbox.sh provides a sandboxed playground environment for you to learn how Devbox works, try out example projects or templates, and experiment with using Devbox with your own projects.
[![Devbox Cloud](../../static/img/devbox_sh.png)](https://devbox.sh) -
Launch a Devbox Cloud instance at devbox.sh
+
Launch a Devbox playground at devbox.sh
## Quickstart -Try Devbox Cloud from your browser by visiting [devbox.sh](https://devbox.sh), or click the button below to launch a quickstart shell: +You can launch a new playground from your browser by visiting [devbox.sh](https://devbox.sh), or click the button below to launch a quickstart shell: [![Open in Devbox.sh](https://jetpack.io/img/devbox/open-in-devbox.svg)](https://devbox.sh/new) -Use Devbox Cloud to preview Github projects directly in your browser. Devbox Cloud comes with the Devbox CLI, Nix, and several common packages preinstalled, so you can easily run projects that include a `devbox.json` +Each Devbox playground comes with the Devbox CLI, Nix, and several common packages preinstalled, so you can easily run projects that include a `devbox.json` -![Devbox Cloud Browser](../../static/img/devbox_cloud_editor.png) +![Devbox.sh Browser](../../static/img/devbox_cloud_editor.png) ### Open a GitHub Repository in devbox.sh :::note -If you are trying to open a private repository in Devbox Cloud, we may ask you to install the [**Devbox Cloud app**](https://github.com/apps/devbox-cloud) from the Github Marketplace. This gives Devbox Cloud permissions to clone your repositories to the cloud VMs +If you are trying to open a private repository on Devbox.sh, we may ask you to install the [**Devbox Cloud app**](https://github.com/apps/devbox-cloud) from the Github Marketplace. This grants permissions to clone your repositories to the cloud VMs ::: -1. Navigate to the Github Repo that you want to preview in Devbox Cloud -2. Copy the URL, and prepend it with `https://devbox.sh/`. For example, to open the Devbox repo, you would enter [https://devbox.sh/github.com/jetpack-io/devbox](http://devbox.sh/github.com/jetpack-io/devbox). You can also enter the URL on [devbox.sh](https://devbox.sh) and click the `Go` button +1. Navigate to the Github Repo that you want to preview on Devbox.sh +2. Copy the URL, and prepend it with `https://devbox.sh/`. + 1. For example, to open the Devbox repo, you would enter [https://devbox.sh/github.com/jetpack-io/devbox](http://devbox.sh/github.com/jetpack-io/devbox). + 1. You can also enter the URL on [devbox.sh](https://devbox.sh) and click the `Go` button 3. Follow the prompts to sign in with your Github Account. 4. Your project should now launch in a terminal session in your browser 1. If the project has a `devbox.json` in the root directory, then Devbox will automatically install your packages and launch you into a devbox shell. 2. If the project does not have a `devbox.json`, a blank one will be automatically created using `devbox init`. You can add packages to the VM using `devbox add`. -### Opening a specific branch of a project +### Opening a Specific Branch You can open a specific branch of your project using the `branch` query parameter. This is useful when you want to preview a PR or WIP changes for your project. For example: https://devbox.sh/github.com/org/repo?branch=staging would clone the `staging` branch of your project, and open it in your Cloud Shell. -### Opening a subfolder of a project +### Opening a Subfolder -You can start your Devbox Cloud Shell in a subfolder of your project, using the `folder` query parameter. This can be useful when working with a monorepo where your project's `devbox.json` lives in a subfolder. +You can open a specific a subfolder of your project using the `folder` query parameter. This can be useful when working with a monorepo where your project's `devbox.json` lives in a subfolder. -For example: https://devbox.sh/github.com/jetpack-io/devbox?folder=examples/development/ruby will start your terminal in the Ruby example in the Devbox repo, load the configuration from the `devbox.json` in that folder, and then start a Devbox Shell. +For example: https://devbox.sh/github.com/jetpack-io/devbox?folder=examples/development/ruby will start your terminal in the Ruby example in the Devbox repo, load the configuration from the `devbox.json` in that folder, and then start a Devbox shell. -### Accessing a port +### Accessing a Port To access any non-privileged port, simply append `/port/` to the project url. For example, the following url opens up port 8080 on the VM: @@ -61,11 +59,11 @@ https://devbox.sh/app/projects//port/8080 This URL redirects to `-.svc.devbox.sh`, which points to the actual host and port of your project's VM machine. -### Opening in desktop VS Code +### Opening in Desktop VS Code Click on the `Open in Desktop` button on the top right corner, which will open up your local VS Code editor. Follow the prompt, and you should see the VS Code window refreshes and connects to the remote machine via ssh. -### SSH via local terminal +### Access your Playground via SSH If you already have a GitHub SSH private key configured in your local machine, you can use it directly to SSH into your remote VM following the steps below: @@ -89,9 +87,9 @@ If you already have a GitHub SSH private key configured in your local machine, y ``` Note: `` is case-sensitive. Make sure it matches with the github profile you sign in with. -### Open in Devbox Badge +### Add Devbox Playground to your Project's README -If your project uses Devbox, you can make it easy for developers to test your project in Devbox Cloud by adding the `Open in Devbox` badge to your repo +If your project uses Devbox, you can make it easy for developers to test your project in a Devbox playground by adding the `Open in Devbox.sh` badge to your repo [![Open In Devbox.sh](https://jetpack.io/img/devbox/open-in-devbox.svg)](https://devbox.sh/github.com/jetpack-io/devbox) @@ -99,9 +97,4 @@ Add the following code to your README.md: ```md [![Open In Devbox.sh](https://jetpack.io/img/devbox/open-in-devbox.svg)](https://devbox.sh/{path_to_repo}) -``` - -## More Info - -- To learn more about the Open Beta, visit our **[FAQ](beta_faq.md)**. -- If you're interested in Early Access to future versions of Devbox Cloud, join our **[Early Access List](https://jetpack-io.typeform.com/devbox-cloud)**. +``` \ No newline at end of file diff --git a/docs/app/docs/devbox_global.md b/docs/app/docs/devbox_global.md index 3cd3cf437f7..b951d1bf4b7 100644 --- a/docs/app/docs/devbox_global.md +++ b/docs/app/docs/devbox_global.md @@ -74,7 +74,7 @@ For more information, see the [Fleek for Devbox Docs](https://getfleek.dev/docs/ If you want to make your global packages available in your host shell, you can add them to your shell PATH. Running `devbox global shellenv` will print the command necessary to source the packages. -### Add Global Packages to your current Host Shell +### Add Global Packages to your Current Host Shell To temporarily add the global packages to your current shell, run: ```bash diff --git a/docs/app/docs/guides/pinning_packages.md b/docs/app/docs/guides/pinning_packages.md index 4d857d99f4a..fd9af9e6366 100644 --- a/docs/app/docs/guides/pinning_packages.md +++ b/docs/app/docs/guides/pinning_packages.md @@ -1,5 +1,5 @@ --- -title: Selecting a Specific Package Version +title: Installing a Specific Package Version --- This document explains how to use `devbox search` and `devbox add` to install a specific package version in your Devbox project. It also explains how to pin a particular major or minor version for the package in your project. diff --git a/docs/app/docs/guides/plugins.md b/docs/app/docs/guides/plugins.md index abd3a2b9914..74bb8573779 100644 --- a/docs/app/docs/guides/plugins.md +++ b/docs/app/docs/guides/plugins.md @@ -1,5 +1,5 @@ --- -title: Using Devbox Plugins +title: Using Plugins --- This doc describes how to use Devbox Plugins with your project. **Plugins** provide a default Devbox configuration for a Nix package. Plugins make it easier to get started with packages that require additional setup when installed with Nix, and they offer a familiar interface for configuring packages. They also help keep all of your project's configuration within your project directory, which helps maintain portability and isolation. diff --git a/docs/app/docs/guides/services.md b/docs/app/docs/guides/services.md index f223363705f..370958e05b5 100644 --- a/docs/app/docs/guides/services.md +++ b/docs/app/docs/guides/services.md @@ -1,5 +1,5 @@ --- -title: Running Background Services +title: Running Services --- When working on an application, you often want some services or dependencies running in the background for testing. Take a web app as an example. While working on your application, you will want to test it against a running development server and database. Previously developers would manage these services via tools like Docker Compose or orchestrating them manually. diff --git a/docs/app/docs/guides/using_flakes.md b/docs/app/docs/guides/using_flakes.md index 27edfedc337..f4e1d0a1c61 100644 --- a/docs/app/docs/guides/using_flakes.md +++ b/docs/app/docs/guides/using_flakes.md @@ -1,23 +1,23 @@ --- -title: Using Packages from Nix Flakes +title: Installing Packages from Nix Flakes --- Devbox supports installing packages with [Nix Flakes](https://nixos.wiki/wiki/Flakes). -Devbox currently provides two ways to use Flakes to install packages in your project: +Devbox currently provides two ways to use Flakes to install packages in your project: 1. You can reference a Flake hosted in Github using the `github:` reference 2. You can reference a local Flake using the `path:` reference ## What are Flakes? -[Flakes](https://www.jetpack.io/blog/powered-by-flakes/) are a new feature in the Nix language that lets us package software and create development shells in a declarative, fully reproducible way. You can use Nix Flakes to define packages, apps, templates, and dev environments. +[Flakes](https://www.jetpack.io/blog/powered-by-flakes/) are a new feature in the Nix language that lets us package software and create development shells in a declarative, fully reproducible way. You can use Nix Flakes to define packages, apps, templates, and dev environments. Flakes are defined as a directory with a `flake.nix` and a `flake.lock` file. You import flakes to your project using a flake reference, which describes where to find the Flake, and what version or revision to use ## Using a Flake from Github -You can add a Flake hosted on Github using the following string in your packages list: +You can add a Flake hosted on Github using the following string in your packages list: ```json "packages": [ diff --git a/docs/app/docs/quickstart.mdx b/docs/app/docs/quickstart.mdx index ef64ebf019f..adfb2b1d3e4 100644 --- a/docs/app/docs/quickstart.mdx +++ b/docs/app/docs/quickstart.mdx @@ -1,5 +1,5 @@ --- -title: "Adding Devbox to your Project" +title: "Create a Dev Environment with Devbox" sidebar_position: 3 --- @@ -29,7 +29,7 @@ If you want to try Devbox before installing it, you can open a cloud shell on yo [![Open In Devbox.sh](https://jetpack.io/img/devbox/open-in-devbox.svg)](https://devbox.sh/open/templates/tutorial) ::: -## Create a development environment +## Create a Development Environment We'll create a new development environment with the packages we need. These packages will only be available when using this Devbox shell, ensuring we don’t pollute your machine. @@ -68,7 +68,9 @@ We'll create a new development environment with the packages we need. These pack } ``` -6. Start a new shell that has your packages and tools installed: +## Launch your Development Environment + +1. Start a new shell that has your packages and tools installed: ```bash devbox shell @@ -80,7 +82,7 @@ We'll create a new development environment with the packages we need. These pack You can tell you're in a Devbox shell (and not your regular terminal) because the shell prompt and directory changed. -7. Use your favorite packages. +2. Use your favorite packages. In this example we installed Python 3.10, so let's use it. @@ -97,19 +99,19 @@ We'll create a new development environment with the packages we need. These pack -SIMD -AVX (compiled) ``` -8. Your regular tools are also available including environment variables and config settings. +3. Your regular tools are also available including environment variables and config settings. ```bash git config --get user.name ``` -9. To exit the Devbox shell and return to your regular shell: +4. To exit the Devbox shell and return to your regular shell: ```bash exit ``` -10. To share your project and shell, make sure to check in your `devbox.json` and `devbox.lock` file into source control. These files will ensure that developers get the same packages and environment when they run your project. +5. To share your project and shell, make sure to check in your `devbox.json` and `devbox.lock` file into source control. These files will ensure that developers get the same packages and environment when they run your project. ## Add the Devbox Badge to your Repo diff --git a/docs/app/sidebars.js b/docs/app/sidebars.js index 82db665e3f7..d1f8a722d15 100644 --- a/docs/app/sidebars.js +++ b/docs/app/sidebars.js @@ -30,12 +30,12 @@ const sidebars = { }, { type: 'doc', id: 'quickstart' - }, { - type: 'doc', - id: 'contributor-quickstart' }, { type: 'doc', id: 'devbox_global' + },{ + type: 'doc', + id: 'devbox_cloud/index' }] }, { type: 'category', @@ -44,27 +44,18 @@ const sidebars = { items: [{ type: 'doc', id: 'guides/pinning_packages' - }, { + }, , { type: 'doc', - id: 'guides/scripts' - }, { + id: 'guides/using_flakes' + },{ type: 'doc', - id: 'guides/plugins' + id: 'guides/scripts' }, { type: 'doc', id: 'guides/services' }, { type: 'doc', - id: 'guides/using_flakes' - }] - }, { - type: 'category', - label: 'Devbox Cloud', - link: { type: 'doc', id: 'devbox_cloud/index' }, - collapsed: true, - items: [{ - type: 'autogenerated', - dirName: 'devbox_cloud' + id: 'guides/plugins' }] }, { type: 'category', @@ -91,6 +82,9 @@ const sidebars = { type: 'doc', id: 'configuration' }, { + type: 'doc', + id: 'devbox_cloud/beta_faq' + },{ type: 'category', label: "IDE Reference", collapsed: true,