How to serve webpage in OMV 5/6 (aka missing Nginx plugin)?

  • I have used OMV to run a small file server at home and have left it alone for a few years. Now I needed to add something to it and noticed that it is too old and completely out of support (it is an OMV4). But when I installed OMV6 (and also OMV5), I found that the Nginx plugin is no longer in the Extras. The Nginx extras plugin is what I used with OMV4 to serve my pages.


    So my question is: what is the canonical way of serving websites from OMV5/6 now? Is it through a docker? Is there a tutorial or instruction for that? By "serving websites" I mean serve webpages through HTTP (probably need PHP, phpfarm). I do not refer to the management UI that is accessed through web UI.


    Besides that, there are a few quick suggestions:

    • It helps to have a quick matrix to indicate the simplest way to setup certain things. Such as FTP -> builtin, DLNA -> plugin, Web -> Docker, etc.
    • The downloaded installation iso image does not work on my setup. It hangs in the middle of the process. (I installed it in the Proxmox VM. Finally get around by install Debian, then OMV).


    Thanks for the nice tool. It has worked really nicely on my light setup.

  • Yeah you should use docker. Just install OMVextras the same way as in OMV4 and there you can install docker. I would recommend using docker-compose as well, since here you can set all settings in a simple yml file and then just start with


    Code
    docker-compose up (-d)


    I recommend the images of linuxserver.io. They are highly maintained and configurable, well documented and I've never had problems with them. Their nginx image: https://hub.docker.com/r/linuxserver/nginx

  • Thanks @HannesJo. But how to obtain reverse proxy, SSL and services' routing:


    For example:

    * https://my_omv_hostname/service_1

    * https://my_omv_hostname/service_2

    * https://my_omv_hostname/omv_admin


    Or:

    * https://service_1.my_omv_hostname/

    * https://service_2.my_omv_hostname/

    * https://omv_admin.my_omv_hostname/


    Instead of what works when only docker is used:

    * http://my_omv_hostname:9000

    * http://my_omv_hostname:8313

    * http://my_omv_hostname


    All the results in google refer to the missing nginx plugin. The documentation doesn't describe the problem as well.


    So I repeat the question stated by Casual User:


    > what is the canonical way of serving websites from OMV5/6 now?


    Thanks

  • Hi Kamichal


    I'm not expert in OMV. But I've managed fairly easy to setup a similar setup then yours.

    I would advice isntalling docker and then installing the nginx proxy manager (NPM).


    Before doing that tho', you need to chagne the port of your OMV WebUI, I use 99, Anything besides 80, 81 and 443 should work.
    the above mentioned ports are used by nginx proxy manage.

    The cool thing about NPM is that it also handles the LetEncrypt certificate stuff. The UI is pretty simple and the documentation is also ok. I have personally setup a subdomain "wildcard" certificate, but you could request certificates for each domain you want. And I'm using cloudflare, but NPM has support for many DNS providers...

    Here are the two docker-compose entries I have for my setup:

    .env file (read by docker-compose and places in same folder as the docker-compose.yml file)


    An extract of my docker-compose.yml file


    It's not required for when docker-compose,as docker-compose does it automatically. But if you deploy the other containers "in/on" the same docker network as the npm (in my docker-compoe file named frontend) then you can just specify the name of the container and the port inside the container. Here I have done it for my sonarr service. The reason I've added two networks is that I like to separate by 'backend' and 'frontend' networks.

    So if I added "- backend" to the nextwork section, then the sonarr container would be able to access my maridadb database, as it's only available in the backend network.

    But it's not required, so if you don't case, that remove all the networks parts. And it should still work.

    I hope it helps you. I'm not expert in OMV, I know more about docker etc :)

    • Official Post

    > what is the canonical way of serving websites from OMV5/6 now?

    Maybe this is what you are looking for? https://hub.docker.com/r/linuxserver/swag

    • Official Post

    This section of Linuxserver’s Swag Setup page should give you some good examples for your project.

    System Backup Typo alert: Under the Linux section the command should be sudo umount /dev/sda1 NOT sudo unmount /dev/sda1

    Backup Data Disk to Backup Disk on Same Machine: In a Scheduled Job:rsync -av --delete /srv/dev-disk-by-uuid-f8814ed9-9a5c-4e1c-8830-426968c20ea3/ /srv/dev-disk-by-uuid-e67439d5-00a3-4942-bd5f-b84ab86aa850/ Don't forget trailing slashes, and BE CAREFUL. (HT: Getting Started with OMV5)

    Equipment - Thinkserver TS140, NanoPi M4 (v.1), Odroid XU4 (Using DietPi): PiHole

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!