# setting up multiple annotators on Prodigy web

**URL:** <https://support.prodi.gy/t/setting-up-multiple-annotators-on-prodigy-web/5253>\
**Category:** Uncategorized\
**Tags:** usage, solved, jupyter, server\
**Created:** [January 31, 2022, 2:43pm UTC](https://support.prodi.gy/t/setting-up-multiple-annotators-on-prodigy-web/5253 "2022-01-31T14:43:01Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![Zim1-finest](https://sea2.discourse-cdn.com/flex020/user_avatar/support.prodi.gy/zim1-finest/32/2533_2.png) [@Zim1-finest](https://support.prodi.gy/u/Zim1-finest)\
**Post date:** [January 31, 2022, 2:43pm UTC](https://support.prodi.gy/t/setting-up-multiple-annotators-on-prodigy-web/5253/1 "2022-01-31T14:43:02Z")

</div>

Hello,

I would like to set up multiple annotators. I read in previous threads that the simplist way would be for me to run prodigy on different ports and assign each annotator a port and separate database.

My question is, How can I open prodigy on different port numbers? When I run `ner.manual` twice I get

`ERROR: [Errno 10048] error while attempting to bind on address ('::1', 8080, 0, 0): only one usage of each socket address (protocol/network address/port) is normally permitted`

Secondly, if sucessful how can I give access to the Prodigy web app? Do I just need to send the link to the annotation interface or there is something more?

---

<div class="post-metadata">

**Author:** ![ines](https://sea2.discourse-cdn.com/flex020/user_avatar/support.prodi.gy/ines/32/3_2.png) [@ines](https://support.prodi.gy/u/ines)\
**Post date:** [January 31, 2022, 8:16pm UTC](https://support.prodi.gy/t/setting-up-multiple-annotators-on-prodigy-web/5253/2 "2022-01-31T20:16:49Z")

</div>

Hi! Based on the error message, it sounds like you might be trying to serve Prodigy twice on the same port, which will lead to this error since something is already running on `8080` (the default port).

If you want to run it on different ports, you can use the `PRODIGY_PORT` environment variable, e.g.:

```python
PRODIGY_PORT=1234 prodigy ner.manual ...

```

> [@Zim1-finest](#):
>
> Secondly, if sucessful how can I give access to the Prodigy web app? Do I just need to send the link to the annotation interface or there is something more?

If you're serving Prodigy on the public internet or an internal network, then yes, all you need to do is point the annotators to the URL of the annotation UI. Of course, you can also make the setup more elegant by putting a reverse proxy in front of Prodigy and/or assigning it a cusom URL or subdomain – but that's not strictly necessary. You can also set up [basic auth](https://prodi.gy/docs/install#env-variables) via the respective environment variables to require a username/password to access the app.

---

<div class="post-metadata">

**Author:** ![Zim1-finest](https://sea2.discourse-cdn.com/flex020/user_avatar/support.prodi.gy/zim1-finest/32/2533_2.png) [@Zim1-finest](https://support.prodi.gy/u/Zim1-finest)\
**Post date:** [February 1, 2022, 7:46am UTC](https://support.prodi.gy/t/setting-up-multiple-annotators-on-prodigy-web/5253/3 "2022-02-01T07:46:25Z")

</div>

Hi Ines,

I usually insert !python -m before running any of my prodigy commands. I see that PRODIGY\_PORT is not a model. How can I set it. When I just run the command as below:

> PRODIGY\_PORT=3902 prodigy ner.manual...

I get: Invalid syntax

When I execute:

> !python -m prodigy PRODIGY\_PORT=3902 prodigy ner.manual...

I get the error:

```python
[x] Can't find recipe or command 'PRODIGY_PORT=3902'
Run prodigy --help to see available options. If you're using a custom recipe,
provide the path to the Python file using the -F argument.

```

This should be a python error but any ideas on how I can fix it?  
Thanks

---

<div class="post-metadata">

**Author:** ![ines](https://sea2.discourse-cdn.com/flex020/user_avatar/support.prodi.gy/ines/32/3_2.png) [@ines](https://support.prodi.gy/u/ines)\
**Post date:** [February 1, 2022, 6:54pm UTC](https://support.prodi.gy/t/setting-up-multiple-annotators-on-prodigy-web/5253/4 "2022-02-01T18:54:35Z")

</div>

The environment variable is separate from the command you're running so you want to set them _before_ you're calling `python`, i.e. `PRODIGY_PORT=1234 python -m prodigy...`. Alternatively, you can also use `export`. This page has a handy overview of how to set environment variables on Windows, Linux and Mac: [How To Set Environment Variables](https://www.twilio.com/blog/2017/01/how-to-set-environment-variables.html)

---

<div class="post-metadata">

**Author:** ![Zim1-finest](https://sea2.discourse-cdn.com/flex020/user_avatar/support.prodi.gy/zim1-finest/32/2533_2.png) [@Zim1-finest](https://support.prodi.gy/u/Zim1-finest)\
**Post date:** [February 1, 2022, 7:00pm UTC](https://support.prodi.gy/t/setting-up-multiple-annotators-on-prodigy-web/5253/5 "2022-02-01T19:00:45Z")

</div>

Hi Ines,

I havent been sucessfull with that either.

I get this upon exercution

 ![grafik](https://us1.discourse-cdn.com/flex020/uploads/prodigy/original/2X/0/000216169c272446c6ef1f3933aaae942455fe96.png)

---

<div class="post-metadata">

**Author:** ![ines](https://sea2.discourse-cdn.com/flex020/user_avatar/support.prodi.gy/ines/32/3_2.png) [@ines](https://support.prodi.gy/u/ines)\
**Post date:** [February 2, 2022, 11:18am UTC](https://support.prodi.gy/t/setting-up-multiple-annotators-on-prodigy-web/5253/6 "2022-02-02T11:18:19Z")

</div>

It looks like this might be some weirdness/quirk of Jupyter Notebooks – maybe you need to use their specific syntax instead. See here:

> <https://stackoverflow.com/questions/37890898/how-to-set-env-variable-in-jupyter-notebook/44251637#44251637>

---

<div class="post-metadata">

**Author:** ![Zim1-finest](https://sea2.discourse-cdn.com/flex020/user_avatar/support.prodi.gy/zim1-finest/32/2533_2.png) [@Zim1-finest](https://support.prodi.gy/u/Zim1-finest)\
**Post date:** [February 3, 2022, 10:17am UTC](https://support.prodi.gy/t/setting-up-multiple-annotators-on-prodigy-web/5253/7 "2022-02-03T10:17:50Z")

</div>

Thank you so much Ines,

This is indeed the solution.

I ran:

> %env PRODIGY\_PORT = 3749  
> !python -m prodigy ner.manual ...

This changed the port from localhost 8080 to localhost 3749
