Amazon SNS compatible plugin for Dokku
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
tests Fix unit test May 13, 2016
.editorconfig Initial commit Feb 5, 2016
.gitignore Initial commit Feb 5, 2016
.travis.yml Initial commit Feb 5, 2016
LICENSE.txt Misc stuff Feb 15, 2016
Makefile Initial commit Feb 5, 2016 Fix May 13, 2016
Vagrantfile Initial commit Feb 5, 2016
commands Use topic:list instead of topics command May 13, 2016
config We could call it as SNS May 11, 2016
functions Escape dollar-sign in awk May 12, 2016
install Initial commit Feb 5, 2016
plugin.toml Misc stuff Feb 15, 2016
pre-delete Initial commit Feb 5, 2016

Build Status


dokku fake_sns (beta)

fake_sns plugin for dokku. Currently defaults to installing seayou/fake-sns


  • dokku 0.4.0+
  • docker 1.8.x


# on 0.3.x
cd /var/lib/dokku/plugins
git clone fake_sns
dokku plugins-install

# on 0.4.x
dokku plugin:install fake_sns


sns:create <name>               Create a sns service with environment variables
sns:destroy <name>              Delete the service and stop its container if there are no links left
sns:expose <name> [port]        Expose an sns service on custom port if provided (random port otherwise)
sns:info <name>                 Print the connection information
sns:link <name> <app>           Link the sns service to the app
sns:list                        List all sns services
sns:logs <name> [-t]            Print the most recent log(s) for this service
sns:promote <name> <app>        Promote service <name> as SNS_URL in <app>
sns:restart <name>              Graceful shutdown and restart of the sns service container
sns:start <name>                Start a previously stopped sns service
sns:stop <name>                 Stop a running sns service
sns:topic:add <name> <topic>    Creates an sns topic
sns:topic:remove <name> <topic> Removes an sns topic
sns:topic:list <name>           List all sns topics for this service
sns:unexpose <name>             Unexpose a previously exposed sns service
sns:unlink <name> <app>         Unlink the sns service from the app


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

# you can also specify the image and image
# version to use for the service
# it *must* be compatible with the
# official sns image
# In fact you could any other software that is working with `aws sns` commands
export FAKESNS_IMAGE="seayou/fake-sns"

# create a sns service
dokku sns:create lolipop

# get connection information as follows
dokku sns:info lolipop

# a sns 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 sns:link lolipop playground

# the following environment variables will be set automatically by docker (not
# on the app itself, so they won’t be listed when calling dokku config)
#   DOKKU_SNS_LOLIPOP_NAME=/lolipop/dokku-sns-lolipop
# and the following will be set on the linked application by default
#   SNS_URL=http://dokku-sns-lolipop:9292
# NOTE: the host exposed here only works internally in docker containers. If
# you want your container to be reachable from outside, you should use `expose`.

# another service can be linked to your app
dokku sns:link other_service playground

# since SNS_URL is already in use, another environment variable will be
# generated automatically
#   DOKKU_SNS_BLUE_URL=http://dokku-sns-other-service:9292

# you can then promote the new service to be the primary one
# NOTE: this will restart your app
dokku sns:promote other_service playground

# this will replace SNS_URL with the url from other_service and generate
# another environment variable to hold the previous value if necessary.
# you could end up with the following for example:
#   SNS_URL=http://dokku-sns-other-service:9292
#   DOKKU_FAKESNS_BLUE_URL=http://dokku-sns-other-service:9292
#   DOKKU_FAKESNS_SILVER_URL=http://dokku-sns-lolipop:9292

# you can create SNS topics
dokku sns:topic:add lolipop topic

# also list them
dokku sns:topic:list lolipop

# and of course remove them
dokku sns:topic:remove lolipop topic

# you can also unlink an sns service
# NOTE: this will restart your app and unset related environment variables
dokku sns:unlink lolipop playground

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

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