---
title: Deploy Guide
description: Choose your deployment method
---

<DocsLang en="/docs/developer/deploy" zh="/docs/developer/deploy-zh" />

## Deploy with Vercel (Recommended)

[![Deploy with Vercel](https://vercel.com/button)](https://vercel.com/new/clone?repository-url=https://github.com/oiov/wr.do.git&project-name=wrdo&env=DATABASE_URL&env=AUTH_SECRET&env=RESEND_API_KEY&env=NEXT_PUBLIC_EMAIL_R2_DOMAIN&env=NEXT_PUBLIC_OPEN_SIGNUP&env=GITHUB_TOKEN)

Remember to fill in the necessary environment variables.

## Deploy with Docker Compose

<Callout type="warning" twClass="mt-4">
  Please create your database instance before deployment. 

  Set `SKIP_DB_CHECK` and `SKIP_DB_MIGRATION` to `false` in the `.env` file, this will start the database check and migration.
</Callout>

Create a new folder and copy the [docker-compose.yml](https://github.com/oiov/wr.do/blob/main/docker-compose.yml)、[.env](https://github.com/oiov/wr.do/blob/main/.env.example) file to the folder.

> Or only create a [docker-compose.yml](https://github.com/oiov/wr.do/blob/main/docker-compose.yml) file, just replace `${DATABASE_URL}` with your database connection url and so on.

```bash
- wrdo
  | - docker-compose.yml
  | - .env
```

Fill in the environment variables in the `.env` file, then: 

```bash
docker compose up -d
```

## Deploy with Docker Compose (Local DB)

Create a new folder and copy the `docker-compose-localdb.yml`、`.env` file to the folder.

```bash
- wrdo
  | - docker-compose.yml
  | - .env
```

Fill in the environment variables in the `.env` file, then: 

```bash
docker compose up -d
```

## Official Image

```bash
docker pull ghcr.io/oiov/wr.do/wrdo:main
```

Find the official image here: [container/wr.do](https://github.com/oiov/wr.do/pkgs/container/wr.do%2Fwrdo)

## Build Image

Fork this repository and trigger the build image action in Actions.