Skip to content

TCP UDP ports for development

benoit74 edited this page Dec 1, 2023 · 2 revisions

Background

In many of our projects, we deploy local development servers (e.g., an API and a Database) on our development machines for testing purposes. These servers expose a TCP (occasionally UDP) port on our local machine.

Every openzim/kiwix/offspot repository is assigned a port range of 100 values (e.g. 30100 to 30199) which has to be used for its TCP/UDP ports for local development services, so that running two local development stacks simultaneously is not an issue.

Note: This intentionally simplifies the distinction between TCP and UDP ports and assumes we don't want two distinct services, one on TCP and one on UDP, running on the same port number. Although technically possible, it's deemed cumbersome for our purposes.

We also encourage project to follow a convention (when possible) on port assignment:

  • UI on port XXX00
  • backend server (more or less API) on port XXX01
  • database on port XXX02

While not applicable to all projects (some have many UIs, many servers, ...), this convention will help developers to quickly jump to the right port when moving from one project to another one. If not applicable to them, projects should derive their own convention based on this one (e.g. main UI is on XXX00 and secondary one on XXX10).

Nota: this convention has been discussed in https://github.com/openzim/overview/issues/24

Assignments

For every new repo in openzim/kiwix/offspot organizatons, please update the list below.

Repo Port range
kiwix/wikionboard 300xx
kiwix/kiwix-js 301xx
openzim/gutenberg 302xx
kiwix/apple 303xx
openzim/sotoki 304xx
kiwix/web 305xx
kiwix/container-images 306xx
kiwix/kiwix-xulrunner 307xx
openzim/wikimedia_wp1_hitcounter 308xx
openzim/wp1_selection_tools 309xx
openzim/wp1 310xx
openzim/ted 311xx
openzim/mwoffliner 312xx
kiwix/autorun 313xx
openzim/youtube 314xx
openzim/dokukiwix 315xx
offspot/kiwix-plug 316xx
openzim/phet 317xx
openzim/node-libzim 318xx
openzim/zimit 319xx
offspot/wikifundi 320xx
kiwix/libkiwix 321xx
kiwix/kiwix-tools 322xx
kiwix/kiwix-build 323xx
kiwix/kiwix-android 324xx
openzim/openedx 325xx
openzim/zimfarm 326xx
kiwix/kiwix-apache 327xx
openzim/zip2zim 328xx
openzim/kalite 329xx
openzim/zimwriterfs 330xx
openzim/zimreader-java 331xx
openzim/zimreader-tntnet 332xx
openzim/libzim 333xx
openzim/zimwriterdb 334xx
openzim/zim-tools 335xx
kiwix/kiwix-android-custom 336xx
kiwix/kiwix-js-pwa 337xx
kiwix/overview 338xx
openzim/overview 339xx
kiwix/kiwix-desktop 340xx
offspot/edupi 341xx
offspot/mediawiki-docker 342xx
offspot/cardshop 343xx
openzim/zim-requests 344xx
openzim/javascript-libzim 345xx
offspot/kiwix-hotspot 346xx
openzim/zimfarm-client 347xx
kiwix/test-gateway 348xx
openzim/education-numerique 349xx
kiwix/metrics 350xx
openzim/nautilus 351xx
openzim/python-scraperlib 352xx
openzim/python-libzim 353xx
kiwix/borg-backup 354xx
kiwix/ipfs-portal 355xx
kiwix/java-libkiwix 356xx
offspot/testbench 357xx
offspot/operations 358xx
offspot/base-image 359xx
offspot/image-creator 360xx
offspot/content-filter 361xx
kiwix/k8s 362xx
kiwix/.github 363xx
offspot/container-images 364xx
offspot/docker-export 365xx
offspot/imager-cli 366xx
offspot/imager-desktop 367xx
kiwix/kiwix-android-nightly 368xx
offspot/offspot-config 369xx
offspot/package-requests 370xx
offspot/captive-portal 371xx
offspot/dashboard 372xx
offspot/metrics 373xx
kiwix/mirrorbrain 374xx
Clone this wiki locally