# Which user type am I

<figure><img src="https://1973811904-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Flk5l3lUfuUzRDnMDVwnw%2Fuploads%2FyBcSz6LsFF12wmpSc897%2F31b7f539-3673-449f-9f33-edd9d11baba7.jpeg?alt=media&#x26;token=60b8c779-360c-4db8-a329-b33b43872319" alt=""><figcaption><p>Image generated by an AI with MIT license</p></figcaption></figure>

## Type 1, server is behind the router

It is usually the case that if there is a server behind the router, the router has to open the ports. This router can get a dynamic IP from the provider or has a fixed IP. According to what we find, some things still need to be done.

<figure><img src="https://1973811904-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Flk5l3lUfuUzRDnMDVwnw%2Fuploads%2F9KmY6Uby5KbG5LiX470r%2Fservicetype1.png?alt=media&#x26;token=1d0685ab-4263-4cd9-bdf5-2bc14f9cbc7d" alt=""><figcaption><p>Enable only one service without reverse proxy.</p></figcaption></figure>

Without a reverse proxy, only one of the services can be shared on the internet. The others can no longer use the ports on the router.

It may be possible to install multiple services on one host. But it can mean a huge effort. Or the dependencies of the system or software do not allow installing multiple services on one host. There can be many reasons. In general, separating the service on several hosts is the better solution.

<figure><img src="https://1973811904-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Flk5l3lUfuUzRDnMDVwnw%2Fuploads%2FcyDj29ZWGjx8BD1qJcTW%2Fservicetype1_rp.png?alt=media&#x26;token=a15d5334-8a05-4c18-9d32-603f3ed253d5" alt=""><figcaption><p>With FlyingFish (reverse proxy) separation for each service.</p></figcaption></figure>

### **Ports** forwarding to the FlyingFish

The ports can be forwarded with a router in the following ways:

* [**ports Fixed** setting on the router](https://flying-fish.gitbook.io/flyingfish/index/configurations/listen/port-forwarding)
* **with** UPnP-Nat, you have to check whether UPnP-Nat is activated on the router, for example a "Fritz box" can be determined which computer is allowed to do this.

## Type 2, server is online

An online server can itself provide multiple services in virtualization, containers or a second server. With a fixed IP, all ports (if a firewall exists, this must be configured) should be directly addressable on the Internet.

<figure><img src="https://1973811904-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Flk5l3lUfuUzRDnMDVwnw%2Fuploads%2FAmmIb0OAWEqAV8vp1MVL%2Fservicetype2.png?alt=media&#x26;token=ae1ef950-05cf-4fa5-baf5-6594a1048345" alt=""><figcaption><p>Only one container can be released on the ports.</p></figcaption></figure>

A typical setup could be with Docker on the server. FlyingFish would start here as another container.

<figure><img src="https://1973811904-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Flk5l3lUfuUzRDnMDVwnw%2Fuploads%2FN4KNJ5n7MDfiCZRlOIXe%2Fservicetype2_rp.png?alt=media&#x26;token=f3b5b894-b9cf-4a82-a54b-1dd647014a57" alt=""><figcaption><p>With FlyingFish (reverse proxy) separation for each container.</p></figcaption></figure>

## Summary

If Type 1 was often used in small companies or privately, Type 2 can also be used to manage servers online. The difference is the way the ports are accessed. This should give a small overview of how FlyingFish can be used. This use of FlyingFish is of course somewhat broken down and can of course also be used in complicated structures. For this reason, FlyingFish was also created to be able to set and control everything with a simple web interface. If you are unsure what structure you are building, sketching like the diagrams above can help.

If you have any questions, you are always welcome to  [create an issue](https://github.com/stefanwerfling/flyingfish/issues) on GitHub.
