GithubHelp home page GithubHelp logo

dispatch-docker's Introduction

Dispatch

Official bootstrap for running your own Dispatch with Docker.

Requirements

  • Docker 17.05.0+
  • Compose 1.19.0+

Minimum Hardware Requirements:

  • You need at least 2400MB RAM

Setup

To get started with all the defaults, simply clone the repo and run ./install.sh in your local check-out.

There may need to be modifications to the included example config files (.env) to accommodate your needs or your environment (such as adding Google credentials). If you want to perform these, do them before you run the install script and copy them without the .example extensions in the name before running the install.sh script.

Data

By default Dispatch does not come with any data. If you're looking for some example data, please use the postgres dump file located here to load example data.

Note: when running the install.sh file, you will be asked whether to load this database dump, or to initialize a new database.

Starting with a clean database

If you decide to start with a clean database, you will need a user. To create a user, go to http://localhost:8000/default/auth/register.

Securing Dispatch with SSL/TLS

If you'd like to protect your Dispatch install with SSL/TLS, there are fantastic SSL/TLS proxies like HAProxy and Nginx. You'll likely want to add this service to your docker-compose.yml file.

Updating Dispatch

The included install.sh script is meant to be idempotent and to bring you to the latest version. What this means is you can and should run install.sh to upgrade to the latest version available.

Upgrading from an older version of postgres

If you are using an earlier version of postgres you may need to run manual steps to upgrade to the newest Postgres image.

This assumes that you have not changed the default Postgres data path (/var/lib/postgresql/data) in your docker-compose.yml.

If you have changed it, please replace all occurences of /var/lib/postgresql/data with your path.

  1. Make a backup of your Dispatch Postgres data dir.
  2. Stop all Dispatch containers, except the postgres one (e.g. use docker stop and not docker-compose stop).
  3. Create a new Postgres container which uses a different data directory:
docker run -d \
      --name postgresnew \
      -e POSTGRES_DB=dispatch \
      -e POSTGRES_USER=dispatch \
      -e POSTGRES_PASSWORD=dispatch \
      -v /var/lib/postgresql/new:/var/lib/postgresql/data:rw \
      postgres:latest
  1. Use pg_dumpall to dump all data from the existing Postgres container to the new Postgres container (replace DISPATCH_DATABASE_CONTAINER_NAME (default is postgres) with the name of the old Postgres container):
docker exec \
    DISPATCH_DATABASE_CONTAINER_NAME pg_dumpall -U postgres | \
    docker exec -i postgresnew psql -U postgres
  1. Stop and remove both Postgres containers:
docker stop DISPATCH_DATABASE_CONTAINER_NAME postgresnew
docker rm DISPATCH_DATABASE_CONTAINER_NAME postgresnew
  1. Edit your docker-compose.yml to use the postgres:latest image for the database container.
  2. Replace old Postgres data directory with upgraded data directory:
mv /var/lib/postgresql/data /var/lib/postgresql/old
mv /var/lib/postgresql/new /var/lib/postgresql/data
  1. Delete the old existing containers:
docker-compose rm
  1. Start Dispatch up again:
docker-compose up

That should be it. Your Postgres data has now been updated to use the postgres image.

dispatch-docker's People

Contributors

kevgliss avatar mvilanova avatar shumbashi avatar jtorvald avatar aliceloeser avatar dlambda avatar dctalbot avatar gargrag avatar ymatsiuk avatar dbx12 avatar thedahv avatar fkrauthan avatar karl-johan-grahn avatar 0x4c6565 avatar mitsuwa avatar pdehlke avatar rvandegrift avatar sarahcthekey avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.