{"id":25176363,"url":"https://github.com/redturtle/deployments.buildout.plone","last_synced_at":"2025-05-06T23:18:56.097Z","repository":{"id":7592442,"uuid":"8948919","full_name":"RedTurtle/deployments.buildout.plone","owner":"RedTurtle","description":"Plone buildout deployments","archived":false,"fork":false,"pushed_at":"2023-01-27T13:18:55.000Z","size":809,"stargazers_count":7,"open_issues_count":3,"forks_count":4,"subscribers_count":16,"default_branch":"master","last_synced_at":"2025-03-31T03:51:41.586Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/RedTurtle.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGES.md","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2013-03-22T09:42:02.000Z","updated_at":"2023-08-18T15:39:45.000Z","dependencies_parsed_at":"2023-02-15T09:31:28.202Z","dependency_job_id":null,"html_url":"https://github.com/RedTurtle/deployments.buildout.plone","commit_stats":null,"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RedTurtle%2Fdeployments.buildout.plone","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RedTurtle%2Fdeployments.buildout.plone/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RedTurtle%2Fdeployments.buildout.plone/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RedTurtle%2Fdeployments.buildout.plone/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/RedTurtle","download_url":"https://codeload.github.com/RedTurtle/deployments.buildout.plone/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252782922,"owners_count":21803420,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-02-09T13:16:59.078Z","updated_at":"2025-05-06T23:18:56.077Z","avatar_url":"https://github.com/RedTurtle.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Plone 5 buildout (python3)#\n\n[![Build Status](https://travis-ci.org/RedTurtle/deployments.buildout.plone.png?branch=master)](https://travis-ci.org/RedTurtle/deployments.buildout.plone)\n\n## Introduction ##\nThis is the a very basic buildout template to run Plone.\nIt is designed to make developer life easier.\n\n## I am feeling lucky! ##\nLucky people read the documentation,\nanyway if you have a local copy of this buildout,\ntry to run this command:\n```bash\n./.imfeelinglucky.sh\n```\n\n## For the impatients ##\nMake a symlink to the file you want to use (e.g. `development.cfg`)\nand start the buildout:\n```bash\nvirtualenv --no-site-packages -p `which python3.7` .\n. bin/activate\npip install -r requirements.txt\nln -s profiles/development.cfg buildout.cfg\nbuildout\n```\n\n## For volto users ##\nIf you need to develop a [Volto](https://github.com/plone/volto) project, you \nprobably need to handle CORS. You can do this through a profile file, extending \nconfig/volto.cfg. E.g. in profiles/development.cfg you can do:\n\n```\n[buildout]\nextends =\n    config/development.cfg\n    config/volto.cfg\n```\n\nDon't forget you also need to use collective.folderishtypes so extend your \nbuildout with it:\n```\neggs +=\n    ${plone:eggs}\n    collective.folderishtypes\n```\nor put this package in your dependencies\n\n## Before you start ##\nProbably you may want to set up your system and configure some parameters!\nDon't forget to read the full documentation.\n\n### Requirements ###\nYou may want to install this to get this buildout working:\n```bash\n# python stuff\napt-get install python-dev python-virtualenv libxml2-dev libxslt1-dev\n# version control stuff\napt-get install git subversion\n# other stuff\napt-get install libjpeg62-turbo-dev poppler-utils  wv libgeos-c1v5\n```\n\nThose commands are for Debian like system.\nYou should adapt those commands for your system (if needed).\n\n## FAQ ##\n#### Q: How can I clone this buildout? ####\n__A:__ This buildout is meant to be a starting skeleton for a project.\nYou should download this buildout by visiting the\n[dedicated github page](https://github.com/RedTurtle/deployments.buildout.plone).\n\nThere you can click the zip button.\nUncompress the downloaded zip file in the directory of your choice.\nYou may want to add this directory to the version control system of your\nchoice.\n\n#### Q: How can I change the Plone version? ####\n__A:__ In the file `config/base.cfg` you may can control the plone version by changing the\n__extends__ and __find-links__ variables:\n```cfg\nextends =\n    http://dist.plone.org/release/5.1.5/versions.cfg\n    ...\n\nfind-links =\n    http://dist.plone.org/release/5.1.5\n    ...\n```\n\n__Tip__: unpin the versions in `versions/base.cfg`\nto get the latest versions for your dependencies.\nAfter a succesfull buildout repin them.\n\n#### \u003ca id=\"faq-egg\"\u003e\u003c/a\u003e Q: I have to add a new egg to my Plone site. What should I do? ####\n__A:__ Customize the __eggs__ and (if needed) the __zcml__ variable in the **[plone]** section (a\ngood place is `config/base.cfg`), e.g:\n\n```cfg\n[plone]\neggs=\n    ...\n    my.egg\nzcml=\n    ...\n    my.egg\n```\n\n#### Q: I want to develop my new package. What should I do? ####\n- __A:__ Customize the `[sources]` section in `config/development.cfg` to include your code in the buildout:\n\n```cfg\n[sources]\ncollective.developermanual = git git://github.com/collective/collective.developermanual.git\n```\n\n- Add the egg to your Plone site (see the [dedicated FAQ](#faq-egg ))\n- Relaunch your buildout.\n\n#### Q: I want include a package from a private repository. What should I do? ####\n- __A:__ Don't do it, use the folder pypi-local in the root of your buildout folder instead!\n\n#### Q: I am Danny Developer. I want to include a debugging package nobody else wants to use. What should I do? ####\n- __A:__ Create your own __profile__, e.g.:\n\n```bash\ncp profiles/development.cfg profiles/danny.cfg\nln -sf profiles/danny.cfg buildout.cfg\n```\n\n- Add a section like this to `profiles/danny.cfg`:\n```cfg\n[plone]\neggs+=\n    danny.debugtools\n```\n- __If__ you need to checkout the package with mr.developer.\n\n```cfg\n[sources]\ndanny.debugtools = git git://github.com/dannydeveloper/danny.debugtools.git\n```\n- Relaunch your buildout.\n\n#### Q: I am Danny Developer. I want to customize the instance port. What should I do? ####\n- __A:__ Create your own __profile__, e.g.:\n\n```bash\ncp profiles/development.cfg profiles/danny.cfg\nln -sf profiles/danny.cfg buildout.cfg\n```\n\n- Add a section like this to `profiles/danny.cfg`:\n```cfg\n[instance]\nhttp-address=9090\n```\n\n#### Q: I am Rick Releaser. I want to deploy this buildout on the server matrix.nohost.com. Of course I have to customize ports, users and so on. What should I do? ####\n- __A:__ Create a dedicate __profile__ for this server, e.g.:\n\n```bash\ncp profiles/production.cfg profiles/matrix.cfg\nln -sf profiles/matrix.cfg buildout.cfg\n```\n\n- Add a section like this to `profiles/matrix.cfg`:\n\n```cfg\n[config]\nzeo-address = 9010\ninstance1-address = 9001\ndebuginstance-address = 9000\nsystem-user = plone\n```\n\n#### Q: How can I add an instance? ####\n__A:__ In 'config/base.cfg' you can find, commented,\nthe configuration for `instance2`.\nUncomment it to get two instance.\n\nAdd also port number to [config] section.\n\nCopy and adjust the numbers for more.\n\n#### Q: I want supervisor, come on! Where is it? ####\n__A:__ This buildout wants to be as small as possibile.\nIntegrate this buildout with\nhttps://github.com/RedTurtle/deployments.buildout.production\nif you need supervisor.\n\n#### Q: I have to pin versions! What should I do? ####\n__A:__ Modify `versions/base.cfg` unless you are doing for particular purposes.\nIn this case it is better to customize those versions in a dedicated profile.\n\n## Tips ##\n\n#### Virtualenv ####\nUsing a virtualenv is a good idea:\n```bash\n# NOTE: --no-site-packages is the default behaviour of the newer virtualenv\n#       you might remove this parameter if you get an error\nvirtualenv --no-site-packages -p /usr/bin/python2.7 .\n. bin/activate\n```\n\n#### mr.developer vs filesystem packages ####\nIf you want [mr.developer](https://pypi.python.org/pypi/mr.developer)\nto use a folder that is not yet versioned\n(e.g. because you still have to make an initial import),\nyou can use the __fs__ repository type:\n```cfg\n[sources]\nstill.to.import = fs still.to.import\n```\nBy default paths are relative to buildout `src` folder.\n\n## Rationale ##\nThis buildout was designed with these goals:\n- cut down the time needed for the developers to set up a working enviroment\n- avoid proliferation of configuration files\n- to serve a Plone site without pretending to do much more\n\n### Profiles ###\nIn the directory `./profiles` you will find configuration files\nthat work __if and only if__ they are symlinked in the root of the buildout.\n\nWe want profile files to live there to avoid pollution on the already crowded\nbuildout directory.\n\n__You shouldn't use directly configuration files\nthat are stored in `config` folder.__\n\n### The provided configuration files ###\nBeneath is the list of available configurations:\n\n#### development.cfg ####\nThis is what the developer wants!\nGives you a standalone Plone instance (no ZEO).\nAs usual you can launch it with:\n```bash\n./bin/instance fg\n2013-03-22 13:58:39 INFO ZServer HTTP server started at Fri Mar 22 13:58:39 2013\nHostname: 0.0.0.0\nPort: 8080\n2013-03-22 13:58:44 INFO Zope Ready to handle requests\n```\nAdds to the buildout development scripts (`test`) and to plone some\nproducts (`plone.reload` and `stxnext.pdb`).\nSome other are suggested (commented) In the `profiles/development.cfg` file.\nAsk for new stuff if you want (`sauna.reload`, `plone.app.debugtoolbar`, ...).\n\n#### production.cfg ####\nThis is what you want for a production system.\n\nUsing `production.cfg` you will install the services:\n- zeoserver\n- instance1\n- debuginstance\n\nthe management scripts:\n- bin/zeopack\n- bin/repozo\n\nthe logrotate machinery:\n- etc/logorate.conf\n- bin/postrotate.sh\n\n##### Log rotation #####\nThe logrotation is handled externally from Zope by choice.\nThis allows at any time to use the system logrotate capabilities.\nLogrotate are automaticaaly installed as a cronjob via a zc.buildout recipe\nin config/production.cfg and config/staging.cfg\n\n```\n\n##### munin #####\n`production.cfg` will provide you a script to deploy (if needed)\nsymlinks for munin.zope.\nTo install the munin plugins you can run:\n```bash\nsudo make install_munin\n\n##### ZopeHealthWatcher #####\n\nRemember to customize the `custom.py` file:\n```bash\nvi eggs/ZopeHealthWatcher*.egg/Products/ZopeHealthWatcher/custom.py\n```\n\nThen use it like this:\n```bash\nbin/zope_health_watcher http://localhost:8080\n```\n\nOr visit http://localhost:8080/manage_zhw?the_secret_you_put_in_custom.py\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fredturtle%2Fdeployments.buildout.plone","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fredturtle%2Fdeployments.buildout.plone","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fredturtle%2Fdeployments.buildout.plone/lists"}