Outline: Difference between revisions
imported>Sleepful No edit summary |
imported>Sleepful using staticpasswords instead |
||
Line 84: | Line 84: | ||
== Setup with Nginx == | == Setup with Nginx == | ||
Similar as before but this time with Nginx handling SSL | Similar as before but this time with Nginx handling SSL. We are also going to use a better way of adding static passwords in our configuration. Previous example used the <code>mockPassword</code> connector, which is [https://github.com/dexidp/dex/blob/8e07edc188222fed79a6db7c8e3e57e6d8e82df7/server/server.go#L566 an undocumented configuration option] in Dex, used solely to [https://github.com/dexidp/dex/blob/8e07edc188222fed79a6db7c8e3e57e6d8e82df7/server/handlers_test.go#L250 run some tests]. In the following example the [https://dexidp.io/docs/connectors/local/ staticPasswords] configuration is used instead, this allows using a hash for the password instead of clear text. This also allows setting a real email to the users which can be used to send notifications if an SMTP server is configured (e.g. <code>AWS SES, Postmark, Sendgrid</code>) through [https://search.nixos.org/options?channel=23.11&from=0&size=50&sort=relevance&type=packages&query=services.outline.smtp services.outline.smtp]. | ||
Keep in mind, if you created your first user with the previous method (mockPassword), that user is your only <code>admin</code> user and you need to keep it around in order to confer <code>admin</code> privileges to the next user. | |||
{{file|/etc/nixos/configuration.nix|nix|<nowiki> | {{file|/etc/nixos/configuration.nix|nix|<nowiki> | ||
Line 120: | Line 122: | ||
enable = true; | enable = true; | ||
publicUrl = "https://outline.example.tld"; | publicUrl = "https://outline.example.tld"; | ||
port = 3003; # using 3003 instead of default 3000 | port = 3003; # using 3003 instead of default 3000 just in case another service is already using 3000 | ||
forceHttps = false; | forceHttps = false; | ||
storage.storageType = "local"; | storage.storageType = "local"; | ||
Line 149: | Line 151: | ||
} | } | ||
]; | ]; | ||
staticPasswords = [ | |||
{ | { | ||
email = "user.email@example.com"; | |||
# bcrypt hash of the string "password": $(echo password | htpasswd -BinC 10 admin | cut -d: -f2) | |||
hash = "10$TDh68T5XUK10$TDh68T5XUK10$TDh68T5XUK"; | |||
username = "test"; | |||
# easily generated with `$ uuidgen` | |||
userID = "6D196B03-8A28-4D6E-B849-9298168CBA34"; | |||
} | } | ||
]; | ]; | ||
}; | }; | ||
}; | }; | ||
Line 169: | Line 169: | ||
== Reminder == | == Reminder == | ||
If you see an error that says something like | If you see an error that says something like <code>option "services.outline.storage.storageType" does not exist"</code> you may need to update your channels (<code>nix-channel --update</code>) | ||
== See also == | == See also == |