Skip to main content

A modular content CMS by Interaction Consortium.

Project description

Build Status Coverage Status Version

Deploy to Docker Cloud

Getting started

Create a new ICEkit project in the given directory (default: icekit-project):

$ bash <(curl -Ls https://raw.githubusercontent.com/ic-labs/django-icekit/master/icekit/bin/startproject.sh) [destination_dir]

All other commands in this document should be run from the project directory.

NOTE: Windows users should run this command in Git Bash, which comes with Git for Windows.

Run with Docker

The easiest way to run an ICEkit project is with Docker. It works on OS X, Linux, and Windows, takes care of all the project dependencies like the database and search engine, and makes deployment easy.

If you haven’t already, go install Docker:

Build an image and start the project:

$ docker-compose build --pull
$ docker-compose up  # Watch for the admin account credentials that get created on first run

This will take a few minutes the first time. When you see the following message, you will know it is ready:

#
# READY.
#

Now you can open the site in a browser:

http://icekit.lvh.me:8000  # *.lvh.me is a wildcard DNS that maps to 127.0.0.1

Read our Docker Quick Start guide for more info on running an ICEkit project with Docker.

Run without Docker

Read our Manual Setup guide for more info on running an ICEkit project without Docker.

Deploy to Docker Cloud

Use the Deploy to Docker Cloud button above to create a new ICEkit stack on Docker Cloud.

You won’t be able to customise your project when deploying the official ICEkit Docker image this way.

Configure your project

You will need to provide some basic information to configure your project.

You can do so with environment variables, or by editing the docker-cloud.yml and icekit_settings.py files.

All settings are optional, but you can provide:

  • BASE_SETTINGS_MODULE tells ICEkit to run in develop or production mode.

  • EMAIL_HOST, EMAIL_HOST_PASSWORD and EMAIL_HOST_USER, so ICEkit can send emails (only in production mode).

    We recommend Mailgun, but any SMTP credentials will do.

  • MASTER_PASSWORD (only in develop mode) so you can login as any user with the same password.

  • MEDIA_AWS_ACCESS_KEY_ID, MEDIA_AWS_SECRET_ACCESS_KEY and MEDIA_AWS_STORAGE_BUCKET_NAME so ICEkit can store file uploads Amazon S3.

    The specified bucket should already exist, or the credentials provided should have permission to create buckets. This is especially important when deploying to ephemeral infrastructure, like Docker Cloud.

  • PGDATABASE, PGHOST, PGPASSWORD, PGPORT and PGUSER, if you need to connect to provide credentials for your PostgreSQL database.

    We recommend Amazon RDS, especially when deploying to ephemeral infrastructure, like Docker Cloud.

  • SENTRY_DSN, if you want to use Sentry for real-time error tracking.

  • SITE_DOMAIN and SITE_NAME, so ICEkit knows how to generate redirects correctly and knows what to call your site.

Customise your project

Anything you put in the static or templates directory will override the default ICEkit static files and templates.

You can specify additional Bower components in bower.json, Node modules in package.json, and Python packages in requirements.txt.

The icekit_settings.py file is a Django settings module. You can override any default ICEkit settings or configure apps installed via requirements.txt.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

django_icekit-0.11-py2.py3-none-any.whl (313.5 kB view hashes)

Uploaded Python 2 Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page