{ "info": { "author": "Rapha\u00ebl Barrois", "author_email": "raphael.barrois+bicti@polytechnique.org", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: Console", "Intended Audience :: Developers", "Intended Audience :: System Administrators", "License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)", "Operating System :: POSIX :: Linux", "Programming Language :: Python", "Programming Language :: Python :: 2.6", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Topic :: Software Development :: Build Tools", "Topic :: System :: Boot :: Init", "Topic :: System :: Installation/Setup", "Topic :: System :: Software Distribution", "Topic :: System :: Systems Administration" ], "description": "bicti\n=====\n\nSimple startup tool for docker containers.\n\nbicti is intended as the entrypoint of a container,\nand provides a few helpers for systems that may require several services\n(for instance, fastcgi and nginx and cron and logrotate).\n\n\nIts features include:\n\n- Declarative list of supported commands\n- Launch all demons or only a few ones\n- Drop into a shell instead\n\n\nDepencies\n---------\n\nbicti is written in Python; it supports all versions from 2.6 onwards.\nIt also relies on ``runit`` (http://smarden.org/runit/) for daemon management.\n\nSetup\n-----\n\nIn your dockerfile, add:\n\n.. code-block:: sh\n\n RUN apt-get -qqy install runit python python-pip\n RUN pip install bicti && ln -s /sbin/bicti `which bicti`\n ADD ./bicti.ini /etc/bicti.ini\n RUN /sbin/bicti --setup\n ENTRYPOINT \"/sbin/bicti\"\n\nThis will:\n\n1. Retrieve bicti and its dependencies\n2. Load your ``bicti.ini`` configuration file (expected at ``/etc/bicti.ini``)\n3. Setup all daemon startup scripts in ``/etc/runit``\n4. Declare bicti as your entry point.\n\n\nCore concepts\n-------------\n\nBeyond a few command-line flags, most of bicti's job is in setting up the configuration\nfor ``runit``.\n\nUpon startup, bicti will:\n\n1. Load its configuration file (``/etc/bicti.ini``)\n2. Setup ``runit`` to start the declared services\n3. Transfer control to ``runit``, which handles daemon auto-restart, orphan process reaping, etc.\n\n\n\nUsage\n-----\n\n.. code-block:: sh\n\n $ docker run my/image --help\n usage: bicti.py [--config CONFIG] [--root ROOT] [-h] [--setup]\n [--shell [SHELL]] [--all]\n [SERVICE [SERVICE ...]]\n\n Bicti, the docker inner setup.\n\n positional arguments:\n SERVICE Services to start (valid options: cron,uwsgi)\n\n optional arguments:\n --config CONFIG, -c CONFIG\n Read configuration from CONFIG\n --root ROOT Use paths relative to ROOT\n -h, --help Show this help message and exit\n --setup Setup the service files\n --shell [SHELL] Drop to a shell (default=/bin/bash)\n --all Start all services\n\nConfiguration file:\n\n.. code-block:: ini\n\n [bicti]\n ; Run before any service is started\n setup = /sbin/my-image-setup\n ; Run once all services have been stopped\n teardown = /sbin/my-image-cleanup\n\n ; One section per service\n [cron]\n ; Actual command to run\n command = /usr/bin/cron\n ; Require another service to be started first\n after = syslog\n\n [uwsgi]\n command = /usr/bin/uwsgi\n ; Command to run before starting the service\n setup_command = mkdir /var/log/uwsgi\n ; Special uid/gid\n uid = www-data\n gid = www-data", "description_content_type": null, "docs_url": null, "download_url": "https://pypi.python.org/pypi/bicti/", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/rbarrois/bicti/", "keywords": "docker,container,init,startup", "license": "GPLv3+", "maintainer": null, "maintainer_email": null, "name": "bicti", "package_url": "https://pypi.org/project/bicti/", "platform": "OS Independent", "project_url": "https://pypi.org/project/bicti/", "project_urls": { "Download": "https://pypi.python.org/pypi/bicti/", "Homepage": "https://github.com/rbarrois/bicti/" }, "release_url": "https://pypi.org/project/bicti/0.1.1/", "requires_dist": null, "requires_python": null, "summary": "Bicti, efficient startup script for within docker containers", "version": "0.1.1" }, "last_serial": 1210957, "releases": { "0.1.0": [], "0.1.1": [ { "comment_text": "", "digests": { "md5": "4fe6128a282eea619d540308bb8f0682", "sha256": "e3d44b6a8b725a731c76dcf82e910845f60baa9590b89ac0c8442d2260973dfe" }, "downloads": -1, "filename": "bicti-0.1.1.tar.gz", "has_sig": false, "md5_digest": "4fe6128a282eea619d540308bb8f0682", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5358, "upload_time": "2014-09-03T00:29:02", "url": "https://files.pythonhosted.org/packages/da/79/9cb4eb7804ab92389eeacd58f639fdf88e90dba1c95e4f4ad6246c385f0d/bicti-0.1.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "4fe6128a282eea619d540308bb8f0682", "sha256": "e3d44b6a8b725a731c76dcf82e910845f60baa9590b89ac0c8442d2260973dfe" }, "downloads": -1, "filename": "bicti-0.1.1.tar.gz", "has_sig": false, "md5_digest": "4fe6128a282eea619d540308bb8f0682", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5358, "upload_time": "2014-09-03T00:29:02", "url": "https://files.pythonhosted.org/packages/da/79/9cb4eb7804ab92389eeacd58f639fdf88e90dba1c95e4f4ad6246c385f0d/bicti-0.1.1.tar.gz" } ] }