mirror of
https://github.com/lennart-k/rustical.git
synced 2025-12-13 19:22:26 +00:00
Compare commits
4 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b2f5d5486c | ||
|
|
db674d5895 | ||
|
|
bc98d1be42 | ||
|
|
4bb8cae9ea |
22
Cargo.lock
generated
22
Cargo.lock
generated
@@ -3017,7 +3017,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "rustical"
|
name = "rustical"
|
||||||
version = "0.9.4"
|
version = "0.9.5"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"argon2",
|
"argon2",
|
||||||
@@ -3060,7 +3060,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "rustical_caldav"
|
name = "rustical_caldav"
|
||||||
version = "0.9.4"
|
version = "0.9.5"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"async-std",
|
"async-std",
|
||||||
"async-trait",
|
"async-trait",
|
||||||
@@ -3100,7 +3100,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "rustical_carddav"
|
name = "rustical_carddav"
|
||||||
version = "0.9.4"
|
version = "0.9.5"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"async-trait",
|
"async-trait",
|
||||||
"axum",
|
"axum",
|
||||||
@@ -3132,7 +3132,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "rustical_dav"
|
name = "rustical_dav"
|
||||||
version = "0.9.4"
|
version = "0.9.5"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"async-trait",
|
"async-trait",
|
||||||
"axum",
|
"axum",
|
||||||
@@ -3157,7 +3157,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "rustical_dav_push"
|
name = "rustical_dav_push"
|
||||||
version = "0.9.4"
|
version = "0.9.5"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"async-trait",
|
"async-trait",
|
||||||
"axum",
|
"axum",
|
||||||
@@ -3182,7 +3182,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "rustical_frontend"
|
name = "rustical_frontend"
|
||||||
version = "0.9.4"
|
version = "0.9.5"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"askama",
|
"askama",
|
||||||
"askama_web",
|
"askama_web",
|
||||||
@@ -3215,7 +3215,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "rustical_ical"
|
name = "rustical_ical"
|
||||||
version = "0.9.4"
|
version = "0.9.5"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"axum",
|
"axum",
|
||||||
"chrono",
|
"chrono",
|
||||||
@@ -3233,7 +3233,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "rustical_oidc"
|
name = "rustical_oidc"
|
||||||
version = "0.9.4"
|
version = "0.9.5"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"async-trait",
|
"async-trait",
|
||||||
"axum",
|
"axum",
|
||||||
@@ -3248,7 +3248,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "rustical_store"
|
name = "rustical_store"
|
||||||
version = "0.9.4"
|
version = "0.9.5"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"async-trait",
|
"async-trait",
|
||||||
@@ -3282,7 +3282,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "rustical_store_sqlite"
|
name = "rustical_store_sqlite"
|
||||||
version = "0.9.4"
|
version = "0.9.5"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"async-trait",
|
"async-trait",
|
||||||
"chrono",
|
"chrono",
|
||||||
@@ -3303,7 +3303,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "rustical_xml"
|
name = "rustical_xml"
|
||||||
version = "0.9.4"
|
version = "0.9.5"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"quick-xml",
|
"quick-xml",
|
||||||
"thiserror 2.0.16",
|
"thiserror 2.0.16",
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
members = ["crates/*"]
|
members = ["crates/*"]
|
||||||
|
|
||||||
[workspace.package]
|
[workspace.package]
|
||||||
version = "0.9.4"
|
version = "0.9.5"
|
||||||
edition = "2024"
|
edition = "2024"
|
||||||
description = "A CalDAV server"
|
description = "A CalDAV server"
|
||||||
documentation = "https://lennart-k.github.io/rustical/"
|
documentation = "https://lennart-k.github.io/rustical/"
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ docker run \
|
|||||||
-p 4000:4000 \
|
-p 4000:4000 \
|
||||||
-v YOUR_DATA_DIR:/var/lib/rustical/ \
|
-v YOUR_DATA_DIR:/var/lib/rustical/ \
|
||||||
-v OPTIONAL_YOUR_CONFIG_TOML:/etc/rustical/config.toml \ # (1)!
|
-v OPTIONAL_YOUR_CONFIG_TOML:/etc/rustical/config.toml \ # (1)!
|
||||||
-e RUSTICAL__CONFIG_OPTION="asd" \ # (2)!
|
-e RUSTICAL_CONFIG_OPTION="asd" \ # (2)!
|
||||||
ghcr.io/lennart-k/rustical
|
ghcr.io/lennart-k/rustical
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|||||||
11
docs/installation/notes.md
Normal file
11
docs/installation/notes.md
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
# Notes
|
||||||
|
|
||||||
|
## Kubernetes setup
|
||||||
|
|
||||||
|
If you setup RustiCal with Kubernetes and call the deployment `rustical`
|
||||||
|
Kubernetes will by default expose some environment variables starting with `RUSTICAL_`
|
||||||
|
that will be rejected by RustiCal.
|
||||||
|
So for now the solutions are either not calling the deployment `rustical` or setting
|
||||||
|
`enableServiceLinks: false`, see <https://kubernetes.io/docs/tutorials/services/connect-applications-service/#accessing-the-service>.
|
||||||
|
|
||||||
|
For the corresponding issue see <https://github.com/lennart-k/rustical/issues/122>
|
||||||
@@ -68,6 +68,7 @@ nav:
|
|||||||
- Installation:
|
- Installation:
|
||||||
- installation/index.md
|
- installation/index.md
|
||||||
- Configuration: installation/configuration.md
|
- Configuration: installation/configuration.md
|
||||||
|
- Notes: installation/notes.md
|
||||||
- Client Setup: setup/client.md
|
- Client Setup: setup/client.md
|
||||||
- OpenID Connect: setup/oidc.md
|
- OpenID Connect: setup/oidc.md
|
||||||
- Developers:
|
- Developers:
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
use crate::config::NextcloudLoginConfig;
|
use crate::config::NextcloudLoginConfig;
|
||||||
use axum::Router;
|
use axum::Router;
|
||||||
use axum::body::{Body, HttpBody};
|
use axum::body::{Body, HttpBody};
|
||||||
use axum::extract::Request;
|
use axum::extract::{DefaultBodyLimit, Request};
|
||||||
use axum::middleware::Next;
|
use axum::middleware::Next;
|
||||||
use axum::response::{Redirect, Response};
|
use axum::response::{Redirect, Response};
|
||||||
use axum::routing::{any, options};
|
use axum::routing::{any, options};
|
||||||
@@ -39,6 +39,7 @@ pub fn make_app<AS: AddressbookStore, CS: CalendarStore, S: SubscriptionStore>(
|
|||||||
nextcloud_login_config: NextcloudLoginConfig,
|
nextcloud_login_config: NextcloudLoginConfig,
|
||||||
dav_push_enabled: bool,
|
dav_push_enabled: bool,
|
||||||
session_cookie_samesite_strict: bool,
|
session_cookie_samesite_strict: bool,
|
||||||
|
payload_limit_mb: usize,
|
||||||
) -> Router<()> {
|
) -> Router<()> {
|
||||||
let birthday_store = Arc::new(ContactBirthdayStore::new(addr_store.clone()));
|
let birthday_store = Arc::new(ContactBirthdayStore::new(addr_store.clone()));
|
||||||
let combined_cal_store =
|
let combined_cal_store =
|
||||||
@@ -202,4 +203,5 @@ pub fn make_app<AS: AddressbookStore, CS: CalendarStore, S: SubscriptionStore>(
|
|||||||
response
|
response
|
||||||
},
|
},
|
||||||
))
|
))
|
||||||
|
.layer(DefaultBodyLimit::max(payload_limit_mb * 1000 * 1000))
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ pub struct HttpConfig {
|
|||||||
pub host: String,
|
pub host: String,
|
||||||
pub port: u16,
|
pub port: u16,
|
||||||
pub session_cookie_samesite_strict: bool,
|
pub session_cookie_samesite_strict: bool,
|
||||||
|
pub payload_limit_mb: usize,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Default for HttpConfig {
|
impl Default for HttpConfig {
|
||||||
@@ -16,6 +17,7 @@ impl Default for HttpConfig {
|
|||||||
host: "0.0.0.0".to_owned(),
|
host: "0.0.0.0".to_owned(),
|
||||||
port: 4000,
|
port: 4000,
|
||||||
session_cookie_samesite_strict: false,
|
session_cookie_samesite_strict: false,
|
||||||
|
payload_limit_mb: 4,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -117,6 +117,7 @@ async fn main() -> Result<()> {
|
|||||||
config.nextcloud_login.clone(),
|
config.nextcloud_login.clone(),
|
||||||
config.dav_push.enabled,
|
config.dav_push.enabled,
|
||||||
config.http.session_cookie_samesite_strict,
|
config.http.session_cookie_samesite_strict,
|
||||||
|
config.http.payload_limit_mb,
|
||||||
);
|
);
|
||||||
let app = ServiceExt::<Request>::into_make_service(
|
let app = ServiceExt::<Request>::into_make_service(
|
||||||
NormalizePathLayer::trim_trailing_slash().layer(app),
|
NormalizePathLayer::trim_trailing_slash().layer(app),
|
||||||
|
|||||||
Reference in New Issue
Block a user