Running an instance of ZWS on Heroku is the easiest way to self-host. You can also stay totally within the free limits of both the web process and the Heroku Postgres database. Note that the Hobby Dev (free) plan of Heroku Postgres has a row limit of 10,000, which might not be enough for your use case. Consider using the API key feature of ZWS to restrict access to your instance.
If you are hosting your instance on Heroku, migrations are automatically applied. If you need to manually apply migrations or are only using Heroku for your database you'll need the credentials for your database: