---
title: Deno Middleware | Deployments
contributors:
  - adamdbradley
  - mrhoodz
  - gioboa
updated_at: '2023-02-24T09:43:33Z'
created_at: '2023-04-28T16:43:21Z'
---

import PackageManagerTabs from '~/components/package-manager-tabs/index.tsx';

# Deno Middleware

Qwik City Deno middleware allows you to hook up Qwik City to a Deno server which uses the standard Request/Response that's well supported by Deno. Some Deno server implementations include:

- [Deno's integrated HTTP server](https://docs.deno.com/runtime/tutorials/http_server)
- [Oak](https://oakserver.github.io/oak/)

## Installation

To integrate the `deno` adapter, use the `add` command:

- For the [integrated HTTP server](https://docs.deno.com/runtime/tutorials/http_server):


<PackageManagerTabs>
<span q:slot="pnpm">
```shell
pnpm run qwik add deno
```
</span>
<span q:slot="npm">
```shell
npm run qwik add deno
```
</span>
<span q:slot="yarn">
```shell
yarn run qwik add deno
```
</span>
<span q:slot="bun">
```shell
bun run qwik add deno
```
</span>
</PackageManagerTabs>

## Production build

To build the application for production, use the `build` command, this command will automatically run `build.server` and `build.client`:

<PackageManagerTabs>
<span q:slot="pnpm">
```shell
pnpm run build
```
</span>
<span q:slot="npm">
```shell
npm run build
```
</span>
<span q:slot="yarn">
```shell
yarn run build
```
</span>
<span q:slot="bun">
```shell
bun run build
```
</span>
</PackageManagerTabs>

## Serve

To start the Deno server after a build:

<PackageManagerTabs>
<span q:slot="pnpm">
```shell
pnpm run serve
```
</span>
<span q:slot="npm">
```shell
npm run serve
```
</span>
<span q:slot="yarn">
```shell
yarn run serve
```
</span>
<span q:slot="bun">
```shell
bun run serve
```
</span>
</PackageManagerTabs>

## Production deploy

Since you are choosing Deno, here you are in your own, after running the `build` command:

- The `dist` folder will be created including all the static files.
- The `server` folder will be created including all node server files.

> By default, `SSG` mode is activated. If you want to change this behavior, you can edit the `vite.config.ts` file inside the `adapters/deno` folder. In this file you can configure the behavior of the `SSG` or remove the SSG part to switch to a complete `SSR`.
