Loïc Guitaut 3ab22d6f6f Use PG tools from docker image
Instead of installing dependencies on the host, directly use the binary
shipped with the postgres docker image. This will also prevent possible
problems when API changes for example.
2015-09-09 10:31:17 +02:00
2015-09-07 01:25:07 -04:00
2015-08-23 18:56:23 -04:00
2015-09-07 00:39:28 -04:00
2015-09-09 10:31:17 +02:00
2015-09-07 01:01:06 -04:00
2015-09-06 22:53:02 -04:00
2015-08-23 18:56:23 -04:00
2015-09-07 00:39:28 -04:00
2015-09-07 04:29:46 -04:00
2015-09-07 04:17:20 -04:00

dokku postgres (beta) Build Status IRC Network

Official postgres plugin for dokku. Currently installs postgres 9.5.

requirements

  • dokku 0.4.0+
  • docker 1.8.x

installation

cd /var/lib/dokku/plugins
git clone https://github.com/dokku/dokku-postgres.git postgres
dokku plugins-install-dependencies
dokku plugins-install

commands

postgres:alias <name> <alias>     Set an alias for the docker link
postgres:clone <name> <new-name>  NOT IMPLEMENTED
postgres:connect <name>           Connect via psql to a postgres service
postgres:create <name>            Create a postgres service
postgres:destroy <name>           Delete the service and stop its container if there are no links left
postgres:export <name>            Export a dump of the postgres service database
postgres:expose <name> [port]     Expose a postgres service on custom port if provided (random port otherwise)
postgres:import <name> <file>     NOT IMPLEMENTED
postgres:info <name>              Print the connection information
postgres:link <name> <app>        Link the postgres service to the app
postgres:list                     List all postgres services
postgres:logs <name> [-t]         Print the most recent log(s) for this service
postgres:restart <name>           Graceful shutdown and restart of the postgres service container
postgres:start <name>             Start a previously stopped postgres service
postgres:stop <name>              Stop a running postgres service
postgres:unexpose <name>          Unexpose a previously exposed postgres service

usage

# create a postgres service named lolipop
dokku postgres:create lolipop

# you can also specify the image and image
# version to use for the service
# it *must* be compatible with the
# official postgres image
export POSTGRES_IMAGE="postgres"
export POSTGRES_IMAGE_VERSION="9.4.4"
dokku postgres:create lolipop

# get connection information as follows
dokku postgres:info lolipop

# lets assume the ip of our postgres service is 172.17.0.1

# a postgres service can be linked to a
# container this will use native docker
# links via the docker-options plugin
# here we link it to our 'playground' app
# NOTE: this will restart your app
dokku postgres:link lolipop playground

# the above will expose the following environment variables
#
#   DATABASE_URL=postgres://postgres:SOME_PASSWORD@172.17.0.1:5432/lolipop
#   DATABASE_NAME=/lolipop/DATABASE
#   DATABASE_PORT=tcp://172.17.0.1:5432
#   DATABASE_PORT_5432_TCP=tcp://172.17.0.1:5432
#   DATABASE_PORT_5432_TCP_PROTO=tcp
#   DATABASE_PORT_5432_TCP_PORT=5432
#   DATABASE_PORT_5432_TCP_ADDR=172.17.0.1

# you can customize the environment
# variables through a custom docker link alias
dokku postgres:alias lolipop POSTGRES_DATABASE

# you can also unlink a postgres service
# NOTE: this will restart your app
dokku postgres:unlink lolipop playground

# you can tail logs for a particular service
dokku postgres:logs lolipop
dokku postgres:logs lolipop -t # to tail

# finally, you can destroy the container
dokku postgres:destroy lolipop

todo

  • implement postgres:clone
  • implement postgres:import
Description
No description provided
Readme 757 KiB
Languages
Shell 83%
Python 14.7%
Makefile 1.7%
Dockerfile 0.6%