0.2.93_css
This commit is contained in:
1 parent
301193bd15
commit
f508b7c882
4 files changed
+14
-46
No files matched your search
@@ -1,9 +1,15 @@
|
||||
# Application
|
||||
APP_HOST=0.0.0.0
|
||||
|
||||
# APP AND FILES_PORT, do not touch please
|
||||
APP_PORT=3000
|
||||
FILES_PORT=3001
|
||||
|
||||
# Port exposed by Docker Compose
|
||||
# main app
|
||||
RUSTPAD_PORT=8200
|
||||
# app files
|
||||
RUSTPAD_FILES_PORT=8201
|
||||
|
||||
# Database
|
||||
|
||||
|
||||
@@ -229,9 +229,9 @@ Stored attachment paths remain `/f/{token}/{filename}` for both backends. RustPa
|
||||
RustPad automatically selects one of two file-serving modes:
|
||||
|
||||
- **Single domain** (default): leave `FILES_PUBLIC_URL` unset. `/f/{token}/{filename}` is served on `APP_PORT` (default 3000), with application-relative attachment links. `FILES_PORT` is ignored and no second listener starts.
|
||||
- **Dedicated file domain**: set `FILES_PUBLIC_URL=files.note.example.com`. RustPad generates attachment links on that origin and starts a separate attachment-only router on `FILES_PORT` (default 3001, same `APP_HOST`). The application router on `APP_PORT` no longer serves `/f/...`. The file router serves `GET`/`HEAD /f/{token}/{filename}` and the health checks `GET`/`HEAD /health` and `/healthz` (both return HTTP 200 and `ok` for GET); all other paths return an empty 404 response. The original link-based file access, local/S3 storage, and stored database paths remain unchanged.
|
||||
- **Dedicated file domain**: set `FILES_PUBLIC_URL=files.note.example.com`. RustPad generates attachment links on that origin and starts a separate attachment-only router on `FILES_PORT` (default 3001, same `APP_HOST`). The application router on `APP_PORT` no longer serves `/f/...`. The file router serves `GET`/`HEAD /f/{token}/{filename}` and the health checks `GET`/`HEAD /health` (both return HTTP 200 and `ok` for GET); all other paths return an empty 404 response. The original link-based file access, local/S3 storage, and stored database paths remain unchanged.
|
||||
|
||||
Bare domains are normalized to HTTPS; `http://` is allowed for local testing. For a dedicated origin, point its reverse proxy directly at `APP_HOST:FILES_PORT` (e.g. `rustpad:3001` from another container in the same network). There is no need for proxy path deny-lists. For monitoring, request `http://rustpad:3001/health` (or `/healthz`) from inside the network. The application origin continues to point at `APP_HOST:APP_PORT`.
|
||||
Bare domains are normalized to HTTPS; `http://` is allowed for local testing. For a dedicated origin, point its reverse proxy directly at `APP_HOST:FILES_PORT` (e.g. `rustpad:3001` from another container in the same network). There is no need for proxy path deny-lists. For monitoring, request `http://rustpad:3001/health` from inside the network. The application origin continues to point at `APP_HOST:APP_PORT`.
|
||||
|
||||
**Upgrading an existing file-subdomain deployment:** change the subdomain's proxy upstream from port 3000 to port 3001 before/when installing this release. Existing attachment URLs and database records do not change. Without the proxy change, old attachment requests will return 404 at the application port. `FILES_PORT` must be between 1 and 65535 and differ from `APP_PORT` when the separate domain is enabled. Both listeners must be reachable from their respective proxies.
|
||||
|
||||
|
||||
+6
-42
@@ -4482,28 +4482,12 @@ dialog::backdrop {
|
||||
|
||||
.home-footer__account-pending {
|
||||
position: absolute;
|
||||
inset: 0 auto 0 0;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 10px;
|
||||
width: min(100%, 270px);
|
||||
width: 1px;
|
||||
height: 1px;
|
||||
overflow: hidden;
|
||||
clip-path: inset(50%);
|
||||
white-space: nowrap;
|
||||
pointer-events: none;
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
.home-footer__loading-line {
|
||||
display: block;
|
||||
height: 13px;
|
||||
flex: 0 1 135px;
|
||||
border-radius: 6px;
|
||||
background: var(--surface-2);
|
||||
box-shadow: inset 0 0 0 1px var(--border);
|
||||
animation: home-account-wait 1.4s ease-in-out infinite;
|
||||
}
|
||||
|
||||
.home-footer__loading-line--short {
|
||||
flex: 0 0 64px;
|
||||
animation-delay: .15s;
|
||||
}
|
||||
|
||||
.home-footer__account-slot:not([data-state=ready])>.home-footer__account {
|
||||
@@ -4519,18 +4503,6 @@ dialog::backdrop {
|
||||
animation: home-account-reveal .25s ease-out both;
|
||||
}
|
||||
|
||||
@keyframes home-account-wait {
|
||||
|
||||
0%,
|
||||
to {
|
||||
opacity: .45;
|
||||
}
|
||||
|
||||
50% {
|
||||
opacity: .85;
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes home-account-reveal {
|
||||
0% {
|
||||
opacity: 0;
|
||||
@@ -4544,9 +4516,7 @@ dialog::backdrop {
|
||||
}
|
||||
|
||||
@media(prefers-reduced-motion:reduce) {
|
||||
|
||||
.home-footer__account-slot[data-state=ready]>.home-footer__account:not([hidden]),
|
||||
.home-footer__loading-line {
|
||||
.home-footer__account-slot[data-state=ready]>.home-footer__account:not([hidden]) {
|
||||
animation: none;
|
||||
}
|
||||
}
|
||||
@@ -4557,12 +4527,6 @@ dialog::backdrop {
|
||||
min-height: 52px;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.home-footer__account-pending {
|
||||
inset: 0;
|
||||
justify-content: center;
|
||||
margin: auto;
|
||||
}
|
||||
}
|
||||
|
||||
.home-footer__account {
|
||||
|
||||
@@ -77,8 +77,6 @@
|
||||
<div class="home-footer__inner">
|
||||
<div id="footer-account-slot" class="home-footer__account-slot" data-state="loading" aria-busy="true">
|
||||
<div id="footer-account-pending" class="home-footer__account-pending" role="status">
|
||||
<span class="home-footer__loading-line" aria-hidden="true"></span>
|
||||
<span class="home-footer__loading-line home-footer__loading-line--short" aria-hidden="true"></span>
|
||||
<span class="sr-only" data-i18n="home.account.loading">Checking your account...</span>
|
||||
</div>
|
||||
<a id="footer-account-retry" href="/" class="footer-action" data-i18n="home.account.retry" hidden>Reload
|
||||
|
||||
Reference in new issue
Block a user