# This file holds common configuration [buildout] extends = pinned_versions.cfg floating_versions.cfg https://raw.githubusercontent.com/starzel/buildout/master/linkto/hotfixes/5.0.5.cfg zeo-ha-parts = zeoserver zeoclient1 zeoclient2 zeoclient_debug haproxy haproxy-conf nginx-parts = nginx-conf zeo-single-parts = zeoserver zeoclient1 zeoclient_debug varnish-parts = varnish-build varnish-config varnish supervisor-parts = supervisor supervisor-conf cron-parts = backup-crontab zeopack-crontab supervisor-crontab logrotate-crontab allow-picked-versions = false show-picked-versions = true prod-environment = PTS_LANGUAGES ${buildout:languages} zope_i18n_allowed_languages ${buildout:languages} zope_i18n_compile_mo_files true unzip = true sources = sources sources-dir = src-mrd auto-checkout = eggs += extensions = mr.developer [zeoserver] recipe = plone.recipe.zeoserver zeo-address = ${bindips:zeoserver}:${ports:zeoserver} socket-name = ${buildout:vardir}/zeo.zdsock file-storage = ${buildout:vardir}/filestorage/Data.fs blob-storage = ${buildout:vardir}/blobstorage zeo-log = ${buildout:logdir}/zeoserver.log pid-file = ${buildout:vardir}/zeoserver.pid pack-days = 7 pack-keep-old = false [instance-base] recipe = plone.recipe.zope2instance eggs = ${buildout:eggs} zcml = ${buildout:zcml} user = ${buildout:login}:${buildout:password} zeo-client = True zeo-address = ${zeoserver:zeo-address} blob-storage = ${zeoserver:blob-storage} var = ${buildout:vardir} shared-blob = on zserver-threads = 2 http-fast-listen = off z2-log = /dev/null environment-vars = ${buildout:prod-environment} [zeoclient1] recipe = plone.recipe.zope2instance http-address = ${ports:zeoclient1} ip-address = ${bindips:zeoclient1} user = ${instance-base:user} zeo-client = ${instance-base:zeo-client} zeo-address = ${instance-base:zeo-address} blob-storage = ${instance-base:blob-storage} var = ${instance-base:var} shared-blob = ${instance-base:shared-blob} zserver-threads = ${instance-base:zserver-threads} http-fast-listen = ${instance-base:http-fast-listen} z2-log = ${instance-base:z2-log} eggs = ${instance-base:eggs} zcml = ${instance-base:zcml} environment-vars = ${instance-base:environment-vars} [zeoclient2] recipe = plone.recipe.zope2instance http-address = ${ports:zeoclient2} ip-address = ${bindips:zeoclient2} user = ${instance-base:user} zeo-client = ${instance-base:zeo-client} zeo-address = ${instance-base:zeo-address} blob-storage = ${instance-base:blob-storage} var = ${instance-base:var} shared-blob = ${instance-base:shared-blob} zserver-threads = ${instance-base:zserver-threads} http-fast-listen = ${instance-base:http-fast-listen} z2-log = ${instance-base:z2-log} eggs = ${instance-base:eggs} zcml = ${instance-base:zcml} environment-vars = ${instance-base:environment-vars} [zeoclient_debug] recipe = plone.recipe.zope2instance http-address = ${ports:zeoclient_debug} ip-address = ${bindips:zeoclient_debug} verbose-security = on user = ${instance-base:user} zeo-client = ${instance-base:zeo-client} zeo-address = ${instance-base:zeo-address} blob-storage = ${instance-base:blob-storage} var = ${instance-base:var} shared-blob = ${instance-base:shared-blob} zserver-threads = ${instance-base:zserver-threads} http-fast-listen = ${instance-base:http-fast-listen} z2-log = ${instance-base:z2-log} eggs = ${instance-base:eggs} zcml = ${instance-base:zcml} environment-vars = ${instance-base:environment-vars} [supervisor] recipe = zc.recipe.egg eggs = supervisor superlance [supervisor-conf] recipe = collective.recipe.template input = ${buildout:directory}/templates/supervisord.conf output = ${buildout:directory}/etc/supervisord.conf [backup] recipe = collective.recipe.backup location = ${buildout:backupdir}/backups/filestorage blobbackuplocation = ${buildout:backupdir}/backups/blob keep = 2 # This one is important. # It assumes that you are packing your database weekly. # If you don't you might loose blobs if you did not do # a database packing in the last 14 days # the calulation for the right value is this: # {backup:full} * time between two db packs keep_blob_days = 14 datafs = ${zeoserver:file-storage} snapshotlocation = ${buildout:backupdir}/snapshotbackups/filestorage blobsnapshotlocation = ${buildout:backupdir}/snapshotbackups/blob [precompiler] recipe = plone.recipe.precompiler eggs = ${buildout:eggs} compile-mo-files = true [logrotate] recipe = collective.recipe.template input = ${buildout:directory}/templates/logrotate.conf output = ${buildout:directory}/etc/logrotate.conf [backup-crontab] recipe = z3c.recipe.usercrontab times = 37 2 * * * command = ${buildout:directory}/bin/backup --quiet [zeopack-crontab] recipe = z3c.recipe.usercrontab times = 47 1 3 * * command = ${buildout:bin-directory}/zeopack [logrotate-crontab] recipe = z3c.recipe.usercrontab times = 57 23 * * * command = /usr/sbin/logrotate -s ${buildout:vardir}/logrotate.status ${buildout:directory}/etc/logrotate.conf [supervisor-crontab] recipe = z3c.recipe.usercrontab times = @reboot command = ${buildout:bin-directory}/supervisord [env] recipe = gocept.recipe.env [grp] recipe = collective.recipe.grp [haproxy] recipe = plone.recipe.haproxy url = ${download-links:haproxy} target = linux26 [haproxy-conf] recipe = collective.recipe.template input = ${buildout:directory}/templates/haproxy.cfg output = ${buildout:directory}/etc/haproxy.cfg user = ${env:USER} group = ${grp:GROUP} frontend-host = ${bindips:haproxy} frontend-port = ${ports:haproxy} [varnish-build] recipe = zc.recipe.cmmi url = ${download-links:varnish} [varnish-config] recipe = collective.recipe.template input = templates/varnish_3x.vcl.in output = ${buildout:directory}/etc/varnish.vcl backend-host = ${bindips:haproxy} backend-port = ${ports:haproxy} [varnish] recipe = plone.recipe.varnish varnish_version = 3 daemon = ${buildout:parts-directory}/varnish-build/sbin/varnishd config = ${buildout:directory}/etc/varnish.vcl bind = ${bindips:varnish}:${ports:varnish} cache-size = 64M mode = foreground runtime-parameters = default_ttl=0 thread_pool_max=100 [nginx-conf] recipe = collective.recipe.template input = ${buildout:directory}/templates/nginx.conf output = ${buildout:directory}/etc/nginx.conf