YNH behind nginx proxy manager (npm)

What type of hardware are you using: Virtual machine
What YunoHost version are you running: 12.0.9.1
How are you able to access your server: The webadmin
SSH
Direct access via physical keyboard/screen

Describe your issue

I have multiple applications running on my network. They are running behind nginx proxy manager (npm) on a Rpi4.
I just installed Yunohost because I want to use peertube/mastodon and maybe pixelfed quickly.

Problem is: ynh expects to be accesible on port 80/443. But I want to run it behind my existing npm. I tried just pointing the subdomain for peertube to ynh, but that (logically) get’s me to the ynh home admin page.

Is there a way for me to configure ynh and/or npm so I can reach the applications on ynh via the subdomain? E.g.: redirect peertube.mydomain.com to the ynh peertube instead of the default login page?

Share relevant logs or error messages

There is no error, I simply do not get to the required page.

From your post I am assuming that YNH and NPM are both on the same Rpi4?

One way I can think of is to use YNH in a docker container. That way you could map the port 80/443 of the YNH docker container to different ports on the host and NPM would still be running on 80/443.

You can then redirect peertube.mydomain.com to the YNH peertube.

An easier approach would be to not use YNH at all and just use docker to host peertube in a container and redirect peertube.mydomain.com to the container.

I actually tried running peertube on my (Unraid) docker first, but I keep getting Oauth errors. So I thought I’d try with Yunohost, installing that was a breeze on my previous VPS (which was not behind NPM).

NPM is installed on a Rpi4, YNH is on a VM on my Unraid machine.

Maybe I should put more effort in just getting it to run in a docker container…

Should run since npm and ynh are on seperate virtual/physical devices.

hey…if nothing else works…try docker.

I have actually got it working in docker now.

To bad YNH behind an extra nginx proxy seems to be such a rare use case. Thank you for your replies.

Hello,
How do you install YNH in a docker container?
I could not find the image for it.

@kyangsamat : I wonder whether you’d want to run Yunohost in a docker container, as opposed to a “full” LXC container.

Yunohost as such is not a useful program. It becomes useful by managing your Debian installation, hardening it and and providing glue between apt and user management.

  • Docker has, over time, become a tool to run a single containerized app, isolated from your OS.
  • LXC is a thin VM, that shares a lot of overhead with the host but is intended to run full operating systems

You can well abuse docker to run a full OS, but the tools won’t help you.

@Mecallie : What OS runs on your RPi? In case of Debian, have you considered adding Yunohost to thp Pi? Storage could be elsewhere, and Peertube can offload CPU-intensive tasks to a peer.

You clearly don’t have that anymore. Another option could be to rent a cheap VPS and run a VPN on it to connect your Yunohost on your internal network (or run Yunohost + Peertube there, and offload storage to your internal network)

Sorry for going off-topic: all this does not help with NPM :wink:

edit to add:

Ah, sorry, I overlooked that one :wink: Was it a pain to get it working?