From 0977cd606cdbe7f2a6f7730861bfdfc0a2359457 Mon Sep 17 00:00:00 2001 From: Mo King Date: Mon, 21 Apr 2025 18:45:47 -0400 Subject: [PATCH 1/9] Reorganize get-started, update sidebar styles, add redirects --- docs/overview.md | 2 +- .../billing-information.md | 0 docs/{ => references}/glossary.md | 0 docs/{get-started => references}/referrals.md | 0 docusaurus.config.js | 14 +++++++- sidebars.js | 34 +++++++++++-------- src/css/custom.css | 34 +++++++++++++++++++ 7 files changed, 68 insertions(+), 16 deletions(-) rename docs/{get-started => references}/billing-information.md (100%) rename docs/{ => references}/glossary.md (100%) rename docs/{get-started => references}/referrals.md (100%) diff --git a/docs/overview.md b/docs/overview.md index 13046efe..06ef6041 100644 --- a/docs/overview.md +++ b/docs/overview.md @@ -1,5 +1,5 @@ --- -title: Overview +title: Introduction description: "RunPod is a cloud computing platform for AI, machine learning, and general compute, offering GPU and CPU resources, serverless computing, and a Command Line Interface for easy deployment and development." sidebar_position: 1 --- diff --git a/docs/get-started/billing-information.md b/docs/references/billing-information.md similarity index 100% rename from docs/get-started/billing-information.md rename to docs/references/billing-information.md diff --git a/docs/glossary.md b/docs/references/glossary.md similarity index 100% rename from docs/glossary.md rename to docs/references/glossary.md diff --git a/docs/get-started/referrals.md b/docs/references/referrals.md similarity index 100% rename from docs/get-started/referrals.md rename to docs/references/referrals.md diff --git a/docusaurus.config.js b/docusaurus.config.js index e9be839f..300fcf6d 100644 --- a/docusaurus.config.js +++ b/docusaurus.config.js @@ -206,7 +206,7 @@ const config = { }, docs: { sidebar: { - hideable: true, + hideable: false, }, }, /* announcementBar: { @@ -283,6 +283,18 @@ const config = { to: '/serverless/endpoints/operations', from: '/serverless/endpoints/job-operations', }, + { + to: '/references/glossary', + from: '/glossary', + }, + { + to: '/references/billing-information', + from: '/get-started/billing-information', + }, + { + to: '/references/referrals', + from: '/get-started/referrals', + } ] }, ] diff --git a/sidebars.js b/sidebars.js index 902ffc6b..e79a0865 100644 --- a/sidebars.js +++ b/sidebars.js @@ -1,18 +1,20 @@ module.exports = { // Sidebar for "Get Started" docsSidebar: [ - { - type: "doc", - id: "overview", - }, - { - type: "doc", - id: "get-started", - }, + { type: "category", - label: "Setup & configuration", + label: "Get started", + collapsible: false, items: [ + { + type: "doc", + id: "overview", + }, + { + type: "doc", + id: "get-started", + }, { type: "autogenerated", dirName: "get-started", @@ -22,6 +24,7 @@ module.exports = { { type: "category", label: "Serverless", + collapsible: false, items: [ { type: "autogenerated", @@ -32,6 +35,7 @@ module.exports = { { type: "category", label: "Pods", + collapsible: false, items: [ { type: "autogenerated", @@ -41,7 +45,8 @@ module.exports = { }, { type: "category", - label: "runpodctl", + label: "RunPod CLl", + collapsible: false, items: [ { type: "autogenerated", @@ -57,6 +62,7 @@ module.exports = { { type: "category", label: "Instant Clusters", + collapsible: false, items: [ { type: "autogenerated", @@ -67,6 +73,7 @@ module.exports = { { type: "category", label: "SDKs", + collapsible: false, items: [ { type: "autogenerated", @@ -77,6 +84,7 @@ module.exports = { { type: "category", label: "Integrations", + collapsible: false, link: { type: "doc", id: "integrations/overview", @@ -99,6 +107,7 @@ module.exports = { { type: "category", label: "Hosting", + collapsible: false, items: [ { type: "autogenerated", @@ -109,6 +118,7 @@ module.exports = { { type: "category", label: "References", + collapsible: false, items: [ { type: "autogenerated", @@ -121,10 +131,6 @@ module.exports = { }, ], }, - { - type: "doc", - id: "glossary", - }, ], // Sidebar for "Tutorials" diff --git a/src/css/custom.css b/src/css/custom.css index 10907bfb..42f7abec 100644 --- a/src/css/custom.css +++ b/src/css/custom.css @@ -140,3 +140,37 @@ html[data-theme='dark'] .menu__link--active { aside.theme-doc-sidebar-container { border-right: none !important; } + +.main-wrapper { + margin-bottom: 2rem !important; /* Adjust this value as needed */ +} + + +/* nav.menu > ul.menu__list > li.menu__list-item > a.menu__link:not(.menu__link--sublist) { + text-transform: uppercase; + font-weight: bold; +} */ + +.theme-doc-sidebar-item-category-level-1 > div > a +/* nav.menu > ul.menu__list > li.menu__list-item > a.menu__link:not(.menu__link--sublist) */ +{ + text-transform: uppercase !important; + font-weight: bold !important; + font-size:70%; + letter-spacing: 0.5px; /* Optional: improve readability of uppercase text */ + margin-top: 1rem; + /* padding-bottom: 0.5rem; */ +} + +.theme-doc-sidebar-item-category-level-1 > div:hover{ + background-color: transparent !important; +} + +.menu__link--sublist:hover { + background-color: transparent !important; + color: var(--ifm-menu-color) !important; +} + +.pagination-nav { + display: none; + } \ No newline at end of file From cf5d83b5cd161e3e11f258da7c9c1ca2cf06b2d0 Mon Sep 17 00:00:00 2001 From: Mo King Date: Mon, 21 Apr 2025 20:33:15 -0400 Subject: [PATCH 2/9] Reorganize tutorials TOC --- docs/fine-tune/index.md | 2 +- .../introduction/containers/containers.md | 117 +++++++++++++++++ .../introduction/containers/overview.md | 119 ++---------------- docs/tutorials/introduction/overview.md | 80 ++++++++++-- docs/tutorials/overview.md | 76 ----------- docs/tutorials/serverless/cpu/_category_.json | 11 -- .../serverless/{gpu => }/decoded_image.png | Bin .../{gpu => }/generate-sdxl-turbo.md | 0 docs/tutorials/serverless/gpu/_category_.json | 11 -- .../serverless/{gpu => }/run-gemma-7b.md | 0 .../{cpu => }/run-ollama-inference.md | 0 .../serverless/{gpu => }/run-your-first.md | 0 sidebars.js | 30 +++-- src/css/custom.css | 22 ++-- 14 files changed, 226 insertions(+), 242 deletions(-) create mode 100644 docs/tutorials/introduction/containers/containers.md delete mode 100644 docs/tutorials/overview.md delete mode 100644 docs/tutorials/serverless/cpu/_category_.json rename docs/tutorials/serverless/{gpu => }/decoded_image.png (100%) rename docs/tutorials/serverless/{gpu => }/generate-sdxl-turbo.md (100%) delete mode 100644 docs/tutorials/serverless/gpu/_category_.json rename docs/tutorials/serverless/{gpu => }/run-gemma-7b.md (100%) rename docs/tutorials/serverless/{cpu => }/run-ollama-inference.md (100%) rename docs/tutorials/serverless/{gpu => }/run-your-first.md (100%) diff --git a/docs/fine-tune/index.md b/docs/fine-tune/index.md index 773e8440..1b7397a4 100644 --- a/docs/fine-tune/index.md +++ b/docs/fine-tune/index.md @@ -1,5 +1,5 @@ --- -title: Fine Tune a model +title: Fine-tune a model description: "Learn how to Fine Tune a model using Axolotl" sidebar_position: 1 --- diff --git a/docs/tutorials/introduction/containers/containers.md b/docs/tutorials/introduction/containers/containers.md new file mode 100644 index 00000000..00d67bde --- /dev/null +++ b/docs/tutorials/introduction/containers/containers.md @@ -0,0 +1,117 @@ +--- +title: Intro to containers +sidebar_position: 2 +description: "Discover the world of containerization with Docker, a platform for isolated environments that package applications, frameworks, and libraries into self-contained containers for consistent and reliable deployment across diverse computing environments." +--- + +## What are containers? + +> A container is an isolated environment for your code. This means that a container has no knowledge of your operating system, or your files. It runs on the environment provided to you by Docker Desktop. Containers have everything that your code needs in order to run, down to a base operating system. + +[From Docker's website](https://docs.docker.com/guides/walkthroughs/what-is-a-container/#:~:text=A%20container%20is%20an%20isolated,to%20a%20base%20operating%20system) + +Developers package their applications, frameworks, and libraries into a Docker container. Then, those containers can run outside their development environment. + +### Why use containers? + +> Build, ship, and run anywhere. + +Containers are self-contained and run anywhere Docker runs. This means you can run a container on-premises or in the cloud, as well as in hybrid environments. +Containers include both the application and any dependencies, such as libraries and frameworks, configuration data, and certificates needed to run your application. + +In cloud computing, you get the best cold start times with containers. + +## What are images? + +Docker images are fixed templates for creating containers. They ensure that applications operate consistently and reliably across different environments, which is vital for modern software development. + +To create Docker images, you use a process known as "Docker build." This process uses a Dockerfile, a text document containing a sequence of commands, as instructions guiding Docker on how to build the image. + +### Why use images? + +Using Docker images helps in various stages of software development, including testing, development, and deployment. Images ensure a seamless workflow across diverse computing environments. + +### Why not use images? + +You must rebuild and push the container image, then edit your endpoint to use the new image each time you iterate on your code. Since development requires changing your code every time you need to troubleshoot a problem or add a feature, this workflow can be inconvenient. + +For a streamlined development workflow, check out [RunPod projects](/docs/runpodctl/projects/overview.md). When you're done with development, you can create a Dockerfile from your project to reduce initialization overhead in production. + +### What is Docker Hub? + +After their creation, Docker images are stored in a registry, such as Docker Hub. +From these registries, you can download images and use them to generate containers, which make it easy to widely distribute and deploy applications. + +Now that you've got an understanding of Docker, containers, images, and whether containerization is right for you, let's move on to installing Docker. + +## Installing Docker + +For this walkthrough, install Docker Desktop. +Docker Desktop bundles a variety of tools including: + +- Docker GUI +- Docker CLI +- Docker extensions +- Docker Compose + +The majority of this walkthrough uses the Docker CLI, but feel free to use the GUI if you prefer. + +For the best installation experience, see Docker's [official documentation](https://docs.docker.com/get-docker/). + +### Running your first command + +Now that you've installed Docker, open a terminal window and run the following command: + +```command +docker version +``` + +You should see something similar to the following output. + +```text +docker version +Client: Docker Engine - Community + Version: 24.0.7 + API version: 1.43 + Go version: go1.21.3 + Git commit: afdd53b4e3 + Built: Thu Oct 26 07:06:42 2023 + OS/Arch: darwin/arm64 + Context: desktop-linux + +Server: Docker Desktop 4.26.1 (131620) + Engine: + Version: 24.0.7 + API version: 1.43 (minimum version 1.12) + Go version: go1.20.10 + Git commit: 311b9ff + Built: Thu Oct 26 09:08:15 2023 + OS/Arch: linux/arm64 + Experimental: false + containerd: + Version: 1.6.25 + GitCommit: abcd + runc: + Version: 1.1.10 + GitCommit: v1.1.10-0-g18a0cb0 + docker-init: + Version: 0.19.0 +``` + +If at any point you need help with a command, you can use the `--help` flag to see documentation on the command you're running. + +```command +docker --help +``` + +Let's run `busybox` from the command line to print out today's date. + +```command +docker run busybox sh -c 'echo "The time is: $(date)"' +# The time is: Thu Jan 11 06:35:39 UTC 2024 +``` + +- `busybox` is a lightweight Docker image with the bare minimum Linux utilities installed, including `echo` +- The `echo` command prints the container's uptime. + +You've successfully installed Docker and run your first commands. diff --git a/docs/tutorials/introduction/containers/overview.md b/docs/tutorials/introduction/containers/overview.md index 0fe61aa7..f2613cca 100644 --- a/docs/tutorials/introduction/containers/overview.md +++ b/docs/tutorials/introduction/containers/overview.md @@ -1,117 +1,14 @@ --- -title: Containers overview +title: Overview sidebar_position: 1 -description: "Discover the world of containerization with Docker, a platform for isolated environments that package applications, frameworks, and libraries into self-contained containers for consistent and reliable deployment across diverse computing environments." +description: Learn how to build and deploy applications on the RunPod platform with this set of tutorials, covering tools, technologies, and deployment methods, including Containers, Docker, and Serverless implementation. --- -## What are containers? +This set of tutorials is meant to provide a deeper understanding of the tools that surround the RunPod platform. +These tutorials help you understand how to use the RunPod platform to build and deploy your applications. -> A container is an isolated environment for your code. This means that a container has no knowledge of your operating system, or your files. It runs on the environment provided to you by Docker Desktop. Containers have everything that your code needs in order to run, down to a base operating system. +While the documentation around the introduction section gives a holistic view and enough information to get started with RunPod, for more detailed information on the various of these tools or technologies, reach out to the source material. -[From Docker's website](https://docs.docker.com/guides/walkthroughs/what-is-a-container/#:~:text=A%20container%20is%20an%20isolated,to%20a%20base%20operating%20system) - -Developers package their applications, frameworks, and libraries into a Docker container. Then, those containers can run outside their development environment. - -### Why use containers? - -> Build, ship, and run anywhere. - -Containers are self-contained and run anywhere Docker runs. This means you can run a container on-premises or in the cloud, as well as in hybrid environments. -Containers include both the application and any dependencies, such as libraries and frameworks, configuration data, and certificates needed to run your application. - -In cloud computing, you get the best cold start times with containers. - -## What are images? - -Docker images are fixed templates for creating containers. They ensure that applications operate consistently and reliably across different environments, which is vital for modern software development. - -To create Docker images, you use a process known as "Docker build." This process uses a Dockerfile, a text document containing a sequence of commands, as instructions guiding Docker on how to build the image. - -### Why use images? - -Using Docker images helps in various stages of software development, including testing, development, and deployment. Images ensure a seamless workflow across diverse computing environments. - -### Why not use images? - -You must rebuild and push the container image, then edit your endpoint to use the new image each time you iterate on your code. Since development requires changing your code every time you need to troubleshoot a problem or add a feature, this workflow can be inconvenient. - -For a streamlined development workflow, check out [RunPod projects](/docs/runpodctl/projects/overview.md). When you're done with development, you can create a Dockerfile from your project to reduce initialization overhead in production. - -### What is Docker Hub? - -After their creation, Docker images are stored in a registry, such as Docker Hub. -From these registries, you can download images and use them to generate containers, which make it easy to widely distribute and deploy applications. - -Now that you've got an understanding of Docker, containers, images, and whether containerization is right for you, let's move on to installing Docker. - -## Installing Docker - -For this walkthrough, install Docker Desktop. -Docker Desktop bundles a variety of tools including: - -- Docker GUI -- Docker CLI -- Docker extensions -- Docker Compose - -The majority of this walkthrough uses the Docker CLI, but feel free to use the GUI if you prefer. - -For the best installation experience, see Docker's [official documentation](https://docs.docker.com/get-docker/). - -### Running your first command - -Now that you've installed Docker, open a terminal window and run the following command: - -```command -docker version -``` - -You should see something similar to the following output. - -```text -docker version -Client: Docker Engine - Community - Version: 24.0.7 - API version: 1.43 - Go version: go1.21.3 - Git commit: afdd53b4e3 - Built: Thu Oct 26 07:06:42 2023 - OS/Arch: darwin/arm64 - Context: desktop-linux - -Server: Docker Desktop 4.26.1 (131620) - Engine: - Version: 24.0.7 - API version: 1.43 (minimum version 1.12) - Go version: go1.20.10 - Git commit: 311b9ff - Built: Thu Oct 26 09:08:15 2023 - OS/Arch: linux/arm64 - Experimental: false - containerd: - Version: 1.6.25 - GitCommit: abcd - runc: - Version: 1.1.10 - GitCommit: v1.1.10-0-g18a0cb0 - docker-init: - Version: 0.19.0 -``` - -If at any point you need help with a command, you can use the `--help` flag to see documentation on the command you're running. - -```command -docker --help -``` - -Let's run `busybox` from the command line to print out today's date. - -```command -docker run busybox sh -c 'echo "The time is: $(date)"' -# The time is: Thu Jan 11 06:35:39 UTC 2024 -``` - -- `busybox` is a lightweight Docker image with the bare minimum Linux utilities installed, including `echo` -- The `echo` command prints the container's uptime. - -You've successfully installed Docker and run your first commands. +- If you are looking for an understanding of Containers and Docker, see [Container overview](/tutorials/introduction/containers/overview). +- If you are looking to run your first Pod with RunPod, see [Run your first Fast Stable Diffusion with Jupyter Notebook](/tutorials/pods/run-your-first). +- For Serverless implementation, see [Run your first serverless endpoint with Stable Diffusion](/tutorials/serverless/gpu/run-your-first). diff --git a/docs/tutorials/introduction/overview.md b/docs/tutorials/introduction/overview.md index f2613cca..fbe1a5d7 100644 --- a/docs/tutorials/introduction/overview.md +++ b/docs/tutorials/introduction/overview.md @@ -1,14 +1,76 @@ --- -title: Overview -sidebar_position: 1 -description: Learn how to build and deploy applications on the RunPod platform with this set of tutorials, covering tools, technologies, and deployment methods, including Containers, Docker, and Serverless implementation. + +title: Overview +sidebar_position: 1 +description: Learn how to build and deploy applications on the RunPod platform with this set of tutorials. Covering tools, technologies, and deployment methods, including Containers, Docker, and Serverless implementation. --- -This set of tutorials is meant to provide a deeper understanding of the tools that surround the RunPod platform. -These tutorials help you understand how to use the RunPod platform to build and deploy your applications. +Learn how to build and deploy applications on the RunPod platform with this set of tutorials. Covering tools, technologies, and deployment methods, including Containers, Docker, and Serverless implementation. + +## Serverless + +Explore how to run and deploy AI applications using RunPod's Serverless platform. + +### GPUs + +- [Generate images with SDXL Turbo](/tutorials/serverless/gpu/generate-sdxl-turbo): Learn how to build a web application using RunPod's Serverless Workers and SDXL Turbo from Stability AI, a fast text-to-image model, and send requests to an Endpoint to generate images from text-based inputs. +- [Run Google's Gemma model](/tutorials/serverless/gpu/run-gemma-7b): Deploy Google's Gemma model on RunPod's vLLM Worker, create a Serverless Endpoint, and interact with the model using OpenAI APIs and Python. +- [Run your first serverless endpoint with Stable Diffusion](/tutorials/serverless/gpu/run-your-first): Use RunPod's Stable Diffusion v1 inference endpoint to generate images, set up your serverless worker, start a job, check job status, and retrieve results. + +### CPUs + +- [Run an Ollama Server on a RunPod CPU](/tutorials/serverless/cpu/run-ollama-inference): Set up and run an Ollama server on RunPod CPU for inference with this step-by-step tutorial. + +## Pods + +Discover how to leverage RunPod Pods to run and manage your AI applications. + +### GPUs + +- [Fine tune an LLM with Axolotl on RunPod](/tutorials/pods/fine-tune-llm-axolotl): Learn how to fine-tune large language models with Axolotl on RunPod, a streamlined workflow for configuring and training AI models with GPU resources, and explore examples for LLaMA2, Gemma, LLaMA3, and Jamba. +- [Run Fooocus in Jupyter Notebook](/tutorials/pods/run-fooocus): Learn how to run Fooocus, an open-source image generating model, in a Jupyter Notebook and launch the Gradio-based interface in under 5 minutes, with minimal requirements of 4GB Nvidia GPU memory and 8GB system memory. +- [How To Connect to a Pod Instance through VSCode](/tutorials/pods/connect-to-vscode): Learn how to connect to a RunPod Pod instance through VSCode for seamless development and management. +- [Build Docker Images on Runpod with Bazel](/tutorials/pods/build-docker-images): Learn how to build Docker images on RunPod using Bazel, a powerful build tool for creating consistent and efficient builds. +- [Set up Ollama on your GPU Pod](/tutorials/pods/run-ollama): Set up Ollama, a powerful language model, on a GPU Pod using RunPod, and interact with it through HTTP API requests, harnessing the power of GPU acceleration for your AI projects. +- [Run your first Fast Stable Diffusion with Jupyter Notebook](/tutorials/pods/run-your-first): Deploy a Jupyter Notebook to RunPod and generate your first image with Stable Diffusion in just 20 minutes, requiring Hugging Face user access token, RunPod infrastructure, and basic familiarity with the platform. + +### CPUs + +- [Run Docker in Docker on RunPod CPU Instances](/tutorials/pods/run-docker-in-docker): Learn how to run Docker in Docker on RunPod CPU instances for enhanced development and testing capabilities. + +## Containers + +Understand the use of Docker images and containers within the RunPod ecosystem. + +- [Persist data outside of containers](/tutorials/introduction/containers/persist-data): Learn how to persist data outside of containers by creating named volumes, mounting volumes to data directories, and accessing persisted data from multiple container runs and removals in Docker. +- [Containers overview](/tutorials/introduction/containers/overview): Discover the world of containerization with Docker, a platform for isolated environments that package applications, frameworks, and libraries into self-contained containers for consistent and reliable deployment across diverse computing environments. +- [Dockerfile](/tutorials/introduction/containers/create-dockerfiles): Learn how to create a Dockerfile to customize a Docker image and use an entrypoint script to run a command when the container starts, making it a reusable and executable unit for deploying and sharing applications. +- [Docker commands](/tutorials/introduction/containers/docker-commands): RunPod enables BYOC development with Docker, providing a reference sheet for commonly used Docker commands, including login, images, containers, Dockerfile, volumes, network, and execute. + +## Integrations + +Explore how to integrate RunPod with other tools and platforms like OpenAI, SkyPilot, and Charm's Mods. + +### OpenAI + +- [Overview](/tutorials/migrations/openai/overview): Use the OpenAI SDK to integrate with your Serverless Endpoints. + +### SkyPilot + +- [Running RunPod on SkyPilot](/integrations/skypilot): Learn how to deploy Pods from RunPod using SkyPilot. + +### Mods + +- [Running RunPod on Mods](/integrations/mods): Learn to integrate into Charm's Mods tool chain and use RunPod as the Serverless Endpoint. + +## Migration + +Learn how to migrate from other tools and technologies to RunPod. + +### Cog + +- [Cog Migration](/tutorials/migrations/cog/overview): Migrate your Cog model from [Replicate.com](https://www.replicate.com) to RunPod by following this step-by-step guide, covering setup, model identification, Docker image building, and serverless endpoint creation. -While the documentation around the introduction section gives a holistic view and enough information to get started with RunPod, for more detailed information on the various of these tools or technologies, reach out to the source material. +### Banana -- If you are looking for an understanding of Containers and Docker, see [Container overview](/tutorials/introduction/containers/overview). -- If you are looking to run your first Pod with RunPod, see [Run your first Fast Stable Diffusion with Jupyter Notebook](/tutorials/pods/run-your-first). -- For Serverless implementation, see [Run your first serverless endpoint with Stable Diffusion](/tutorials/serverless/gpu/run-your-first). +- [Banana migration](/tutorials/migrations/banana/overview): Quickly migrate from Banana to RunPod with Docker, leveraging a bridge between the two environments for a seamless transition. Utilize a Dockerfile to encapsulate your environment and deploy existing projects to RunPod with minimal adjustments. diff --git a/docs/tutorials/overview.md b/docs/tutorials/overview.md deleted file mode 100644 index fbe1a5d7..00000000 --- a/docs/tutorials/overview.md +++ /dev/null @@ -1,76 +0,0 @@ ---- - -title: Overview -sidebar_position: 1 -description: Learn how to build and deploy applications on the RunPod platform with this set of tutorials. Covering tools, technologies, and deployment methods, including Containers, Docker, and Serverless implementation. ---- - -Learn how to build and deploy applications on the RunPod platform with this set of tutorials. Covering tools, technologies, and deployment methods, including Containers, Docker, and Serverless implementation. - -## Serverless - -Explore how to run and deploy AI applications using RunPod's Serverless platform. - -### GPUs - -- [Generate images with SDXL Turbo](/tutorials/serverless/gpu/generate-sdxl-turbo): Learn how to build a web application using RunPod's Serverless Workers and SDXL Turbo from Stability AI, a fast text-to-image model, and send requests to an Endpoint to generate images from text-based inputs. -- [Run Google's Gemma model](/tutorials/serverless/gpu/run-gemma-7b): Deploy Google's Gemma model on RunPod's vLLM Worker, create a Serverless Endpoint, and interact with the model using OpenAI APIs and Python. -- [Run your first serverless endpoint with Stable Diffusion](/tutorials/serverless/gpu/run-your-first): Use RunPod's Stable Diffusion v1 inference endpoint to generate images, set up your serverless worker, start a job, check job status, and retrieve results. - -### CPUs - -- [Run an Ollama Server on a RunPod CPU](/tutorials/serverless/cpu/run-ollama-inference): Set up and run an Ollama server on RunPod CPU for inference with this step-by-step tutorial. - -## Pods - -Discover how to leverage RunPod Pods to run and manage your AI applications. - -### GPUs - -- [Fine tune an LLM with Axolotl on RunPod](/tutorials/pods/fine-tune-llm-axolotl): Learn how to fine-tune large language models with Axolotl on RunPod, a streamlined workflow for configuring and training AI models with GPU resources, and explore examples for LLaMA2, Gemma, LLaMA3, and Jamba. -- [Run Fooocus in Jupyter Notebook](/tutorials/pods/run-fooocus): Learn how to run Fooocus, an open-source image generating model, in a Jupyter Notebook and launch the Gradio-based interface in under 5 minutes, with minimal requirements of 4GB Nvidia GPU memory and 8GB system memory. -- [How To Connect to a Pod Instance through VSCode](/tutorials/pods/connect-to-vscode): Learn how to connect to a RunPod Pod instance through VSCode for seamless development and management. -- [Build Docker Images on Runpod with Bazel](/tutorials/pods/build-docker-images): Learn how to build Docker images on RunPod using Bazel, a powerful build tool for creating consistent and efficient builds. -- [Set up Ollama on your GPU Pod](/tutorials/pods/run-ollama): Set up Ollama, a powerful language model, on a GPU Pod using RunPod, and interact with it through HTTP API requests, harnessing the power of GPU acceleration for your AI projects. -- [Run your first Fast Stable Diffusion with Jupyter Notebook](/tutorials/pods/run-your-first): Deploy a Jupyter Notebook to RunPod and generate your first image with Stable Diffusion in just 20 minutes, requiring Hugging Face user access token, RunPod infrastructure, and basic familiarity with the platform. - -### CPUs - -- [Run Docker in Docker on RunPod CPU Instances](/tutorials/pods/run-docker-in-docker): Learn how to run Docker in Docker on RunPod CPU instances for enhanced development and testing capabilities. - -## Containers - -Understand the use of Docker images and containers within the RunPod ecosystem. - -- [Persist data outside of containers](/tutorials/introduction/containers/persist-data): Learn how to persist data outside of containers by creating named volumes, mounting volumes to data directories, and accessing persisted data from multiple container runs and removals in Docker. -- [Containers overview](/tutorials/introduction/containers/overview): Discover the world of containerization with Docker, a platform for isolated environments that package applications, frameworks, and libraries into self-contained containers for consistent and reliable deployment across diverse computing environments. -- [Dockerfile](/tutorials/introduction/containers/create-dockerfiles): Learn how to create a Dockerfile to customize a Docker image and use an entrypoint script to run a command when the container starts, making it a reusable and executable unit for deploying and sharing applications. -- [Docker commands](/tutorials/introduction/containers/docker-commands): RunPod enables BYOC development with Docker, providing a reference sheet for commonly used Docker commands, including login, images, containers, Dockerfile, volumes, network, and execute. - -## Integrations - -Explore how to integrate RunPod with other tools and platforms like OpenAI, SkyPilot, and Charm's Mods. - -### OpenAI - -- [Overview](/tutorials/migrations/openai/overview): Use the OpenAI SDK to integrate with your Serverless Endpoints. - -### SkyPilot - -- [Running RunPod on SkyPilot](/integrations/skypilot): Learn how to deploy Pods from RunPod using SkyPilot. - -### Mods - -- [Running RunPod on Mods](/integrations/mods): Learn to integrate into Charm's Mods tool chain and use RunPod as the Serverless Endpoint. - -## Migration - -Learn how to migrate from other tools and technologies to RunPod. - -### Cog - -- [Cog Migration](/tutorials/migrations/cog/overview): Migrate your Cog model from [Replicate.com](https://www.replicate.com) to RunPod by following this step-by-step guide, covering setup, model identification, Docker image building, and serverless endpoint creation. - -### Banana - -- [Banana migration](/tutorials/migrations/banana/overview): Quickly migrate from Banana to RunPod with Docker, leveraging a bridge between the two environments for a seamless transition. Utilize a Dockerfile to encapsulate your environment and deploy existing projects to RunPod with minimal adjustments. diff --git a/docs/tutorials/serverless/cpu/_category_.json b/docs/tutorials/serverless/cpu/_category_.json deleted file mode 100644 index aaabb92d..00000000 --- a/docs/tutorials/serverless/cpu/_category_.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "position": 2, - "label": "CPU", - "collapsible": true, - "collapsed": false, - "className": "red", - "link": { - "type": "generated-index", - "title": "CPU Tutorials" - } -} diff --git a/docs/tutorials/serverless/gpu/decoded_image.png b/docs/tutorials/serverless/decoded_image.png similarity index 100% rename from docs/tutorials/serverless/gpu/decoded_image.png rename to docs/tutorials/serverless/decoded_image.png diff --git a/docs/tutorials/serverless/gpu/generate-sdxl-turbo.md b/docs/tutorials/serverless/generate-sdxl-turbo.md similarity index 100% rename from docs/tutorials/serverless/gpu/generate-sdxl-turbo.md rename to docs/tutorials/serverless/generate-sdxl-turbo.md diff --git a/docs/tutorials/serverless/gpu/_category_.json b/docs/tutorials/serverless/gpu/_category_.json deleted file mode 100644 index ae8e4b84..00000000 --- a/docs/tutorials/serverless/gpu/_category_.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "position": 2, - "label": "GPU", - "collapsible": true, - "collapsed": false, - "className": "red", - "link": { - "type": "generated-index", - "title": "GPU Tutorials" - } -} diff --git a/docs/tutorials/serverless/gpu/run-gemma-7b.md b/docs/tutorials/serverless/run-gemma-7b.md similarity index 100% rename from docs/tutorials/serverless/gpu/run-gemma-7b.md rename to docs/tutorials/serverless/run-gemma-7b.md diff --git a/docs/tutorials/serverless/cpu/run-ollama-inference.md b/docs/tutorials/serverless/run-ollama-inference.md similarity index 100% rename from docs/tutorials/serverless/cpu/run-ollama-inference.md rename to docs/tutorials/serverless/run-ollama-inference.md diff --git a/docs/tutorials/serverless/gpu/run-your-first.md b/docs/tutorials/serverless/run-your-first.md similarity index 100% rename from docs/tutorials/serverless/gpu/run-your-first.md rename to docs/tutorials/serverless/run-your-first.md diff --git a/sidebars.js b/sidebars.js index e79a0865..dda59274 100644 --- a/sidebars.js +++ b/sidebars.js @@ -45,7 +45,7 @@ module.exports = { }, { type: "category", - label: "RunPod CLl", + label: "RunPod CLI", collapsible: false, items: [ { @@ -54,11 +54,6 @@ module.exports = { }, ], }, - { - type: "doc", - id: "fine-tune/index", - label: "Fine-tune a model", - }, { type: "category", label: "Instant Clusters", @@ -70,6 +65,17 @@ module.exports = { }, ], }, + { + type: "category", + label: "Fine-tuning", + collapsible: false, + items: [ + { + type: "autogenerated", + dirName: "fine-tune", + }, + ], + }, { type: "category", label: "SDKs", @@ -135,23 +141,22 @@ module.exports = { // Sidebar for "Tutorials" tutorialsSidebar: [ - { - type: "doc", - id: "tutorials/overview", - }, { type: "category", label: "Introduction", + collapsible: false, items: [ { type: "autogenerated", dirName: "tutorials/introduction", + }, ], }, { type: "category", label: "Serverless", + collapsible: false, items: [ { type: "autogenerated", @@ -162,6 +167,7 @@ module.exports = { { type: "category", label: "Pods", + collapsible: false, items: [ { type: "autogenerated", @@ -172,6 +178,7 @@ module.exports = { { type: "category", label: "SDKs", + collapsible: false, items: [ { type: "autogenerated", @@ -182,7 +189,8 @@ module.exports = { { type: "category", label: "Migrations", - items: [ + collapsible: false, + items: [ { type: "autogenerated", dirName: "tutorials/migrations", diff --git a/src/css/custom.css b/src/css/custom.css index 42f7abec..a77bf5e2 100644 --- a/src/css/custom.css +++ b/src/css/custom.css @@ -141,18 +141,8 @@ aside.theme-doc-sidebar-container { border-right: none !important; } -.main-wrapper { - margin-bottom: 2rem !important; /* Adjust this value as needed */ -} - - -/* nav.menu > ul.menu__list > li.menu__list-item > a.menu__link:not(.menu__link--sublist) { - text-transform: uppercase; - font-weight: bold; -} */ - -.theme-doc-sidebar-item-category-level-1 > div > a -/* nav.menu > ul.menu__list > li.menu__list-item > a.menu__link:not(.menu__link--sublist) */ +.theme-doc-sidebar-item-category-level-1 > div > a, +nav.menu > ul.menu__list > li.menu__list-item > a.menu__link:not(.menu__link--sublist) { text-transform: uppercase !important; font-weight: bold !important; @@ -173,4 +163,12 @@ aside.theme-doc-sidebar-container { .pagination-nav { display: none; + } + + .menu { + padding-bottom: 3rem !important; /* Adjust this value as needed */ + } + + .main-wrapper { + margin-bottom: 3rem !important; /* Adjust this value as needed */ } \ No newline at end of file From cc8285e68a61efe5a9dff4f1f57cfc89afe631d5 Mon Sep 17 00:00:00 2001 From: Mo King Date: Mon, 21 Apr 2025 20:36:53 -0400 Subject: [PATCH 3/9] Add tutorial redirects --- docusaurus.config.js | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/docusaurus.config.js b/docusaurus.config.js index 300fcf6d..9f5507fc 100644 --- a/docusaurus.config.js +++ b/docusaurus.config.js @@ -268,9 +268,12 @@ const config = { else if (existingPath.startsWith("/serverless/development/")) { redirects.push(existingPath.replace("/serverless/development/", "/serverless/workers/development/")); } - if (existingPath.includes('/serverless/endpoints/')) { + else if (existingPath.includes('/serverless/endpoints/')) { redirects.push(existingPath.replace('/serverless/endpoints/', '/serverless/references/')); } + else if (existingPath.includes('/tutorials/serverless/')) { + redirects.push(existingPath.replace('tutorials/serverless/', 'tutorials/serverless/gpu/')); + } return redirects; }, @@ -294,7 +297,15 @@ const config = { { to: '/references/referrals', from: '/get-started/referrals', - } + }, + { + to: '/tutorials/introduction/overview', + from: '/tutorials/overview', + }, + { + to: '/tutorials/serverless/run-ollama-inference', + from: '/tutorials/serverless/gpu/run-ollama-inference', + }, ] }, ] From 093e0309b8b2c52febe6e83d155506ebbcbc2ff3 Mon Sep 17 00:00:00 2001 From: Mo King Date: Mon, 21 Apr 2025 20:37:48 -0400 Subject: [PATCH 4/9] Update containers link --- docs/tutorials/introduction/containers/overview.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/tutorials/introduction/containers/overview.md b/docs/tutorials/introduction/containers/overview.md index f2613cca..28b37a39 100644 --- a/docs/tutorials/introduction/containers/overview.md +++ b/docs/tutorials/introduction/containers/overview.md @@ -9,6 +9,6 @@ These tutorials help you understand how to use the RunPod platform to build and While the documentation around the introduction section gives a holistic view and enough information to get started with RunPod, for more detailed information on the various of these tools or technologies, reach out to the source material. -- If you are looking for an understanding of Containers and Docker, see [Container overview](/tutorials/introduction/containers/overview). +- If you are looking for an understanding of Containers and Docker, see [Container overview](/tutorials/introduction/containers). - If you are looking to run your first Pod with RunPod, see [Run your first Fast Stable Diffusion with Jupyter Notebook](/tutorials/pods/run-your-first). - For Serverless implementation, see [Run your first serverless endpoint with Stable Diffusion](/tutorials/serverless/gpu/run-your-first). From 3245d3ca5e9e9d00de0fd1d4aa1018f344136566 Mon Sep 17 00:00:00 2001 From: Mo King Date: Mon, 21 Apr 2025 21:44:52 -0400 Subject: [PATCH 5/9] Move SDKs to new tabs --- docusaurus.config.js | 7 +++++ sidebars.js | 63 ++++++++++++++++++++++++++++++++++++-------- 2 files changed, 59 insertions(+), 11 deletions(-) diff --git a/docusaurus.config.js b/docusaurus.config.js index 9f5507fc..7efd8b59 100644 --- a/docusaurus.config.js +++ b/docusaurus.config.js @@ -125,6 +125,13 @@ const config = { collapsed: false, label: "Tutorials", }, + { + type: "docSidebar", + position: "left", + sidebarId: "sdkSidebar", + collapsed: false, + label: "SDKs", + }, { href: "https://rest.runpod.io/v1/docs", label: "API", diff --git a/sidebars.js b/sidebars.js index dda59274..f31f5ce2 100644 --- a/sidebars.js +++ b/sidebars.js @@ -76,17 +76,6 @@ module.exports = { }, ], }, - { - type: "category", - label: "SDKs", - collapsible: false, - items: [ - { - type: "autogenerated", - dirName: "sdks", - }, - ], - }, { type: "category", label: "Integrations", @@ -198,4 +187,56 @@ module.exports = { ], }, ], + + sdkSidebar: [ + { + type: "category", + label: "Python", + collapsible: false, + items: [ + { + type: "autogenerated", + dirName: "sdks/python", + + }, + ], + }, + { + type: "category", + label: "JavaScript", + collapsible: false, + items: [ + { + type: "autogenerated", + dirName: "sdks/javascript", + + }, + ], + }, + { + type: "category", + label: "Go", + collapsible: false, + items: [ + { + type: "autogenerated", + dirName: "sdks/go", + + }, + ], + }, + { + type: "category", + label: "GraphQL", + collapsible: false, + items: [ + { + type: "autogenerated", + dirName: "sdks/graphql", + + }, + ], + }, + + ], }; From 2178fddeae2a5486124a5f41261e07860e936148 Mon Sep 17 00:00:00 2001 From: Mo King Date: Tue, 22 Apr 2025 10:25:33 -0400 Subject: [PATCH 6/9] Update endpoint category description --- docs/serverless/endpoints/_category_.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/serverless/endpoints/_category_.json b/docs/serverless/endpoints/_category_.json index 00abeee5..cd1e331e 100644 --- a/docs/serverless/endpoints/_category_.json +++ b/docs/serverless/endpoints/_category_.json @@ -3,6 +3,6 @@ "position": 6, "link": { "type": "generated-index", - "description": "Learn how to customize the serverless functions used by in your applications." + "description": "Learn how to customize the Serverless endpoints used by your applications." } } From b10aec9c0c12141f44f0d5b1d81b7bb6ae9e03bb Mon Sep 17 00:00:00 2001 From: Mo King Date: Tue, 22 Apr 2025 10:29:48 -0400 Subject: [PATCH 7/9] Unbold breadcrumbs --- src/css/custom.css | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/css/custom.css b/src/css/custom.css index a77bf5e2..437c20e9 100644 --- a/src/css/custom.css +++ b/src/css/custom.css @@ -71,9 +71,10 @@ a { font-weight: 550; } -/* Don't bold links in table of contents or github edit button */ +/* Don't bold: links in table of contents, github edit button, breadcrumbs */ .table-of-contents a, -.theme-edit-this-page { +.theme-edit-this-page, +.breadcrumbs__link { font-weight: normal; } From 74cda44b7ad99a3446a1a081aa9badf94753dc75 Mon Sep 17 00:00:00 2001 From: Mo King Date: Tue, 22 Apr 2025 10:42:38 -0400 Subject: [PATCH 8/9] Refactor CSS --- src/css/custom.css | 149 +++++++++++++++++++++++---------------------- 1 file changed, 75 insertions(+), 74 deletions(-) diff --git a/src/css/custom.css b/src/css/custom.css index 437c20e9..b80d1c55 100644 --- a/src/css/custom.css +++ b/src/css/custom.css @@ -1,24 +1,29 @@ /** - * Any CSS included here will be global. The classic template - * bundles Infima by default. Infima is a CSS framework designed to - * work well for content-centric websites. + * Global CSS for Docusaurus site + * Using Infima CSS framework as base */ -/* You can override the default Infima variables here. */ +/* ===== Theme Variables ===== */ :root { - --ifm-color-primary: #824edc; /* Your primary color */ - --ifm-color-primary-dark: #7345c3; /* Slightly darker than primary */ - --ifm-color-primary-darker: #673db1; /* Darker than primary */ - --ifm-color-primary-darkest: #573298; /* Darkest shade */ - --ifm-color-primary-light: #8e5de4; /* Slightly lighter than primary */ - --ifm-color-primary-lighter: #9a6de7; /* Lighter than primary */ - --ifm-color-primary-lightest: #a87deb; /* Lightest tint */ - --ifm-color-primary-lightest-translucent: #b594eb32; /* Even lighter tint... */ - --ifm-code-font-size: 85%; /* Adjusted code font size */ - --ifm-font-size-base: 110%; /* Adjusted font size */ - --docusaurus-highlighted-code-line-bg: rgba(0, 0, 0, 0.1); /* Highlighted code line background in light mode */ +/* Light Mode Theme Variables */ + /* Primary Color Palette */ + --ifm-color-primary: #824edc; + --ifm-color-primary-dark: #7345c3; + --ifm-color-primary-darker: #673db1; + --ifm-color-primary-darkest: #573298; + --ifm-color-primary-light: #8e5de4; + --ifm-color-primary-lighter: #9a6de7; + --ifm-color-primary-lightest: #a87deb; + --ifm-color-primary-lightest-translucent: #b594eb32; + + /* Typography */ + --ifm-code-font-size: 85%; + --ifm-font-size-base: 110%; - /* Shared variables for consistency with homepage */ + /* Code Highlighting */ + --docusaurus-highlighted-code-line-bg: rgba(0, 0, 0, 0.1); + + /* Shared UI Variables */ --primary-color: var(--ifm-color-primary); --secondary-color: var(--ifm-heading-color, #0a0c10); --card-bg: var(--ifm-card-background-color, white); @@ -30,18 +35,21 @@ --primary-color-rgb: 130, 78, 220; } -/* For readability concerns, you should choose a lighter palette in dark mode. */ +/* Dark Mode Theme Variables */ [data-theme='dark'] { - --ifm-color-primary: #a382ec; /* Primary color for dark mode */ - --ifm-color-primary-dark: #9775e3; /* Dark shade for dark mode */ - --ifm-color-primary-darker: #8c68db; /* Darker shade for dark mode */ - --ifm-color-primary-darkest: #7a59c9; /* Darkest shade for dark mode */ - --ifm-color-primary-light: #ab8eed; /* Light tint for dark mode */ - --ifm-color-primary-lighter: #b39bf0; /* Lighter tint for dark mode */ - --ifm-color-primary-lightest: #beb0f3; /* Lightest tint for dark mode */ - --docusaurus-highlighted-code-line-bg: rgba(0, 0, 0, 0.3); /* Highlighted code line background in dark mode */ + /* Primary Color Palette */ + --ifm-color-primary: #a382ec; + --ifm-color-primary-dark: #9775e3; + --ifm-color-primary-darker: #8c68db; + --ifm-color-primary-darkest: #7a59c9; + --ifm-color-primary-light: #ab8eed; + --ifm-color-primary-lighter: #b39bf0; + --ifm-color-primary-lightest: #beb0f3; + + /* Code Highlighting */ + --docusaurus-highlighted-code-line-bg: rgba(0, 0, 0, 0.3); - /* Dark mode variables for consistency with homepage */ + /* Shared UI Variables */ --primary-color: var(--ifm-color-primary); --secondary-color: var(--ifm-heading-color, #f5f5f7); --card-bg: var(--ifm-card-background-color, #1c2128); @@ -50,42 +58,31 @@ --light-text: var(--ifm-color-secondary-lightest, #a0a6b1); } -/* Custom CSS */ - -/* Reduce navbar text size */ -.navbar__item { - font-size: 0.9rem; /* Reduced font size for navbar items */ -} - -/* Reduce navbar brand/title text size */ -.navbar__title { - font-size: .9rem; /* Reduced font size for the navbar title */ -} - +/* ===== Typography ===== */ p { font-weight: 350; } -/* Bold hyperlinks */ -a { + +/* Bold text */ +a, +p strong, +p b, +li b, +li strong { font-weight: 550; } -/* Don't bold: links in table of contents, github edit button, breadcrumbs */ +/* Non-bold links */ .table-of-contents a, .theme-edit-this-page, .breadcrumbs__link { font-weight: normal; } -/* Adjust bold weight */ -p strong, -p b, -li b, -li strong { - font-weight: 550; -} + +/* ===== Headings ===== */ .markdown h1 { font-size: 185%; font-weight: 700; @@ -115,61 +112,65 @@ li strong { line-height: 1; } -/* Reduce sidebar text size */ +/* ===== Navigation ===== */ +/* Navbar */ +.navbar__item, +.navbar__title { + font-size: 0.9rem; +} + +/* Sidebar */ .menu__link { - font-size: 85%; /* Reduced text size in sidebar */ + font-size: 85%; font-weight: 350; } -/* Adjust light mode sidebar text color */ +/* Light mode sidebar */ html[data-theme='light'] .menu__link { color: #000000de; } -/* Change background of current doc title in sidebar to light purple */ -html[data-theme='light'] .menu__link--active { - color: var(--ifm-color-primary); - background-color: var(--ifm-color-primary-lightest-translucent); -} - -/* Change background of current doc title in sidebar to light purple */ +/* Active sidebar items */ +html[data-theme='light'] .menu__link--active, html[data-theme='dark'] .menu__link--active { color: var(--ifm-color-primary); background-color: var(--ifm-color-primary-lightest-translucent); } +/* Sidebar container */ aside.theme-doc-sidebar-container { border-right: none !important; } +/* Sidebar category styling */ .theme-doc-sidebar-item-category-level-1 > div > a, -nav.menu > ul.menu__list > li.menu__list-item > a.menu__link:not(.menu__link--sublist) -{ - text-transform: uppercase !important; - font-weight: bold !important; - font-size:70%; - letter-spacing: 0.5px; /* Optional: improve readability of uppercase text */ +nav.menu > ul.menu__list > li.menu__list-item > a.menu__link:not(.menu__link--sublist) { + text-transform: uppercase; + font-weight: bold; + font-size: 70%; + letter-spacing: 0.5px; margin-top: 1rem; - /* padding-bottom: 0.5rem; */ } -.theme-doc-sidebar-item-category-level-1 > div:hover{ +/* Sidebar hover states */ +.theme-doc-sidebar-item-category-level-1 > div:hover, +.menu__link--sublist:hover { background-color: transparent !important; } .menu__link--sublist:hover { - background-color: transparent !important; color: var(--ifm-menu-color) !important; } +/* ===== Layout ===== */ .pagination-nav { display: none; - } +} - .menu { - padding-bottom: 3rem !important; /* Adjust this value as needed */ - } +.menu { + padding-bottom: 3rem !important; +} - .main-wrapper { - margin-bottom: 3rem !important; /* Adjust this value as needed */ - } \ No newline at end of file +.main-wrapper { + margin-bottom: 3rem !important; +} \ No newline at end of file From bc328d8b8e1cac6fdea89fba9e2e4dbb91d7c150 Mon Sep 17 00:00:00 2001 From: Mo King Date: Tue, 22 Apr 2025 10:46:01 -0400 Subject: [PATCH 9/9] Update overview --- docs/overview.md | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/docs/overview.md b/docs/overview.md index 06ef6041..73568d5f 100644 --- a/docs/overview.md +++ b/docs/overview.md @@ -27,28 +27,26 @@ Use Serverless to: - Build and expose **REST API endpoints** with autoscaling. - Queue jobs efficiently **without managing infrastructure**. -### Get started with Serverless +Get started with Serverless: -- [Build your first Serverless app](/serverless/get-started) -- [Run any LLM as an endpoint using vLLM workers](/serverless/vllm/get-started) -- [Tutorial: Create a Serverless endpoint with Stable Diffusion](/tutorials/serverless/gpu/run-your-first) +- [Build your first Serverless app.](/serverless/get-started) +- [Run any LLM as an endpoint using vLLM workers.](/serverless/vllm/get-started) +- [Tutorial: Create a Serverless endpoint with Stable Diffusion.](/tutorials/serverless/gpu/run-your-first) ## Pods [Pods](/pods/overview) allow you to run **containerized workloads** on dedicated GPU or CPU instances. -RunPod offers two types of Pods: +RunPod offers [two types of Pods](/references/faq/#secure-cloud-vs-community-cloud). - **Secure Cloud:** Operates in T3/T4 data centers, providing high reliability and security. - **Community Cloud**: Connects individual compute providers to users through a vetted, secure peer-to-peer system. -For more info, see [Secure Cloud vs. Community Cloud](/references/faq/#secure-cloud-vs-community-cloud). +Get started with Pods: -### Get started with Pods - -- [Deploy your first Pod](/get-started) -- [Choose the right Pod](/pods/choose-a-pod) -- [Tutorial: Connect to a Pod instance with VSCode](/tutorials/pods/connect-to-vscode) +- [Deploy your first Pod.](/get-started) +- [Choose the right Pod.](/pods/choose-a-pod) +- [Tutorial: Connect to a Pod instance with VSCode.](/tutorials/pods/connect-to-vscode) ## RunPod CLI