This is a pre-production deployment of Warehouse, however changes made here WILL affect the production instance of PyPI.
Latest Version Dependencies status unknown Test status unknown Test coverage unknown
Project Description

Simple startup tool for docker containers.

bicti is intended as the entrypoint of a container, and provides a few helpers for systems that may require several services (for instance, fastcgi and nginx and cron and logrotate).

Its features include:

  • Declarative list of supported commands
  • Launch all demons or only a few ones
  • Drop into a shell instead

Depencies

bicti is written in Python; it supports all versions from 2.6 onwards. It also relies on runit (http://smarden.org/runit/) for daemon management.

Setup

In your dockerfile, add:

RUN apt-get -qqy install runit python python-pip
RUN pip install bicti && ln -s /sbin/bicti `which bicti`
ADD ./bicti.ini /etc/bicti.ini
RUN /sbin/bicti --setup
ENTRYPOINT "/sbin/bicti"

This will:

  1. Retrieve bicti and its dependencies
  2. Load your bicti.ini configuration file (expected at /etc/bicti.ini)
  3. Setup all daemon startup scripts in /etc/runit
  4. Declare bicti as your entry point.

Core concepts

Beyond a few command-line flags, most of bicti’s job is in setting up the configuration for runit.

Upon startup, bicti will:

  1. Load its configuration file (/etc/bicti.ini)
  2. Setup runit to start the declared services
  3. Transfer control to runit, which handles daemon auto-restart, orphan process reaping, etc.

Usage

$ docker run my/image --help
usage: bicti.py [--config CONFIG] [--root ROOT] [-h] [--setup]
                [--shell [SHELL]] [--all]
                [SERVICE [SERVICE ...]]

Bicti, the docker inner setup.

positional arguments:
  SERVICE               Services to start (valid options: cron,uwsgi)

optional arguments:
  --config CONFIG, -c CONFIG
                        Read configuration from CONFIG
  --root ROOT           Use paths relative to ROOT
  -h, --help            Show this help message and exit
  --setup               Setup the service files
  --shell [SHELL]       Drop to a shell (default=/bin/bash)
  --all                 Start all services

Configuration file:

[bicti]
; Run before any service is started
setup = /sbin/my-image-setup
; Run once all services have been stopped
teardown = /sbin/my-image-cleanup

; One section per service
[cron]
; Actual command to run
command = /usr/bin/cron
; Require another service to be started first
after = syslog

[uwsgi]
command = /usr/bin/uwsgi
; Command to run before starting the service
setup_command = mkdir /var/log/uwsgi
; Special uid/gid
uid = www-data
gid = www-data
Release History

Release History

0.1.1

This version

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.1.0

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

Download Files

Download Files

TODO: Brief introduction on what you do with files - including link to relevant help section.

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date
bicti-0.1.1.tar.gz (5.4 kB) Copy SHA256 Checksum SHA256 Source Sep 3, 2014

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS HPE HPE Development Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting