简体   繁体   中英

Automatically Deploy App on Heroku Based on User Creation

I have a Multi-Tenant Django Application working with Postgres on Heroku. Is there a way to actually instantiate a new dyno/db/subdomain based on when a new User is created on my application?

This is highly dependent on how your multi-tenancy is being achieved.

If you haven't already built multi-tenancy into your application I encourage you to look at something like django-tenants , which adds multitenancy support based on subdomains and PostgreSQL schemas. If that's not a good fit you can explore other similar libraries .

Once you've set up django-tenants there's not much more to do on the Django side. It all be comes configuration. Requests to configured subdomains will be routed to the appropriate shared or tenant database schema.

But those requests have to make it to your application. That's where DNS comes in, ideally using wildcard subdomains.

First, add *.your-domain.tld to your app's domains on the Heroku side:

heroku domains:add *.your-domain.tld

Next, add a wildcard CNAME entry with your DNS provider¹. The exact mechanics of how to do this will vary from provider to provider. You've said you're moving to DNSimple, and it looks like they support wildcard CNAME records using * .


¹Unfortunately, some DNS providers like GoDaddy don't support wildcard CNAME entries . In that case you'll have to individually create each CNAME record.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM