If you're exposing memos through nginx, the SITE_URL needs to be the public url where nginx exposed memos (so exactly the same as you enter in your browser), not the Public-IP and the internal port of memos.
Selfhosted
A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.
Rules:
-
Be civil: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.
-
No spam posting.
-
Posts have to be centered around self-hosting. There are other communities for discussing hardware or home computing. If it's not obvious why your post topic revolves around selfhosting, please include details to make it clear.
-
Don't duplicate the full text of your blog or github here. Just post the link for folks to click.
-
Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).
-
No trolling.
Resources:
- selfh.st Newsletter and index of selfhosted software and apps
- awesome-selfhosted software
- awesome-sysadmin resources
- Self-Hosted Podcast from Jupiter Broadcasting
Any issues on the community? Report it using the report flag.
Questions? DM the mods!
IP and port are what I put in my browser
You may need to configure nginx to pass through some additional headers, I haven't used it in a while. It could also be that memos refuses IP addresses as SITE_URL, and needs a proper domain name.
I'm using traefik (on kubernetes) as reverse proxy, and I don't even set SITE_URL, but it still works.
Stop exposing services like these to the Internet. If you need remote access, use a VPN.
You don't need to own a domain either. Use a free dynamic DNS provider.
And if you don't need remote access, don't bother with that at all. Just run a local DNS server with records for these services with anything under the .internal TLD. Or even just IP address.
HTTPS can come later. It's really not important for traffic that's not sensitive, like no passwords or whatever.
There's no reason not to expose those services to the Internet, they have authentication, and noone can access them without logging in first. There are actually reasons for exposing them, you can share a memo or a file to other people. You should enable HTTPS though to prevent passwords being transferred in clear text.
You assume there is no vulnerability in the web server itself, or a vulnerability that allows bypassing authentication.
Definitely need remote access, and tunneling in every time I want to sync my notes app is way too much work. I've containerized these services as a security layer and you need user creds to access anything without an exploit. I'm comfortable with that level of risk.
Dynamic DNS is a very cool thing I didn't know exists. I'll definitely look into it further! But for the time being I still need a fix for my problem.