This repository has been archived by the owner on Nov 26, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 7
/
instance.cfg
180 lines (168 loc) · 6.36 KB
/
instance.cfg
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
# Bootstrap rules to set up the initial GroupServer site
[instance]
# Create the bin/instance script to start the Zope instance that runs
# GroupServer.
recipe = plone.recipe.zope2instance
environment-vars =
zope_i18n_compile_mo_files true
eggs = ${buildout:eggs}
zcml = ${buildout:zope-eggs}
products = ${buildout:directory}/src
user = ${config:zope_admin}:${config:zope_password}
http-address = ${config:zope_host}:${config:zope_port}
debug-mode = off
enable-product-installation = off
extra-paths = ${buildout:directory}/parts/site-packages/
rel-storage =
type postgresql
dsn dbname='${config:relstorage_dbname}' user='${config:relstorage_user}' host='${config:relstorage_host}' port='${config:relstorage_port}' password='${config:relstorage_password}'
[depsDoneMesg]
recipe = collective.recipe.cmd:py
on_install = true
on_update = false
cmds =
>>> print ('\033[1m')
>>> print ("==============================================================")
>>> print ("\033[0m" "The dependencies should now be installed. Next up is ")
>>> print ("configuring GroupServer, including creating the database")
>>> print ("tables, the initial SMTP configuration, and creating your")
>>> print ("initial site and group." "\033[1m")
>>> print ("==============================================================")
>>> print ('\033[0m')
[gs-recipe-createtables]
# Create the relational-database tables used by GroupServer
recipe = gs.recipe.createtables
# --=mpj17=-- For those that are interested, the way buildout works is
# as follows. The recipe (gs.recipe.setupgs) is called with all the
# options specified in this section as arguments. A recipe can only
# see the options in its own section, so the ${config:} construct is
# used to share options between the sections.
database_username = ${config:pgsql_user}
database_password = ${config:pgsql_password}
database_host = ${config:pgsql_host}
database_port = ${config:pgsql_port}
database_name = ${config:pgsql_dbname}
# The order of the products is *very* important.
products =
gs.option
Products.GSAuditTrail
gs.profile.email.base
gs.profile.email.verify
gs.profile.password
gs.profile.status.base
Products.CustomUserFolder
gs.group.member.email.base
gs.group.member.join
gs.group.member.subscribe
gs.group.messages.post.base
gs.group.messages.post.hide
gs.group.messages.topic.base
gs.group.messages.files
gs.group.messages.topic.digest.base
Products.XWFMailingListManager
gs.group.member.bounce
gs.group.member.invite.base
gs.group.member.request
[gs-recipe-config]
# Create a GroupServer configuration files (for the relational
# database connection and the outgoing SMTP).
recipe = gs.recipe.config
dest = ${buildout:directory}/etc/gsconfig.ini
database_host = ${config:pgsql_host}
database_port = ${config:pgsql_port}
database_username = ${config:pgsql_user}
database_password = ${config:pgsql_password}
database_name = ${config:pgsql_dbname}
smtp_host = ${config:smtp_host}
smtp_port = ${config:smtp_port}
smtp_user = ${config:smtp_user}
smtp_password = ${config:smtp_password}
[gs-recipe-postfix]
# Create the Postfix configuration files for GroupServer (the incoming SMTP)
recipe = gs.recipe.postfix
smtp2gs_path = ${buildout:directory}/bin/smtp2gs
site = ${config:host}
port = ${config:zope_port}
[gs-recipe-setupgs]
# Create a GroupServer site in the Zope instance.
recipe = gs.recipe.setupgs
zope_admin_name = ${config:zope_admin}
instance_id = groupserver
instance_title = Initial GroupServer Instance
gs_support_email = ${config:support_email}
gs_admin_email = ${config:admin_email}
gs_admin_password = ${config:admin_password}
gs_host = ${config:host}
gs_port = ${config:zope_port}
gs_smtp_host = ${config:smtp_host}
gs_smtp_port = ${config:smtp_port}
gs_smtp_user = ${config:smtp_user}
gs_smtp_password = ${config:smtp_password}
[gsDoneMesg]
recipe = collective.recipe.cmd:py
on_install = true
on_update = false
cmds =
>>> print ('\033[1m')
>>> print ("==============================================================")
>>> print ('\033[0m' "Your GroupServer site should all be set up. Finally, some")
>>> print ("utility scripts need be created." '\033[1m')
>>> print ("==============================================================")
>>> print ('\033[2m')
[gs-script-createtoken]
# Create the bin/gs_auth_token_create script
recipe = zc.recipe.egg
eggs = gs.auth.token
scripts = gs_auth_token_create
[gs-script-smtp2gs]
# Create the bin/smtp2gs scipt
#
# --=mpj17=-- Rather relying on the raw console_scripts in the setup.py for
# gs.group.messages.add egg I have created this section to create an
# *environment* for installation. This environment will be used to install
# the script with *very* few eggs. This allows the script to start up more
# quickly (saving at least 4s on my development machine).
#
# The script itself is specified in the entry_points/console_scripts of the
# egg-setup.
recipe = zc.recipe.egg
eggs = gs.group.messages.add.smtp2gs
gs.config
gs.form
scripts = smtp2gs
arguments = "${buildout:directory}/etc/gsconfig.ini"
[gs-script-mbox2gs]
# Create the bin/mbox2gs script
recipe = zc.recipe.egg
eggs = gs.group.messages.add.mbox2gs
gs.config
gs.form
gs.group.messages.add.smtp2gs
scripts = mbox2gs
arguments = "${buildout:directory}/etc/gsconfig.ini"
[gs-script-senddigest]
# Create the bin/senddigest script
recipe = zc.recipe.egg
eggs = gs.group.messages.topic.digest.send
scripts = senddigest
arguments = "${buildout:directory}/etc/gsconfig.ini"
[gs-script-sendprofile]
# Create the bin/sendprofile script
recipe = zc.recipe.egg
eggs = gs.profile.status.send
scripts = sendprofile
[doneMesg]
recipe = collective.recipe.cmd:py
on_install = true
on_update = false
cmds =
>>> print ('\033[0m\033[1m')
>>> print ("===================================================================")
>>> print ('\033[0m' "If all went well you should be able to now start GroupServer with")
>>> print (" \033[1m$\033[0m ${buildout:directory}/bin/instance fg")
>>> print ('')
>>> print ("Use \033[1mControl-c\033[0m to stop it. For more information see")
>>> print ("docs/groupserver-start.rst or")
>>> print ('http://groupserver.readthedocs.io/en/latest/groupserver-start.html')
>>> print ("\033[1m===================================================================")
>>> print ('\033[0m')