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:
| Type | Sends the path to |
|---|---|
| Mount App Server | One of your app servers. |
| Mount Port | A port on your account's private IP address where a process of yours listens, usually one a container publishes. |
| Mount Directory | Another 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 path | Backend | Effect |
|---|---|---|
| (empty) | app server | The app is the whole site. |
api | app server | /api/… goes to the app. |
media | directory 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 path | Target path | Request | Reaches your app as |
|---|---|---|---|
api | (empty) | /api/users/1 | /users/1 |
api | api | /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.
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.