Skip to main content

Mounts

A mount maps a URL path on one of your websites to something that serves it: the connection between a domain and your running code. The website stays a normal static site, and each mount takes over one dynamic path. Hosting architectures explains the model.

The three mount types match the Add Mount menu:

TypeSends the path to
Mount App ServerOne of your app servers.
Mount PortA port on your account's private IP address where a process of yours listens, usually one a container publishes.
Mount DirectoryAnother directory in your home, served as static files.

Each mount names:

  • the website it applies to
  • a Source Path, the URL path on that website; empty means the root of the site
  • a Target Path on the backend

A source path can be mounted once per website, but the same app server can be mounted on any number of websites and paths.

How the panel matches a request​

When two paths overlap, the most specific source path wins. A typical layout:

Source pathBackendEffect
(empty)app serverThe app is the whole site.
apiapp server/api/… goes to the app.
mediadirectory myapp/uploads/media/… is served as files.

Static files in the document root and mounted directories work alongside proxied paths. A directory mount below a proxied path is served directly and never reaches the app.

What the backend sees​

The panel replaces the source path with the target path:

Source pathTarget pathRequestReaches your app as
api(empty)/api/users/1/users/1
apiapi/api/users/1/api/users/1

Use the second form if your application must stay at /api. Many frameworks accept a base path instead.

The proxy keeps the original Host header and sets the standard X-Forwarded-For and X-Forwarded-Proto headers, which tell your app who the visitor is and that the outside connection used HTTPS.

note

Your app always receives plain HTTP on a private address. TLS, certificates, and public exposure belong to the proxy.

Notes per type​

Mount App Server is the common case. Create it here or from the app server's page. Deleting the app server deletes its mounts with it.

Mount Port always points at your account's private IP address; the port is 1 to 65535. You can only proxy to a process of your own, most usefully a port a container publishes. A listening port's page in the Podman section offers to create this mount for you.

Mount Directory takes a directory relative to your home, e.g. myapp/public/assets, to serve more static files under a site or keep one static path out of an app that otherwise owns the site's root.