# Getting started
## Usage
doccano has two options to run:
- (Recommended) Docker Compose
- Docker
The usage of docker compose version is explained in the [README.md](https://github.com/doccano/doccano/blob/master/README.md#usage). We highly recommend that you should use docker compose version. However, we explain the usage of Docker version and Python/Node version for the additional information.
### Docker
As a one-time setup, create a Docker container for Doccano:
```bash
docker pull doccano/doccano
docker container create --name doccano \
-e "ADMIN_USERNAME=admin" \
-e "ADMIN_EMAIL=admin@example.com" \
-e "ADMIN_PASSWORD=password" \
-p 8000:8000 doccano/doccano
```
Next, start Doccano by running the container:
```bash
docker container start doccano
```
To stop the container, run `docker container stop doccano -t 5`.
All data created in the container will persist across restarts.
Go to .
### For Developers
You can setup local development environment as follows:
```bash
$ git clone https://github.com/doccano/doccano.git
$ cd doccano
$ docker-compose -f docker-compose.dev.yml up
```
Go to .
Or, you can setup via Python and Node.js:
### Python
```bash
$ git clone https://github.com/doccano/doccano.git
$ cd doccano
$ pipenv sync --dev
$ pipenv shell
$ cd app
$ python manage.py migrate
$ python manage.py create_roles
$ python manage.py create_admin --noinput --username "admin" --email "admin@example.com" --password "password"
$ python manage.py runserver
```
### Node.js
```bash
$ cd doccano/frontend
$ yarn install
$ yarn dev
```
Go to .