You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

224 lines
6.8 KiB

  1. # Install doccano
  2. Install doccano on local or in the cloud. Choose the installation method that works best for your environment:
  3. - [Install with pip](#install-with-pip)
  4. - [Install with Docker](#install-with-docker)
  5. - [Install with Docker Compose](#install-with-docker-compose)
  6. - [Install from source](#install-from-source)
  7. - [Install to cloud](#install-to-cloud)
  8. - [Upgrade doccano](#upgrade-doccano)
  9. ## System requirements
  10. You can install doccano on a Linux, Windows, or macOS machine running Python 3.8+.
  11. ### Web browser support
  12. doccano is tested with the latest version of Google Chrome and is expected to work in the latest versions of:
  13. - Google Chrome
  14. - Apple Safari
  15. If using other web browsers, or older versions of supported web browsers, unexpected behavior could occur.
  16. ### Port requirements
  17. doccano uses port 8000 by default. To use a different port, specify it when running doccano webserver.
  18. ## Install with pip
  19. To install doccano with pip, you need Python 3.8+. Run the following:
  20. ```bash
  21. pip install doccano
  22. ```
  23. After you install doccano, start the server with the following command:
  24. ```bash
  25. # Initialize database. First time only.
  26. doccano init
  27. # Create a super user. First time only.
  28. doccano createuser --username admin --password pass
  29. # Start a web server.
  30. doccano webserver --port 8000
  31. ```
  32. In another terminal, run the following command:
  33. ```bash
  34. # Start the task queue to handle file upload/download.
  35. doccano task
  36. ```
  37. Open <http://localhost:8000/>.
  38. ## Install with Docker
  39. doccano is also available as a [Docker](https://www.docker.com/) container. Make sure you have Docker installed on your machine.
  40. To install and start doccano at <http://localhost:8000>, run the following command:
  41. ```bash
  42. docker pull doccano/doccano
  43. docker container create --name doccano \
  44. -e "ADMIN_USERNAME=admin" \
  45. -e "ADMIN_EMAIL=admin@example.com" \
  46. -e "ADMIN_PASSWORD=password" \
  47. -p 8000:8000 doccano/doccano
  48. ```
  49. Next, start doccano by running the container:
  50. ```bash
  51. docker container start doccano
  52. ```
  53. To stop the container, run `docker container stop doccano -t 5`.
  54. All data created in the container persist across restarts.
  55. ### Build a local image with Docker
  56. If you want to build a local image, run:
  57. ```bash
  58. docker build -t doccano:latest . -f docker/Dockerfile
  59. ```
  60. ## Install with Docker Compose
  61. You need to install Git and to clone the repository:
  62. ```bash
  63. git clone https://github.com/doccano/doccano.git
  64. cd doccano
  65. ```
  66. To install and start doccano at <http://localhost>, run the following command:
  67. ```bash
  68. docker-compose -f docker/docker-compose.prod.yml --env-file .env up
  69. ```
  70. You can override the default setting by rewriting the `.env` file. See [./docker/.env.example](https://github.com/doccano/doccano/blob/master/docker/.env.example) in detail.
  71. ## Install from source
  72. If you want to develop doccano, consider downloading the source code using Git and running doccano locally. First of all, clone the repository:
  73. ```bash
  74. git clone https://github.com/doccano/doccano.git
  75. cd doccano
  76. ```
  77. ### Backend
  78. The doccano backend is built in Python 3.8+ and uses [Poetry](https://github.com/python-poetry/poetry) as a dependency manager. If you haven't installed them yet, please see [Python](https://www.python.org/downloads/) and [Poetry](https://python-poetry.org/docs/) documentation.
  79. First, to install the defined dependencies for our project, just run the `install` command. After that, activate the virtual environment by running `shell` command:
  80. ```bash
  81. cd backend
  82. poetry install
  83. poetry shell
  84. ```
  85. Second, set up the database and run the development server. Doccano uses [Django](https://www.djangoproject.com/) and [Django Rest Framework](https://www.django-rest-framework.org/) as a backend. We can set up them by using Django command:
  86. ```bash
  87. python manage.py migrate
  88. python manage.py create_roles
  89. python manage.py create_admin --noinput --username "admin" --email "admin@example.com" --password "password"
  90. python manage.py runserver
  91. ```
  92. In another terminal, you need to run Celery to use import/export dataset feature:
  93. ```bash
  94. cd doccano/backend
  95. celery --app=config worker --loglevel=INFO --concurrency=1
  96. ```
  97. After you change the code, don't forget to run [mypy](https://mypy.readthedocs.io/en/stable/index.html), [flake8](https://flake8.pycqa.org/en/latest/), [black](https://github.com/psf/black), and [isort](https://github.com/PyCQA/isort). These ensure code consistency. To run them, just run the following commands:
  98. ```bash
  99. poetry run task mypy
  100. poetry run task flake8
  101. poetry run task black
  102. poetry run task isort
  103. ```
  104. Similarly, you can run the test by executing the following command:
  105. ```bash
  106. poetry run task test
  107. ```
  108. Did you pass the test? Great!
  109. ### Frontend
  110. The doccano frontend is built in Node.js and uses [Yarn](https://yarnpkg.com/) as a package manager. If you haven't installed them yet, please see [Node.js](https://nodejs.org/en/) and [Yarn](https://yarnpkg.com/) documentation.
  111. First, to install the defined dependencies for our project, just run the `install` command.
  112. ```bash
  113. cd frontend
  114. yarn install
  115. ```
  116. Then run the `dev` command to serve with hot reload at <localhost:3000>:
  117. ```bash
  118. yarn dev
  119. ```
  120. ### How to create a Python package
  121. During development, you may want to create a Python package and verify it works correctly. In such a case, you can create a package by running the following command in the root directory of your project:
  122. ```bash
  123. ./tools/create-package.sh
  124. ```
  125. This command builds the frontend, copies the files, and packages them. This will take a few minutes. After finishing the command, you will find `sdist` and `wheel` in `backend/dist`:
  126. ```bash
  127. Building doccano (1.5.5.post335.dev0+6be6d198)
  128. - Building sdist
  129. - Built doccano-1.5.5.post335.dev0+6be6d198.tar.gz
  130. - Building wheel
  131. - Built doccano-1.5.5.post335.dev0+6be6d198-py3-none-any.whl
  132. ```
  133. Then, you can install the package via `pip install` command:
  134. ```bash
  135. pip install doccano-1.5.5.post335.dev0+6be6d198-py3-none-any.whl
  136. ```
  137. ## Install to cloud
  138. doccano also supports one-click deployment to cloud providers. Click the following button, configure the environment, and access the UI.
  139. | Service | Button |
  140. |---------|---|
  141. | AWS | [![AWS CloudFormation Launch Stack SVG Button](https://cdn.rawgit.com/buildkite/cloudformation-launch-stack-button-svg/master/launch-stack.svg)](https://console.aws.amazon.com/cloudformation/home?#/stacks/new?stackName=doccano&templateURL=https://doccano.s3.amazonaws.com/public/cloudformation/template.aws.yaml) |
  142. | Heroku | [![Deploy](https://www.herokucdn.com/deploy/button.svg)](https://dashboard.heroku.com/new?template=https%3A%2F%2Fgithub.com%2Fdoccano%2Fdoccano) |
  143. ## Upgrade doccano
  144. Caution: If you use SQLite3 as a database, upgrading the package would lose your database.
  145. To upgrade to the latest version of doccano, reinstall or upgrade using pip.
  146. ```bash
  147. pip install -U doccano
  148. ```
  149. If you need update the database scheme, run the following:
  150. ```bash
  151. doccano migrate
  152. ```