

I would say this would be the proper way to do it (at least as a sysadmin), but since it’s OP’s first time I would simplify it to:
- Install CloudFlare ZeroTrust daemon on your local server;
- Set up reverse proxy such as Nginx (optional, the alternative is to use a different subdomain for each service, which might be easier);
- Point the FQDN to CloudFlare.
Let CloudFlare handle the certificates, DDoS protection, etc… Link if you’d like to give this setup a try.
Here’s my config for reference, which works for me:
name: forgejo services: forgejo: image: codeberg.org/forgejo/forgejo:12 environment: - USER_UID=1000 - USER_GID=1000 restart: always volumes: - ./data:/data - /etc/timezone:/etc/timezone:ro - /etc/localtime:/etc/localtime:ro ports: #- 80:3000 - 2222:22 networks: - nginx networks: nginx: name: nginx external: true
If you can share your error message we might be able to better pinpoint the issue.
EDIT: I searched a bit and now I understand better what you are trying to do. I didn’t know about this “SSH shim” idea. This is not what I have done on my setup, sorry.