I have been researching what is required to build a mining pool. I am building on a Debian linux server. Pool software designed for Ubuntu does not work well on Debian, and sometimes not at all. I tried several pool software packages: MPOS, NOMP, UNOMP, ZPOOL, CoiniumServ and a few python stratum derivatives. MPOS: Works ok on a windows system but on Debian linux has a few problems. The stratum may need to be updated, as the outdated dependencies throw errors on linux. I tried only a few small fixes which did not help. NOMP: Just like MPOS, has problems on Debian. None of the updates mattered and any fixes only created new errors. UNOMP: Worked better than NOMP and MPOS, but did have a few small issues on Debian. Debian uses nodejs 10.29 and the software requires 10.40. This can be solved by building nodejs 10.40 by hand but it is a lengthy process and comes with it's own issues. It will work but takes more time than I would like. ZPOOL: Did not work at all regardless of updates or fixes. CoiniumServ: So far works well on Debian. Building the executables for windows works fine. Building linux executables took a bit of work. For Debian, this might be the best option. Running the windows binary in wine works fine and so far did not have any issues. It supports almost every algorithm coins use. Configurations are self explanatory and take only a minute to set up. I will post my finding in completion when I am finished with the project. I may or may not post an updated guide for building your own pool. This is not a project that a newbie would want to do. There is a lot of work involved in building a mining pool.
So I have tested several backends for mining pools and found most of them lacking. Generally speaking, they will require updating several portions of code to current standards. Python stratum based pools that are over a year old use the old stratum and must be updated. If you are not familiar with python, or you are not familiar enough with it, then you might need to hire a developer or even find a friend that has sufficient knowledge. Most pool software can be made to work on Debian Linux. There are compatibility issues with several coins, but there are many reasons for that. Some coins are not really compatibile with a python stratum. Other coins do not have a coind instance. Other coins use new algorithms that have not been adapted to the current stratum. Some coins do not have a linux wallet at all and thus cannot be made to run on linux. If you are interested in running a mining pool, you will have to do some research and find out what coins will work on the pool software you want to use. The alternative is building your own pool software from scratch.
I have settled on using CoiniumServ for my base. It has a decent list of compatible coins and can be easily modified to fir your own needs. There are a few coins that work, but not well on it. But I believe the issues can be worked out. I am still testing coins on it and trying to correct the minor issues that come up.