{ "schema_version": 3, "id": "email", "name": "Email", "description": "Postfix (SMTP) + Dovecot (IMAP) email server with Rainloop webmail", "version": "1.0.0", "author": "pic", "kind": "builtin", "min_pic_version": "1.0", "capabilities": { "has_subdomain": true, "has_accounts": true, "has_admin_config": true, "has_storage": true, "has_egress": true, "has_api_hooks": false }, "subdomain": "mail", "extra_subdomains": ["webmail"], "backend": "cell-rainloop:8888", "containers": ["cell-mail", "cell-rainloop"], "config_schema": { "domain": { "type": "string", "label": "Mail domain", "required": true }, "smtp_port": { "type": "integer", "label": "SMTP port", "default": 25, "min": 1, "max": 65535 }, "submission_port": { "type": "integer", "label": "Submission port", "default": 587, "min": 1, "max": 65535 }, "imap_port": { "type": "integer", "label": "IMAP port", "default": 993, "min": 1, "max": 65535 }, "webmail_port": { "type": "integer", "label": "Webmail port (internal)", "default": 8888, "min": 1, "max": 65535 } }, "peer_config_template": { "imap_server": "{domain}", "imap_port": "{config.imap_port}", "smtp_server": "{domain}", "smtp_port": "{config.submission_port}", "webmail_url": "https://mail.{domain}/", "username": "{peer.username}@{domain}", "password": "{peer.service_credentials.email.password}" }, "accounts": { "manager": "email_manager", "credentials": ["password"] }, "compose": null, "backup": { "volumes": [ {"container": "cell-mail", "path": "/var/mail", "name": "maildata"}, {"container": "cell-mail", "path": "/var/mail-state", "name": "mailstate"}, {"container": "cell-rainloop", "path": "/rainloop/data", "name": "rainloop"} ], "config_paths": [ "config/mail" ] }, "egress": { "default": "default", "allowed": ["default", "wireguard_ext", "openvpn", "tor"] }, "storage": { "primary_path": "data/maildata", "quota_mb": null } }