smartmachine 1.2.3 → 1.3.0

Sign up to get free protection for your applications and to get access to all the features.
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: