smartmachine 1.2.3 → 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (62) hide show
  1. checksums.yaml +4 -4
  2. data/lib/smart_machine/commands/grid.rb +8 -0
  3. data/lib/smart_machine/commands/grid_commands/emailer.rb +107 -0
  4. data/lib/smart_machine/commands/grid_commands/roundcube.rb +65 -0
  5. data/lib/smart_machine/configuration.rb +35 -2
  6. data/lib/smart_machine/credentials.rb +10 -0
  7. data/lib/smart_machine/engine.rb +6 -0
  8. data/lib/smart_machine/grids/adminer.rb +1 -0
  9. data/lib/smart_machine/grids/certbot.rb +1 -0
  10. data/lib/smart_machine/grids/emailer/.keep +0 -0
  11. data/lib/smart_machine/grids/emailer.rb +188 -0
  12. data/lib/smart_machine/grids/haproxy.rb +1 -0
  13. data/lib/smart_machine/grids/mariadb.rb +1 -0
  14. data/lib/smart_machine/grids/postgresql.rb +1 -0
  15. data/lib/smart_machine/grids/roundcube.rb +114 -0
  16. data/lib/smart_machine/machine.rb +7 -0
  17. data/lib/smart_machine/syncer.rb +10 -0
  18. data/lib/smart_machine/templates/dotsmartmachine/config/emailer/docker/command.rb +50 -0
  19. data/lib/smart_machine/templates/dotsmartmachine/config/emailer/docker/entrypoint.rb +196 -0
  20. data/lib/smart_machine/templates/dotsmartmachine/config/emailer/docker/logtailer.rb +75 -0
  21. data/lib/smart_machine/templates/dotsmartmachine/config/emailer/etc/dovecot/conf.d/10-auth.conf +132 -0
  22. data/lib/smart_machine/templates/dotsmartmachine/config/emailer/etc/dovecot/conf.d/10-mail.conf +427 -0
  23. data/lib/smart_machine/templates/dotsmartmachine/config/emailer/etc/dovecot/conf.d/10-master.conf +153 -0
  24. data/lib/smart_machine/templates/dotsmartmachine/config/emailer/etc/dovecot/conf.d/10-ssl.conf +87 -0
  25. data/lib/smart_machine/templates/dotsmartmachine/config/emailer/etc/dovecot/conf.d/15-mailboxes.conf +94 -0
  26. data/lib/smart_machine/templates/dotsmartmachine/config/emailer/etc/dovecot/conf.d/20-imap.conf +102 -0
  27. data/lib/smart_machine/templates/dotsmartmachine/config/emailer/etc/dovecot/conf.d/20-lmtp.conf +43 -0
  28. data/lib/smart_machine/templates/dotsmartmachine/config/emailer/etc/dovecot/conf.d/90-quota.conf +114 -0
  29. data/lib/smart_machine/templates/dotsmartmachine/config/emailer/etc/dovecot/conf.d/90-sieve.conf +229 -0
  30. data/lib/smart_machine/templates/dotsmartmachine/config/emailer/etc/dovecot/dovecot-sql.conf.ext +163 -0
  31. data/lib/smart_machine/templates/dotsmartmachine/config/emailer/etc/dovecot/sieve/learn-ham.sh +2 -0
  32. data/lib/smart_machine/templates/dotsmartmachine/config/emailer/etc/dovecot/sieve/learn-ham.sieve +5 -0
  33. data/lib/smart_machine/templates/dotsmartmachine/config/emailer/etc/dovecot/sieve/learn-spam.sh +2 -0
  34. data/lib/smart_machine/templates/dotsmartmachine/config/emailer/etc/dovecot/sieve/learn-spam.sieve +2 -0
  35. data/lib/smart_machine/templates/dotsmartmachine/config/emailer/etc/dovecot/sieve-after/spam-to-folder.sieve +6 -0
  36. data/lib/smart_machine/templates/dotsmartmachine/config/emailer/etc/haproxy/haproxy.cfg +58 -0
  37. data/lib/smart_machine/templates/dotsmartmachine/config/emailer/etc/monit/conf.d/services.cfg +70 -0
  38. data/lib/smart_machine/templates/dotsmartmachine/config/emailer/etc/monit/monitrc +344 -0
  39. data/lib/smart_machine/templates/dotsmartmachine/config/emailer/etc/opendkim.conf +71 -0
  40. data/lib/smart_machine/templates/dotsmartmachine/config/emailer/etc/postfix/main.cf +123 -0
  41. data/lib/smart_machine/templates/dotsmartmachine/config/emailer/etc/postfix/master.cf +149 -0
  42. data/lib/smart_machine/templates/dotsmartmachine/config/emailer/etc/postfix/mysql-sender-login-maps.cf +7 -0
  43. data/lib/smart_machine/templates/dotsmartmachine/config/emailer/etc/postfix/mysql-virtual-alias-domains.cf +7 -0
  44. data/lib/smart_machine/templates/dotsmartmachine/config/emailer/etc/postfix/mysql-virtual-alias-maps-domains.cf +7 -0
  45. data/lib/smart_machine/templates/dotsmartmachine/config/emailer/etc/postfix/mysql-virtual-alias-maps-masters.cf +7 -0
  46. data/lib/smart_machine/templates/dotsmartmachine/config/emailer/etc/postfix/mysql-virtual-alias-maps-users.cf +7 -0
  47. data/lib/smart_machine/templates/dotsmartmachine/config/emailer/etc/postfix/mysql-virtual-alias-maps-userstothemselves.cf +7 -0
  48. data/lib/smart_machine/templates/dotsmartmachine/config/emailer/etc/postfix/mysql-virtual-mailbox-domains.cf +7 -0
  49. data/lib/smart_machine/templates/dotsmartmachine/config/emailer/etc/postfix/mysql-virtual-mailbox-maps.cf +7 -0
  50. data/lib/smart_machine/templates/dotsmartmachine/config/emailer/etc/postfix-policyd-spf-python/policyd-spf.conf +12 -0
  51. data/lib/smart_machine/templates/dotsmartmachine/config/emailer/etc/spamassassin/local.cf +124 -0
  52. data/lib/smart_machine/templates/dotsmartmachine/config/emailer/usr/local/bin/quota-warning.sh +22 -0
  53. data/lib/smart_machine/templates/dotsmartmachine/config/emailer.yml +37 -0
  54. data/lib/smart_machine/templates/dotsmartmachine/config/engine.yml +2 -0
  55. data/lib/smart_machine/templates/dotsmartmachine/config/roundcube/etc/apache2/sites-available/000-default.conf +35 -0
  56. data/lib/smart_machine/templates/dotsmartmachine/config/roundcube/usr/local/etc/php/conf.d/zzz_roundcube-custom.ini +4 -0
  57. data/lib/smart_machine/templates/dotsmartmachine/config/roundcube/var/roundcube/config/config.custom.inc.php +25 -0
  58. data/lib/smart_machine/templates/dotsmartmachine/config/roundcube.yml +41 -0
  59. data/lib/smart_machine/templates/dotsmartmachine/config/users.yml +1 -1
  60. data/lib/smart_machine/version.rb +2 -2
  61. data/lib/smart_machine.rb +2 -0
  62. metadata +55 -4
@@ -0,0 +1,25 @@
1
+ <?php
2
+
3
+ /**
4
+ * Add custom roundcube config. It will be used when running roundcube.
5
+ */
6
+
7
+ $config['support_url'] = '';
8
+
9
+ $config['skin_logo'] = null;
10
+ /**
11
+ * $config['skin_logo'] = [
12
+ * // show the image /images/logo_login_small.png for the Login screen in the Elastic skin on small screens
13
+ * "elastic:login[small]" => "/images/logo_login_small.png",
14
+ * // show the image /images/logo_login.png for the Login screen in the Elastic skin
15
+ * "elastic:login" => "/images/logo_login.png",
16
+ * // show the image /images/logo_small.png in the Elastic skin
17
+ * "elastic:*[small]" => "/images/logo_small.png",
18
+ * // show the image /images/larry.png in the Larry skin
19
+ * "larry:*" => "/images/larry.png",
20
+ * // show the image /images/logo_login.png on the login template in all skins
21
+ * "login" => "/images/logo_login.png",
22
+ * // show the image /images/logo_print.png for all print type logos in all skins
23
+ * "[print]" => "/images/logo_print.png",
24
+ * ];
25
+ */
@@ -0,0 +1,41 @@
1
+ roundcubeone:
2
+ fqdn: "yourroundcubeone.yourdomain.com"
3
+ image: "roundcube/roundcubemail:1.6.8-apache"
4
+ sysadmin_email: "adminname@yourdomain.com"
5
+ networks: ["mysqlone-network"]
6
+ database_type: "mysql"
7
+ database_host: mysqlone
8
+ database_port: 3306
9
+ database_user: <%= SmartMachine.credentials.dig(:roundcubeone, :database_user) %>
10
+ database_pass: <%= SmartMachine.credentials.dig(:roundcubeone, :database_pass) %>
11
+ database_name: <%= SmartMachine.credentials.dig(:roundcubeone, :database_name) %>
12
+ mail_host: "ssl://youremailerone.yourdomain.com"
13
+ mail_port: 993
14
+ smtp_host: "tls://youremailerone.yourdomain.com"
15
+ smtp_port: 587
16
+ request_path: "/"
17
+ plugins: ["password", "managesieve", "archive", "zipdownload"]
18
+ skin: "elastic"
19
+ upload_max_filesize: "5M"
20
+ aspell_dictionaries: ["en"]
21
+
22
+ # roundcubetwo:
23
+ # fqdn: "yourroundcubetwo.yourdomain.com"
24
+ # image: "roundcube/roundcubemail:1.6.8-apache"
25
+ # sysadmin_email: "adminname@yourdomain.com"
26
+ # networks: ["mysqlone-network"]
27
+ # database_type: "mysql"
28
+ # database_host: mysqlone
29
+ # database_port: 3306
30
+ # database_user: <%= SmartMachine.credentials.dig(:roundcubetwo, :database_user) %>
31
+ # database_pass: <%= SmartMachine.credentials.dig(:roundcubetwo, :database_pass) %>
32
+ # database_name: <%= SmartMachine.credentials.dig(:roundcubetwo, :database_name) %>
33
+ # mail_host: "ssl://youremailerone.yourdomain.com"
34
+ # mail_port: 993
35
+ # smtp_host: "tls://youremailerone.yourdomain.com"
36
+ # smtp_port: 587
37
+ # request_path: "/"
38
+ # plugins: ["password", "managesieve", "archive", "zipdownload"]
39
+ # skin: "elastic"
40
+ # upload_max_filesize: "5M"
41
+ # aspell_dictionaries: ["en"]
@@ -1,4 +1,4 @@
1
1
  # The username and password will be used by nginx to provide htpasswd based authentication for each of the domains specified.
2
2
 
3
- git.yourdomain.com:
3
+ gitone.yourdomain.com:
4
4
  yourname@yourdomain.com: yourpassword
@@ -16,8 +16,8 @@ module SmartMachine
16
16
 
17
17
  module VERSION
18
18
  MAJOR = 1
19
- MINOR = 2
20
- TINY = 3
19
+ MINOR = 3
20
+ TINY = 0
21
21
  PRE = nil
22
22
 
23
23
  STRING = [MAJOR, MINOR, TINY, PRE].compact.join(".")
data/lib/smart_machine.rb CHANGED
@@ -23,6 +23,7 @@ require 'smart_machine/buildpackers/buildpacker'
23
23
  require 'smart_machine/buildpackers/rails'
24
24
 
25
25
  require 'smart_machine/grids/elasticsearch'
26
+ require 'smart_machine/grids/emailer'
26
27
  require 'smart_machine/grids/minio'
27
28
  require 'smart_machine/grids/mysql'
28
29
  require 'smart_machine/grids/nextcloud'
@@ -30,6 +31,7 @@ require 'smart_machine/grids/nginx'
30
31
  require 'smart_machine/grids/phpmyadmin'
31
32
  require 'smart_machine/grids/prereceiver'
32
33
  require 'smart_machine/grids/redis'
34
+ require 'smart_machine/grids/roundcube'
33
35
  # require 'smart_machine/grids/solr'
34
36
  require 'smart_machine/grids/terminal/wetty'
35
37
  require 'smart_machine/grids/terminal'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: smartmachine
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.3
4
+ version: 1.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - plainsource
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-06-06 00:00:00.000000000 Z
11
+ date: 2024-08-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: net-ssh
@@ -181,6 +181,7 @@ files:
181
181
  - lib/smart_machine/commands/engine.rb
182
182
  - lib/smart_machine/commands/grid.rb
183
183
  - lib/smart_machine/commands/grid_commands/elasticsearch.rb
184
+ - lib/smart_machine/commands/grid_commands/emailer.rb
184
185
  - lib/smart_machine/commands/grid_commands/minio.rb
185
186
  - lib/smart_machine/commands/grid_commands/mysql.rb
186
187
  - lib/smart_machine/commands/grid_commands/nextcloud.rb
@@ -188,6 +189,7 @@ files:
188
189
  - lib/smart_machine/commands/grid_commands/phpmyadmin.rb
189
190
  - lib/smart_machine/commands/grid_commands/prereceiver.rb
190
191
  - lib/smart_machine/commands/grid_commands/redis.rb
192
+ - lib/smart_machine/commands/grid_commands/roundcube.rb
191
193
  - lib/smart_machine/commands/grid_commands/sub_thor.rb
192
194
  - lib/smart_machine/commands/grid_commands/terminal.rb
193
195
  - lib/smart_machine/commands/machine.rb
@@ -199,18 +201,26 @@ files:
199
201
  - lib/smart_machine/credentials.rb
200
202
  - lib/smart_machine/docker.rb
201
203
  - lib/smart_machine/engine.rb
204
+ - lib/smart_machine/grids/adminer.rb
205
+ - lib/smart_machine/grids/certbot.rb
202
206
  - lib/smart_machine/grids/elasticsearch.rb
207
+ - lib/smart_machine/grids/emailer.rb
208
+ - lib/smart_machine/grids/emailer/.keep
209
+ - lib/smart_machine/grids/haproxy.rb
210
+ - lib/smart_machine/grids/mariadb.rb
203
211
  - lib/smart_machine/grids/minio.rb
204
212
  - lib/smart_machine/grids/mysql.rb
205
213
  - lib/smart_machine/grids/mysql/docker-entrypoint-initdb.d/.keep
206
214
  - lib/smart_machine/grids/nextcloud.rb
207
215
  - lib/smart_machine/grids/nginx.rb
208
216
  - lib/smart_machine/grids/phpmyadmin.rb
217
+ - lib/smart_machine/grids/postgresql.rb
209
218
  - lib/smart_machine/grids/prereceiver.rb
210
219
  - lib/smart_machine/grids/prereceiver/Dockerfile
211
220
  - lib/smart_machine/grids/prereceiver/pre-receive
212
221
  - lib/smart_machine/grids/redis.rb
213
222
  - lib/smart_machine/grids/redmine.rb
223
+ - lib/smart_machine/grids/roundcube.rb
214
224
  - lib/smart_machine/grids/solr.rb
215
225
  - lib/smart_machine/grids/solr/config/.keep
216
226
  - lib/smart_machine/grids/solr/config/README.txt
@@ -390,6 +400,43 @@ files:
390
400
  - lib/smart_machine/templates/dotsmartmachine/apps/containers/.keep
391
401
  - lib/smart_machine/templates/dotsmartmachine/apps/repositories/.keep
392
402
  - lib/smart_machine/templates/dotsmartmachine/config/elasticsearch.yml
403
+ - lib/smart_machine/templates/dotsmartmachine/config/emailer.yml
404
+ - lib/smart_machine/templates/dotsmartmachine/config/emailer/docker/command.rb
405
+ - lib/smart_machine/templates/dotsmartmachine/config/emailer/docker/entrypoint.rb
406
+ - lib/smart_machine/templates/dotsmartmachine/config/emailer/docker/logtailer.rb
407
+ - lib/smart_machine/templates/dotsmartmachine/config/emailer/etc/dovecot/conf.d/10-auth.conf
408
+ - lib/smart_machine/templates/dotsmartmachine/config/emailer/etc/dovecot/conf.d/10-mail.conf
409
+ - lib/smart_machine/templates/dotsmartmachine/config/emailer/etc/dovecot/conf.d/10-master.conf
410
+ - lib/smart_machine/templates/dotsmartmachine/config/emailer/etc/dovecot/conf.d/10-ssl.conf
411
+ - lib/smart_machine/templates/dotsmartmachine/config/emailer/etc/dovecot/conf.d/15-mailboxes.conf
412
+ - lib/smart_machine/templates/dotsmartmachine/config/emailer/etc/dovecot/conf.d/20-imap.conf
413
+ - lib/smart_machine/templates/dotsmartmachine/config/emailer/etc/dovecot/conf.d/20-lmtp.conf
414
+ - lib/smart_machine/templates/dotsmartmachine/config/emailer/etc/dovecot/conf.d/90-quota.conf
415
+ - lib/smart_machine/templates/dotsmartmachine/config/emailer/etc/dovecot/conf.d/90-sieve.conf
416
+ - lib/smart_machine/templates/dotsmartmachine/config/emailer/etc/dovecot/dovecot-sql.conf.ext
417
+ - lib/smart_machine/templates/dotsmartmachine/config/emailer/etc/dovecot/sieve-after/spam-to-folder.sieve
418
+ - lib/smart_machine/templates/dotsmartmachine/config/emailer/etc/dovecot/sieve/learn-ham.sh
419
+ - lib/smart_machine/templates/dotsmartmachine/config/emailer/etc/dovecot/sieve/learn-ham.sieve
420
+ - lib/smart_machine/templates/dotsmartmachine/config/emailer/etc/dovecot/sieve/learn-spam.sh
421
+ - lib/smart_machine/templates/dotsmartmachine/config/emailer/etc/dovecot/sieve/learn-spam.sieve
422
+ - lib/smart_machine/templates/dotsmartmachine/config/emailer/etc/haproxy/haproxy.cfg
423
+ - lib/smart_machine/templates/dotsmartmachine/config/emailer/etc/monit/conf.d/services.cfg
424
+ - lib/smart_machine/templates/dotsmartmachine/config/emailer/etc/monit/monitrc
425
+ - lib/smart_machine/templates/dotsmartmachine/config/emailer/etc/opendkim.conf
426
+ - lib/smart_machine/templates/dotsmartmachine/config/emailer/etc/postfix-policyd-spf-python/policyd-spf.conf
427
+ - lib/smart_machine/templates/dotsmartmachine/config/emailer/etc/postfix/main.cf
428
+ - lib/smart_machine/templates/dotsmartmachine/config/emailer/etc/postfix/master.cf
429
+ - lib/smart_machine/templates/dotsmartmachine/config/emailer/etc/postfix/mysql-sender-login-maps.cf
430
+ - lib/smart_machine/templates/dotsmartmachine/config/emailer/etc/postfix/mysql-virtual-alias-domains.cf
431
+ - lib/smart_machine/templates/dotsmartmachine/config/emailer/etc/postfix/mysql-virtual-alias-maps-domains.cf
432
+ - lib/smart_machine/templates/dotsmartmachine/config/emailer/etc/postfix/mysql-virtual-alias-maps-masters.cf
433
+ - lib/smart_machine/templates/dotsmartmachine/config/emailer/etc/postfix/mysql-virtual-alias-maps-users.cf
434
+ - lib/smart_machine/templates/dotsmartmachine/config/emailer/etc/postfix/mysql-virtual-alias-maps-userstothemselves.cf
435
+ - lib/smart_machine/templates/dotsmartmachine/config/emailer/etc/postfix/mysql-virtual-mailbox-domains.cf
436
+ - lib/smart_machine/templates/dotsmartmachine/config/emailer/etc/postfix/mysql-virtual-mailbox-maps.cf
437
+ - lib/smart_machine/templates/dotsmartmachine/config/emailer/etc/spamassassin/local.cf
438
+ - lib/smart_machine/templates/dotsmartmachine/config/emailer/usr/local/bin/quota-warning.sh
439
+ - lib/smart_machine/templates/dotsmartmachine/config/engine.yml
393
440
  - lib/smart_machine/templates/dotsmartmachine/config/environment.rb
394
441
  - lib/smart_machine/templates/dotsmartmachine/config/minio.yml
395
442
  - lib/smart_machine/templates/dotsmartmachine/config/mysql.yml
@@ -400,6 +447,10 @@ files:
400
447
  - lib/smart_machine/templates/dotsmartmachine/config/phpmyadmin/phpmyadminone/config.user.inc.php
401
448
  - lib/smart_machine/templates/dotsmartmachine/config/prereceiver.yml
402
449
  - lib/smart_machine/templates/dotsmartmachine/config/redis.yml
450
+ - lib/smart_machine/templates/dotsmartmachine/config/roundcube.yml
451
+ - lib/smart_machine/templates/dotsmartmachine/config/roundcube/etc/apache2/sites-available/000-default.conf
452
+ - lib/smart_machine/templates/dotsmartmachine/config/roundcube/usr/local/etc/php/conf.d/zzz_roundcube-custom.ini
453
+ - lib/smart_machine/templates/dotsmartmachine/config/roundcube/var/roundcube/config/config.custom.inc.php
403
454
  - lib/smart_machine/templates/dotsmartmachine/config/terminal.yml
404
455
  - lib/smart_machine/templates/dotsmartmachine/config/users.yml
405
456
  - lib/smart_machine/templates/dotsmartmachine/gitignore-template
@@ -417,8 +468,8 @@ licenses:
417
468
  metadata:
418
469
  homepage_uri: https://github.com/plainsource/smartmachine
419
470
  bug_tracker_uri: https://github.com/plainsource/smartmachine/issues
420
- changelog_uri: https://github.com/plainsource/smartmachine/releases/tag/v1.2.3
421
- source_code_uri: https://github.com/plainsource/smartmachine/tree/v1.2.3
471
+ changelog_uri: https://github.com/plainsource/smartmachine/releases/tag/v1.3.0
472
+ source_code_uri: https://github.com/plainsource/smartmachine/tree/v1.3.0
422
473
  post_install_message:
423
474
  rdoc_options: []
424
475
  require_paths: