# Multi-label server setup

**URL:** <https://support.prodi.gy/t/multi-label-server-setup/6356>\
**Category:** Uncategorized\
**Created:** [February 9, 2023, 7:37pm UTC](https://support.prodi.gy/t/multi-label-server-setup/6356 "2023-02-09T19:37:16Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![lolobalolo](https://avatars.discourse-cdn.com/v4/letter/l/74df32/32.png) [@lolobalolo](https://support.prodi.gy/u/lolobalolo)\
**Post date:** [February 9, 2023, 7:37pm UTC](https://support.prodi.gy/t/multi-label-server-setup/6356/1 "2023-02-09T19:37:16Z")

</div>

Hi Everyone! non-techie here 👋 I'm curious about setting up for multiple users labeling. Does it have to be installed on a local system for each labeler, or could it be setup on one remove server that everyone can access? Likewise, if the server option, do labelers setup a VPN and label on web browser, or do labelers also setup via Python on their individual machines?

Any help here would be greatly appreciated - thank you!

---

<div class="post-metadata">

**Author:** ![ryanwesslen](https://sea2.discourse-cdn.com/flex020/user_avatar/support.prodi.gy/ryanwesslen/32/2969_2.png) [@ryanwesslen](https://support.prodi.gy/u/ryanwesslen)\
**Post date:** [February 9, 2023, 8:30pm UTC](https://support.prodi.gy/t/multi-label-server-setup/6356/2 "2023-02-09T20:30:23Z")

</div>

hi @lolobalolo!

Thanks for your question and welcome to the Prodigy community 👋

> [@lolobalolo](#):
>
> I'm curious about setting up for multiple users labeling. Does it have to be installed on a local system for each labeler, or could it be setup on one remove server that everyone can access?

Yes, typically the best way is to run Prodigy on a remote server that then serves up the UI for annotations via browser to annotators.

When you first start Prodigy, it'll run by default on your local system (host). If you're running it within say a firewalled company network, you can open it up to other machines within your network typically by modifying Prodigy configuration `"host": "localhost"` to `"host": "0.0.0.0"`:

> [@Serving on other than localhost](https://support.prodi.gy/t/serving-on-other-than-localhost/19/2):
>
> Thanks! This was actually just added in the latest release (v0.1.3) – the host setting should be included in the latest update of the documentation and on the site.

Then, typically you would provide the name of the host server (say "my\_remote\_server") along with the port number to the annotators to open in a browser: `my_remote_server:8080`. (By default, Prodigy will use port 8080 as default but you can change it through [environment variables](https://support.prodi.gy/t/run-prodigy-in-multiple-ports/5295/2) or [Prodigy's configuration](https://prodi.gy/docs/install#config)).

Things start to get more tricky if you need to open your annotations outside of a local network and to internet as a whole as I mentioned in this related post:

> [@Starting a Multi-user session](https://support.prodi.gy/t/starting-a-multi-user-session/6264/2):
>
> hi @NoorKhalifa! Thanks for your question and welcome to the Prodigy community wave Please see this post: This post too provides more details on ngrok: But as mentioned, there are a lot of ways this can be done and really depends on your setup (e.g., on-premise vs cloud, which cloud provider, security/firewall requirements, reverse proxy/load balancer). This is why there isn't a simple step-by-step tutorial. I would recommend checking out more of the [multi-user tagged posts](https://support.prodi.gy/tag/multi-user) that have …

> [@lolobalolo](#):
>
> Likewise, if the server option, do labelers setup a VPN and label on web browser, or do labelers also setup via Python on their individual machines?

**Annotators** (labelers) typically only access Prodigy's UI via Browser and would not need to set up Python locally. This is different than **developers** who are individuals who would interact with Prodigy directly (e.g., start a new process, change Python code).

> **As an aside, one important point regarding Prodigy licenses that is sometimes confused:**  
> Prodigy's licenses are issued on a developer ("seat") basis (i.e., who can access Prodigy as a developer/directly with the Python library). For example for an individual license, you would have one developer who has access to Prodigy directly (e.g., the remote server), but then he/she can have unlimited annotators and unlimited installations of Prodigy (on-premise, cloud, etc.). Same goes for company licenses, except they are sold in packs of five developer "seats", but these are issued to the company, not an individual person. Also, company licenses are **transferable** within a company while individual licenses are **non-transferrable** (i.e., whoever is listed on the license is only one who can access/modify Prodigy directly).

If you have questions on licensing/roles, I recommend searching on [Support by "licenses"](https://support.prodi.gy/search?q=licenses) and you'll find 100+ posts like:

> [@how to use the prodigy licenses?](https://support.prodi.gy/t/how-to-use-the-prodigy-licenses/4541/2):
>
> Hi! The pack of 5 licenses lets up to 5 developers use Prodigy at the same time. How you do that is really up to you and your requirements – you can run Prodigy on a local machine on localhost, run multiple instances on differen hosts/ports or deploy it in the cloud. The licenses apply to the people using Prodigy, not the machines (since that'd be really impractical). In a typical workflow, you'd probably have the developers running Prodigy on their local machines during development and to quic…

Once you get that setup running, out-of-the-box, Prodigy offers [named multi-user sessions](https://prodi.gy/docs/api-web-app#multi-user-sessions) which provide a great way to track annotators by enabling them to "name" their unique session. This allows you to know who is labeling what. Be sure to read those docs to also understand `feed_overlap` setting which if `True` will determine if everyone sees all of the same annotations (aka overlapping annotations) or `False`(or non-overlapping annotations) where the annotations are distributed across sessions on a "first-come, first-serve".

Similarly, there are many posts regarding multi-user sessions setups by the [`multi-user` tag](https://support.prodi.gy/tag/multi-user).

Hope this helps!
