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
|
# Application
|
||||||
APP_HOST=0.0.0.0
|
APP_HOST=0.0.0.0
|
||||||
|
|
||||||
|
# APP AND FILES_PORT, do not touch please
|
||||||
APP_PORT=3000
|
APP_PORT=3000
|
||||||
|
FILES_PORT=3001
|
||||||
|
|
||||||
# Port exposed by Docker Compose
|
# Port exposed by Docker Compose
|
||||||
|
# main app
|
||||||
RUSTPAD_PORT=8200
|
RUSTPAD_PORT=8200
|
||||||
|
# app files
|
||||||
|
RUSTPAD_FILES_PORT=8201
|
||||||
|
|
||||||
# Database
|
# 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:
|
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.
|
- **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.
|
**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 {
|
.home-footer__account-pending {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
inset: 0 auto 0 0;
|
width: 1px;
|
||||||
display: flex;
|
height: 1px;
|
||||||
align-items: center;
|
overflow: hidden;
|
||||||
gap: 10px;
|
clip-path: inset(50%);
|
||||||
width: min(100%, 270px);
|
white-space: nowrap;
|
||||||
pointer-events: none;
|
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 {
|
.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;
|
animation: home-account-reveal .25s ease-out both;
|
||||||
}
|
}
|
||||||
|
|
||||||
@keyframes home-account-wait {
|
|
||||||
|
|
||||||
0%,
|
|
||||||
to {
|
|
||||||
opacity: .45;
|
|
||||||
}
|
|
||||||
|
|
||||||
50% {
|
|
||||||
opacity: .85;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@keyframes home-account-reveal {
|
@keyframes home-account-reveal {
|
||||||
0% {
|
0% {
|
||||||
opacity: 0;
|
opacity: 0;
|
||||||
@@ -4544,9 +4516,7 @@ dialog::backdrop {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@media(prefers-reduced-motion:reduce) {
|
@media(prefers-reduced-motion:reduce) {
|
||||||
|
.home-footer__account-slot[data-state=ready]>.home-footer__account:not([hidden]) {
|
||||||
.home-footer__account-slot[data-state=ready]>.home-footer__account:not([hidden]),
|
|
||||||
.home-footer__loading-line {
|
|
||||||
animation: none;
|
animation: none;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -4557,12 +4527,6 @@ dialog::backdrop {
|
|||||||
min-height: 52px;
|
min-height: 52px;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
.home-footer__account-pending {
|
|
||||||
inset: 0;
|
|
||||||
justify-content: center;
|
|
||||||
margin: auto;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.home-footer__account {
|
.home-footer__account {
|
||||||
|
|||||||
@@ -77,8 +77,6 @@
|
|||||||
<div class="home-footer__inner">
|
<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-slot" class="home-footer__account-slot" data-state="loading" aria-busy="true">
|
||||||
<div id="footer-account-pending" class="home-footer__account-pending" role="status">
|
<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>
|
<span class="sr-only" data-i18n="home.account.loading">Checking your account...</span>
|
||||||
</div>
|
</div>
|
||||||
<a id="footer-account-retry" href="/" class="footer-action" data-i18n="home.account.retry" hidden>Reload
|
<a id="footer-account-retry" href="/" class="footer-action" data-i18n="home.account.retry" hidden>Reload
|
||||||
|
|||||||
Reference in new issue
Block a user