···1212# WebFinger redirect at ewancroft.uk (Vercel) still points to
1313# ap.ewancroft.uk, so handles resolve as @ewan@ewancroft.uk unchanged.
1414#
1515-# PostgreSQL + Redis:
1616-# services.sharkey.setupPostgresql and setupRedis both default to true in
1717-# nixpkgs, so local instances are provisioned and wired automatically.
1515+# PostgreSQL + Redis + Meilisearch:
1616+# services.sharkey.setupPostgresql, setupRedis, and setupMeilisearch are all
1717+# enabled. setupMeilisearch starts a local Meilisearch instance on port 7700
1818+# and wires it into Sharkey's config automatically via the NixOS module.
1819#
1920# Secrets (secrets/sharkey.env — sops dotenv):
2021# MK_CONFIG_DB_PASS=... PostgreSQL password for the sharkey user
2121-# MK_CONFIG_SMTP_PASS=... Resend API key
2222+#
2323+# SMTP is configured via Admin → Settings → Email in the Sharkey web UI,
2424+# NOT via the YAML config. There is no smtp key in the config schema.
2225#
2326# First-run:
2427# Open https://ap.ewancroft.uk — Sharkey prompts for initial setup.
···5962 environmentFiles = [ config.sops.secrets."sharkey.env".path ];
60636164 # Automatically provision a local PostgreSQL database and Redis instance.
6262- # Both default to true in nixpkgs — kept explicit here for clarity.
6365 setupPostgresql = true;
6466 setupRedis = true;
6767+6868+ # Meilisearch full-text search — local instance managed by the NixOS module.
6969+ # Starts services.meilisearch on localhost:7700 and wires the API key automatically.
7070+ setupMeilisearch = true;
7171+6572 openFirewall = false;
66736774 settings = {
···7178 port = sk.port;
7279 address = "127.0.0.1";
73808181+ # ID generation algorithm — do NOT change after initial setup.
8282+ # Changing this after data exists will corrupt existing record IDs.
8383+ id = "aidx";
8484+8585+ # Full-text search via Meilisearch — local instance on localhost:7700.
8686+ # setupMeilisearch = true above provisions the service and API key automatically.
8787+ fulltextSearch.provider = "meilisearch";
8888+7489 # Media storage on /srv — survives rebuilds, same disk as other services.
7590 mediaDirectory = sk.mediaDir;
76917777- # SMTP via Resend — for password resets / notifications.
7878- # Password injected via MK_CONFIG_SMTP_PASS in the env file.
7979- smtp = {
8080- host = "smtp.resend.com";
8181- port = 587;
8282- secure = false; # STARTTLS
8383- user = "resend";
8484- from = "sharkey@server.ewancroft.uk";
8585- };
9292+ # NOTE: SMTP / email is NOT configured here.
9393+ # Sharkey stores email server settings in the database, configured via
9494+ # Admin → Settings → Email in the web UI. There is no smtp key in the
9595+ # Sharkey YAML config schema.
8696 };
8797 };
8898