# multitenancy_phoenix v0.1.0 - Table of Contents > Multi-site, theme-based multitenancy for Phoenix applications ## Pages - [multitenancy_phoenix](readme.md) ## Modules - [Multitenancy](Multitenancy.md): Host-resolved multi-site theming for Phoenix. - [Multitenancy.Controller](Multitenancy.Controller.md): Helpers for base controllers that are also routed from theme routers. - [Multitenancy.HTML](Multitenancy.HTML.md): Embeds a theme's templates, falling back to the base application ones. - [Multitenancy.LiveView](Multitenancy.LiveView.md): `on_mount` hook resolving the site from the socket host, for both the disconnected and the connected mount. - [Multitenancy.Plug.Dispatch](Multitenancy.Plug.Dispatch.md): Hands the request over to the current theme's router, or to the `:platform` router when no site was resolved. Replaces the `plug MyAppWeb.Router` line at the end of the endpoint. - [Multitenancy.Plug.ResolveSite](Multitenancy.Plug.ResolveSite.md): Resolves `conn.host` into a site and assigns `:current_site` and `:current_theme`. Hosts in `:platform_hosts` are left untouched so they can be served by the platform router; any other unknown host gets a 404. - [Multitenancy.Site](Multitenancy.Site.md): A site served by the application, bound to a theme and a set of hosts. - [Multitenancy.SiteResolver](Multitenancy.SiteResolver.md): Resolves a request host into a `Multitenancy.Site`. - [Multitenancy.SiteResolver.YAML](Multitenancy.SiteResolver.YAML.md): Resolves sites from a YAML file loaded once into `:persistent_term`. - [Multitenancy.Theme](Multitenancy.Theme.md): Declares a theme. - Exceptions - [Multitenancy.ThemeNotFoundError](Multitenancy.ThemeNotFoundError.md) ## Mix Tasks - [mix multitenancy.assets](Mix.Tasks.Multitenancy.Assets.md): Builds `themes//assets/css/app.css` with tailwind and `themes//assets/js/app.js` with esbuild into `priv/static/themes//app.{css,js}`. - [mix multitenancy.gen.theme](Mix.Tasks.Multitenancy.Gen.Theme.md): Generates a theme skeleton.