Hosting Gramps Web on existing personal web server?

I’m trying to install Gramps Web on an existing Debian 12 server I run from my home. It’s currently serving Nextcloud for family use (Calendar sharing, etc.). I’m having trouble installing Gramps Web (w/ Let’s Encrypt) and I was hoping someone could help?

First, I was able to get the non-SSL version running locally without a problem (by accessing 10.0.0.10:444 (or whatever port I chose in the docker-compose.yml). Obviously, I don’t want to use this version for Internet access…

So, I downloaded the docker-compose.yml, but since I already use ports 80 and 443, I changed the ports to something like 81:81 and 444:444 but that doesn’t seem to even let me log in locally? I tried variations like 81:5000, etc. The logs for nginx shows:

nginx: [emerg] invalid server name or wildcard “…” on 0.0.0.0:80

which I assume means it’s still conflicting with the port that’s already in use by my server? All I get when trying to connect is “Unable to connect”. Or is this something else?

In any case, I’m not sure what I should at this point. But, once I get this working locally, what would I need to set up to forward on my router? Would forwarding 444 to 10.0.0.10:444 be enough?

Thanks so much for your help! It’s such a great program, I can’t wait to share it with my family members…

Hi!

I’m glad you like Gramps Web.

Running Gramps Web alongside Nextcloud on a single server is definitely possible, I am doing that, too.

The setup I recommend (which is the one I use) is to use Docker Compose with Nginx Proxy:

https://www.grampsweb.org/LetsEncrypt/

You can assign a different VIRTUAL_HOST to each service. For instance, in my case I have nextcloud.mydomain.com and grampsweb.mydomain.com. You can check GitHub - nginx-proxy/nginx-proxy: Automated nginx proxy for Docker containers using docker-gen for documentation.

1 Like

I’ve been trying to use that version of docker-compose.yml to get things working, but nothing seems to solve my problem. The only changes I made were:

  VIRTUAL_HOST: "gramps.myactualdomain.com"  # e.g. gramps.mydomain.com
  LETSENCRYPT_HOST: "gramps.myactualdomain.com"   # e.g. gramps.mydomain.com
  LETSENCRYPT_EMAIL: "myemailadress@gmail.com"  # your email

and

ports:
  - 81:81
  - 444:444

Since Apache is currently listening under ports 80/443 for Nextcloud and a personal website, I was hoping to use Gramps Web under the above ports 81/444 (or whatever). Obviously I’m new to docker, but when I do a “docker exec nginx-proxy cat /etc/nginx/conf.d/default.conf”

I see that all of the configuration for nginx still seems to be for ports 80/443? When I do a “docker exec nginx-proxy curl localhost” I get a 503 error.

Just to note I have Jellyfin, qBittorrent-nox and a few other services running on other ports just fine.

“lsof -i -P” does show that ports 81 and 444 are being listened for, though I can’t connect to them from inside or outside the server itself.

Considering I don’t use Docker for anything else, what are the chances of getting Gramps Web working separately (i.e., if I pull out the files from the Docker image)?