Joplin Server on Heroku?

Is it possible to deploy Joplin Server to heroku?

Someone has completed this operation, but unfortunately, I don't know how to implement it

https://joplin.herokuapp.com/

2 Likes

This is great. Now that I know that I know it works, I will find a way to implement it. Thank you very much!

https://test-joplin.herokuapp.com/

In general, I have successfully set and deployed,
but I don't know how to set postgresql to the Joplin server.
Using the database provided by the Joplin server will report an error (error: timeout trying to connect to database.
Last error was: no pg_hba.conf entry for host "XXX", user "XXX", database "XXX", no encryption),

I don't know node.js and typescript

You can check the GitHub repository of my fork( GitHub - zuikec/joplin: Joplin - an open source note taking and to-do application with synchronisation capabilities for Windows, macOS, Linux, Android and iOS. ).

  • Need: heroku stack: set container - a XXXX, and add relevant. Env
  • The dockerfile.server is renamed and modified to the format supported by heroku
  • A file heroku.yml is added to indicate the location of the dockerfile file
  • Modified (packages / server / src/ app.ts)
  • 255,313:app.listen(config().port)->app.listen(process.env.PORT);

Hello, I have realized how to build Joplin server using heroku


Snipaste_2022-08-17_10-38-05

2 Likes

Thank you very much! Can you maybe give us a step by step tutorial?

  • Need: heroku cli heroku stack: set container - a test-joplin, Change the default environment to docker

  • The Dockerfile.server file is renamed and modified to the format supported by heroku, and only the commands for creating users and declaring ports are modified (heroku only supports random ports, and all do not use the default 22300)

  • Create a file named heroku.yml . The command indicates the location of the dockerfile file

  • Modify files in the repository(packages / server / src/ app.ts)
    255,313:app.listen(config().port)->app.listen(process.env.PORT);
    Because heroku only supports random ports, it needs to get from the environment variable

You can directly fork the GitHub repository, directly add the heroku.yml'file,
or clickDeploy