--- # generated by https://github.com/hashicorp/terraform-plugin-docs page_title: "immich_system_config Resource - immich" subcategory: "" description: |- Manages Immich system configuration. This is a singleton resource. --- # immich_system_config (Resource) Manages Immich system configuration. This is a singleton resource. ## Example Usage ```terraform resource "immich_system_config" "example" { password_login = { enabled = true } oauth = { enabled = true issuer_url = "https://keycloak.example.com/realms/immich" client_id = "immich-client" client_secret = "your-client-secret" scope = "openid profile email" button_text = "Login with Keycloak" auto_register = true } storage_template = { template = "{{y}}/{{y}}-{{m}}-{{d}}/{{filename}}" } machine_learning = { enabled = true url = "http://immich-machine-learning:3003" clip_model = "ViT-L-14__openai" } notifications = { smtp = { enabled = true host = "smtp.example.com" port = 587 username = "user@example.com" password = "secure-smtp-password" from = "immich@example.com" secure = true } } templates = { email = { welcome_template = "Welcome to Immich, {{name}}!" } } } ``` ## Schema ### Optional - `machine_learning` (Attributes) (see [below for nested schema](#nestedatt--machine_learning)) - `notifications` (Attributes) (see [below for nested schema](#nestedatt--notifications)) - `oauth` (Attributes) (see [below for nested schema](#nestedatt--oauth)) - `password_login` (Attributes) (see [below for nested schema](#nestedatt--password_login)) - `storage_template` (Attributes) (see [below for nested schema](#nestedatt--storage_template)) - `templates` (Attributes) (see [below for nested schema](#nestedatt--templates)) ### Nested Schema for `machine_learning` Optional: - `clip_model` (String) CLIP model to use. - `enabled` (Boolean) Enable machine learning features. - `facial_recognition_model` (String) Facial recognition model to use. - `url` (String) URL of the machine learning server. ### Nested Schema for `notifications` Optional: - `smtp` (Attributes) (see [below for nested schema](#nestedatt--notifications--smtp)) ### Nested Schema for `notifications.smtp` Optional: - `enabled` (Boolean) Enable SMTP email notifications. - `from` (String) Sender email address. - `host` (String) SMTP server hostname. - `ignore_cert` (Boolean) Whether to ignore certificate validation errors. - `password` (String, Sensitive) SMTP authentication password. - `port` (Number) SMTP server port. - `reply_to` (String) Reply-to email address. - `secure` (Boolean) Whether to use TLS/SSL. - `username` (String) SMTP authentication username. ### Nested Schema for `oauth` Optional: - `auto_launch` (Boolean) Auto launch OAuth login. - `auto_register` (Boolean) Auto register users via OAuth. - `button_text` (String) OAuth button text. - `client_id` (String) OAuth client ID. - `client_secret` (String, Sensitive) OAuth client secret. - `default_storage_quota` (Number) Default storage quota for new users in bytes. - `enabled` (Boolean) Enable OAuth login. - `issuer_url` (String) OAuth issuer URL. - `mobile_override_url` (String) Mobile override URL. - `mobile_redirect_uri` (String) Mobile redirect URI. - `scope` (String) OAuth scope. - `signing_algorithm` (String) Signing algorithm. ### Nested Schema for `password_login` Optional: - `enabled` (Boolean) Enable password login. ### Nested Schema for `storage_template` Optional: - `template` (String) Storage template (e.g. `{{y}}/{{y}}-{{m}}-{{d}}/{{filename}}`). ### Nested Schema for `templates` Optional: - `email` (Attributes) (see [below for nested schema](#nestedatt--templates--email)) ### Nested Schema for `templates.email` Optional: - `album_invite_template` (String) Email template for album invitations. - `album_update_template` (String) Email template for album updates. - `welcome_template` (String) Email template for welcome emails.