automatically bootstrap mail accounts
This commit is contained in:
parent
73f96265b1
commit
c319bfea1f
2 changed files with 54 additions and 2 deletions
2
Makefile
2
Makefile
|
|
@ -1,2 +1,2 @@
|
||||||
all:
|
all:
|
||||||
sudo -E QEMU_NET_OPTS="hostfwd=tcp::80-:80" NIX_PATH=nixpkgs=/home/onny/projects/nixpkgs nixos-shell vm-nextcloud.nix
|
QEMU_NET_OPTS="hostfwd=tcp::8080-:80,hostfwd=tcp::1433-:143,hostfwd=tcp::2525-:25" NIX_PATH=nixpkgs=/home/onny/projects/nixpkgs nixos-shell vm-nextcloud.nix
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,26 @@
|
||||||
{ pkgs, ... }: {
|
{ pkgs, ... }: {
|
||||||
|
|
||||||
|
nixpkgs = {
|
||||||
|
overlays = [
|
||||||
|
(self: super: {
|
||||||
|
# Remove first run wizard from Nextcloud package
|
||||||
|
nextcloud25 = super.nextcloud25.overrideAttrs (oldAttrs: rec {
|
||||||
|
installPhase = oldAttrs.installPhase + ''
|
||||||
|
rm -r $out/apps/firstrunwizard
|
||||||
|
'';
|
||||||
|
});
|
||||||
|
})
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
services.nextcloud = {
|
services.nextcloud = {
|
||||||
enable = true;
|
enable = true;
|
||||||
package = pkgs.nextcloud25;
|
package = pkgs.nextcloud25;
|
||||||
hostName = "localhost";
|
hostName = "localhost";
|
||||||
config.adminpassFile = "${pkgs.writeText "adminpass" "hunter2"}";
|
config = {
|
||||||
|
adminuser = "admin";
|
||||||
|
adminpassFile = "${pkgs.writeText "adminpass" "test123"}";
|
||||||
|
};
|
||||||
extraApps = {
|
extraApps = {
|
||||||
circles = pkgs.fetchNextcloudApp rec {
|
circles = pkgs.fetchNextcloudApp rec {
|
||||||
url = "https://github.com/nextcloud-releases/circles/releases/download/0.21.4/circles-0.21.4.tar.gz";
|
url = "https://github.com/nextcloud-releases/circles/releases/download/0.21.4/circles-0.21.4.tar.gz";
|
||||||
|
|
@ -14,9 +30,45 @@
|
||||||
url = "https://github.com/nextcloud-releases/calendar/releases/download/v4.1.0/calendar-v4.1.0.tar.gz";
|
url = "https://github.com/nextcloud-releases/calendar/releases/download/v4.1.0/calendar-v4.1.0.tar.gz";
|
||||||
sha256 = "sha256-KALFhCNjofFQMntv3vyL0TJxqD/mBkeDpxt8JV4CPAM=";
|
sha256 = "sha256-KALFhCNjofFQMntv3vyL0TJxqD/mBkeDpxt8JV4CPAM=";
|
||||||
};
|
};
|
||||||
|
mail = pkgs.nextcloud25Packages.apps.mail;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
services.maddy = {
|
||||||
|
enable = true;
|
||||||
|
hostname = "localhost";
|
||||||
|
primaryDomain = "localhost";
|
||||||
|
};
|
||||||
|
|
||||||
|
programs.msmtp = {
|
||||||
|
enable = true;
|
||||||
|
accounts.default = {
|
||||||
|
host = "localhost";
|
||||||
|
tls = false;
|
||||||
|
port = 587;
|
||||||
|
from = "admin@localhost";
|
||||||
|
user = "admin@localhost";
|
||||||
|
password = "test123";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
systemd.services.maddy-accounts = {
|
||||||
|
script = ''
|
||||||
|
set -eu
|
||||||
|
${pkgs.coreutils}/bin/echo "Creating mail users and inboxes"
|
||||||
|
${pkgs.maddy}/bin/maddyctl creds create --password test123 user1@localhost
|
||||||
|
${pkgs.maddy}/bin/maddyctl imap-acct create user1@localhost
|
||||||
|
${pkgs.maddy}/bin/maddyctl creds create --password test123 user2@localhost
|
||||||
|
${pkgs.maddy}/bin/maddyctl imap-acct create user2@localhost
|
||||||
|
'';
|
||||||
|
serviceConfig = {
|
||||||
|
Type = "oneshot";
|
||||||
|
User= "maddy";
|
||||||
|
};
|
||||||
|
after = [ "maddy.service" ];
|
||||||
|
wantedBy = [ "multi-user.target" ];
|
||||||
|
};
|
||||||
|
|
||||||
documentation.info.enable = false;
|
documentation.info.enable = false;
|
||||||
documentation.man.enable = false;
|
documentation.man.enable = false;
|
||||||
documentation.nixos.enable = false;
|
documentation.nixos.enable = false;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue