Hi,
I'm running a selfhosted Joplin server, and when I'm not home or nor on my phone, I'm accessing Joplin via Joplin web app.
But since today I cannot access my notes as it won't sync with anything else than Joplin Cloud.
Is it a bug or a feature?
You could build a release build of the web app as per the instructions here Building the applications | Joplin and then host it as a static web app. Alternatively, you can use this method to host on GitHub pages (which is free) which will allow easy deployment of updates:
This will deploy the latest available version of the web app whenever you run "Build and deploy to pages"
Note that for Joplin server specifically, if you use the Github pages approach, you would need to see if you can set it to use the same domain as your Joplin server, otherwise the sync will fail with CORS errors.
The zip can be extracted to any static web server and hosted anywhere.
Notes:
Joplin Cloud blocks the access from self-hosted web clients. If you use Joplin Cloud, use Joplin hosted web app.
If you clone the repository, you can generate your own packages for whatever Joplin web version you want. The script should look for new versions and automatically build every day.
I'm using joplin server with an app_base_url set. Joplin web app is on the same server (but on the host machine, server is in docker). Both server and web app are served through a nginx reverse proxy.
I cannot sync, I'm getting "NetworkError when attempting to fetch resource" when setting the sync target.
I've tried to set the LAN address instead, or the local hostname, no success.
Have you tried to set the app_base_url to your internal server IP address/port and hosting the web app from the same server IP? If it works, the most probable cause is nginx misconfiguration like improper header forwarding.
I've opened a pull request which should allow hosting the web app from a different domain from the server.
For reference, syncing with a web app on a custom domain currently breaks due to CORS errors, since dist/app.js doesn't allowlist the custom web app domain in corsAllowedDomains.