Compare commits

...

91 Commits

Author SHA1 Message Date
Jose Diaz-Gonzalez
bba7ee658e Release 0.4.2 2015-10-13 15:55:42 -04:00
Jose Diaz-Gonzalez
a8b4efb3cf Merge pull request #1555 from progrium/docs-tweaks
Docs tweaks
2015-10-13 15:40:28 -04:00
Jose Diaz-Gonzalez
fc85105a86 Use 0.4.2 to cache-bust the docs css
For now, we'll need to change this on every version release so that the rawgit cdn doesn't serve up old versions (it caches forever).

[ci skip]
2015-10-13 15:38:36 -04:00
Jose Diaz-Gonzalez
0048a631c6 Style markdown h3 and h4 elements
[ci skip]
2015-10-13 15:32:19 -04:00
Jose Diaz-Gonzalez
f4102975f9 Switch to rawgit cdn for images 2015-10-13 15:30:27 -04:00
Jose Diaz-Gonzalez
8df4404d93 Use style.css asset for styling 2015-10-13 15:30:15 -04:00
Jose Diaz-Gonzalez
d88de2b97c Change anchor color to dokku blue 2015-10-13 15:29:05 -04:00
Jose Diaz-Gonzalez
98616f50dc Add anchors to each header element 2015-10-13 15:28:30 -04:00
Jose Diaz-Gonzalez
5c396da0df Merge pull request #1553 from progrium/dokku-logo
Add dokku logo to docs
2015-10-13 07:50:49 -04:00
Jose Diaz-Gonzalez
8a117aa59f Add logo to top header
[ci skip]
2015-10-13 07:50:13 -04:00
Jose Diaz-Gonzalez
d27b9b9705 Fix hover issues with sidebar 2015-10-13 07:50:01 -04:00
Jose Diaz-Gonzalez
31c5d82775 Merge pull request #1552 from progrium/nicer-docs
Nicer docs
2015-10-13 07:07:33 -04:00
Jose Diaz-Gonzalez
e9a7862a50 Cleanup default styling for documentation 2015-10-13 07:07:16 -04:00
Jose Diaz-Gonzalez
9878de5526 Fix issue with header padding 2015-10-13 07:06:59 -04:00
Jose Diaz-Gonzalez
7f08489e9f Clarify menu 2015-10-13 07:06:48 -04:00
Jose Diaz-Gonzalez
b6cc3a65b5 Remove footer 2015-10-13 07:06:35 -04:00
Jose Diaz-Gonzalez
c362d4b9e3 switch to bootstrap 4 alpha 2015-10-13 07:06:25 -04:00
Jose Diaz-Gonzalez
643bf8a3a8 Merge pull request #1551 from progrium/josegonzalez-patch-1
Update plugin compatibility
2015-10-13 04:56:34 -04:00
Jose Diaz-Gonzalez
59597aa10c Update plugin compatibility
- Moved unmaintained plugins to the bottom so as not to screw around with users
- Updated versions on maintained plugins where possible

[ci skip]
2015-10-13 04:56:27 -04:00
Jose Diaz-Gonzalez
f1860ab83d Merge pull request #1550 from progrium/josegonzalez-patch-1
Fix gratipay link
2015-10-13 03:36:00 -04:00
Jose Diaz-Gonzalez
4c64470830 Fix gratipay link
[ci skip]
2015-10-13 03:34:52 -04:00
Jose Diaz-Gonzalez
dc12388c93 Merge pull request #1548 from progrium/1523-css-compressed
Make room for the longer URL
2015-10-12 20:43:41 -04:00
Jose Diaz-Gonzalez
5f6b9e2824 Make room for the longer URL
refs #1523

[ci skip]
2015-10-12 20:43:25 -04:00
Jose Diaz-Gonzalez
3005a5c2c6 Merge pull request #1546 from progrium/fix-history
Add missing description to history output in HISTORY.md
2015-10-12 20:41:11 -04:00
Jose Diaz-Gonzalez
843e2be8eb Merge pull request #1547 from progrium/update-git-rev-plugin
Update compatibility on git-rev plugin
2015-10-12 20:41:07 -04:00
Jose Diaz-Gonzalez
d2ad75daa4 Update compatibility on git-rev plugin
[ci skip]
2015-10-12 20:40:48 -04:00
Jose Diaz-Gonzalez
f75cf277dd Add missing description to history output in HISTORY.md
[ci skip]
2015-10-12 20:40:22 -04:00
Jose Diaz-Gonzalez
c8514d4590 Merge pull request #1545 from Flink/plugins-update
Add/remove some plugins
2015-10-12 20:21:16 -04:00
Loïc Guitaut
50e35dd481 [ci skip] Add/remove some plugins 2015-10-12 22:33:00 +02:00
Jose Diaz-Gonzalez
b1d985df19 Merge pull request #1544 from progrium/josegonzalez-patch-1
Bump compatibility for two more community plugins
2015-10-12 15:56:16 -04:00
Jose Diaz-Gonzalez
89b24bef19 Bump compatibility for two more community plugins
[ci skip]
2015-10-12 15:56:04 -04:00
Jose Diaz-Gonzalez
8b21b5dc13 Merge pull request #1511 from Flink/named-containers
Add `named-containers` as a core plugin
2015-10-08 17:43:14 -04:00
Jose Diaz-Gonzalez
5dfad4a89b Merge pull request #1525 from progrium/josegonzalez-patch-1
Add gratipay shield to readme
2015-10-08 10:43:50 -04:00
Jose Diaz-Gonzalez
d46221a4f5 Merge pull request #1537 from progrium/josegonzalez-patch-2
Update herokuish to depend upon docker-engine-cs
2015-10-07 12:41:19 -04:00
Jose Diaz-Gonzalez
18934c1b5b Update herokuish to depend upon docker-engine-cs
[ci skip]
2015-10-07 12:39:36 -04:00
Jose Diaz-Gonzalez
8a2f82efbf Merge pull request #1536 from progrium/josegonzalez-patch-2
Add docker-engine-cs as docker-engine alternative
2015-10-07 12:35:17 -04:00
Jose Diaz-Gonzalez
680db39ba9 Merge pull request #1529 from pzula/update-config-set-help
Adds helpful information regarding whitespacing when setting config
2015-10-07 12:34:58 -04:00
Loïc Guitaut
e7e43141d6 Add named-containers as a core plugin 2015-10-07 17:30:11 +02:00
Jose Diaz-Gonzalez
19f66f69ee Add docker-engine-cs as docker-engine alternative
docker-engine-cs is the commercially supported version of docker, and therefore should be fully compatible.
2015-10-07 11:16:30 -04:00
Jose Diaz-Gonzalez
4c1cc38338 Merge pull request #1530 from Flink/fix-nginx-ssl-conf
Fix nginx configuration for SSL
2015-10-06 17:46:48 -04:00
Loïc Guitaut
75b06bb02e Fix nginx configuration for SSL
When generating config for SSL vhost, configuration for non ssl vhost
was always added (not the redirect one). This should fix the issue.
2015-10-06 23:12:24 +02:00
Persa Zula
fb5e5de6a3 Adds helpful information regarding whitespacing when setting config values 2015-10-05 21:57:00 -04:00
Jose Diaz-Gonzalez
01a6a5719e Add gratipay shield to readme
Closes #1340

[ci skip]
2015-10-02 17:44:08 -04:00
Jose Diaz-Gonzalez
07e94de205 Merge pull request #1524 from callahad/linode
Document idiosyncracies with Linode - Fixes #1226
2015-10-02 14:20:48 -04:00
Dan Callahan
81523b3bd0 Document idiosyncracies with Linode - Fixes #1226 2015-10-02 12:53:58 -05:00
Jose Diaz-Gonzalez
3a8f227355 Merge pull request #1523 from callahad/frontend
Make room for the longer URL from #1522
2015-10-02 10:54:18 -04:00
Dan Callahan
85f785c93c Make room for the longer URL from #1522 2015-10-01 23:44:37 -05:00
Jose Diaz-Gonzalez
2c8678ebd0 Merge pull request #1522 from progrium/correct-urls
Avoid redirects and use raw.githubusercontent.com for github links
2015-10-01 17:26:54 -04:00
Jose Diaz-Gonzalez
ee853a5b35 Avoid redirects and use raw.githubusercontent.com for github links
[ci skip]
2015-10-01 17:26:06 -04:00
Jose Diaz-Gonzalez
fe19ef15bc Merge pull request #1521 from edm00se/patch-1
corrected README.md's ref to bootstrap.sh URL
2015-10-01 17:22:08 -04:00
Eric McCormick
a7ec8dbd05 reverted README.md's bootstrap.sh URL to versioned
by request: https://github.com/progrium/dokku/pull/1521
2015-10-01 16:10:03 -05:00
Eric McCormick
b776d4cfef corrected README.md's ref to bootstrap.sh URL
raw.github.com wasn't working for me, clicking the raw link in GH's repo led me https://raw.githubusercontent.com/progrium/dokku/master/bootstrap.sh
2015-10-01 16:03:07 -05:00
Jose Diaz-Gonzalez
629ed5cca6 Merge pull request #1519 from 3onyc/fix-typos
Fix typos
2015-10-01 15:48:16 -04:00
Jose Diaz-Gonzalez
4c002030d5 Merge pull request #1520 from kimausloos/master
Small docs fix - plugins section
2015-10-01 15:48:11 -04:00
Kim Ausloos
bd0377570d Small docs fix 2015-10-01 21:43:10 +02:00
3onyc
e0a89609ed Fix typos
* certicate -> certificate
* stackoverflow -> Stack Overflow
2015-10-01 19:33:01 +02:00
Michael Hobbs
92e9ab84ac update plugin command 2015-09-30 09:13:41 -07:00
Jose Diaz-Gonzalez
40e869fe00 Merge pull request #1515 from leonardodino/patch-1
Allow local prebuilt stack sourcing
2015-09-29 12:39:49 -04:00
Leonardo Dino
717ac8703b Allow local prebuilt stack sourcing
for faster installation (especially when testing) it's useful to just load a local .tgz file (exportend and compressed herokuish container)
2015-09-29 13:31:18 -03:00
Jose Diaz-Gonzalez
474ea3c9b3 Release 0.4.1 2015-09-28 21:50:40 -04:00
Jose Diaz-Gonzalez
781b8e9009 Merge pull request #1514 from progrium/mh-no-exit0-in-config-func
do not use exit 0 in config functions
2015-09-28 21:49:58 -04:00
Michael Hobbs
6b01da6dda fix CURL_TIMEOUT settings 2015-09-28 18:06:10 -07:00
Michael Hobbs
b49cceefd7 don't use exit 0 in config functions 2015-09-28 17:44:10 -07:00
Jose Diaz-Gonzalez
c941a64eba Merge pull request #1512 from Flink/colored-logs
Colorize logs
2015-09-28 11:33:36 -04:00
Loïc Guitaut
03dee47d69 Colorize logs
Move logs into a dedicated plugin.
2015-09-28 12:34:58 +02:00
Jose Diaz-Gonzalez
3ff11e0b9f Merge pull request #1504 from progrium/1503_mh-add-plugin-doc
change plugin install doc to show one-step method
2015-09-27 17:45:53 -04:00
Michael Hobbs
a79834739e [ci skip] change plugin install doc to show one-step method. closes #1503 2015-09-25 13:09:52 -07:00
Jose Diaz-Gonzalez
f8c9d9b823 Merge pull request #1502 from Cactusbone/patch-1
dokku-apt compatibility
2015-09-25 12:53:08 -04:00
Charly Koza
9ace6cfec5 dokku-apt compatibility 2015-09-25 12:18:43 +02:00
Jose Diaz-Gonzalez
9e0f8dc7d1 Merge pull request #1501 from progrium/josegonzalez-patch-1
Clarify bootstrap installation documentation
2015-09-24 12:30:15 -04:00
Jose Diaz-Gonzalez
7978aa9011 Clarify bootstrap installation documentation
We actually have the reverse situation where the bootstrap.sh uses the web installer by default.

[ci skip]
2015-09-24 12:25:15 -04:00
Jose Diaz-Gonzalez
be1dc623db Merge pull request #1500 from jazzzz/log-name
Log user name and fingerprint in events
2015-09-24 11:59:17 -04:00
Jazz
895b4d2c6a Log user name and fingerprint in events 2015-09-24 17:22:03 +02:00
Michael Hobbs
5e9c88ca63 Merge pull request #1496 from callahad/issue-1495
Don't prompt users when installing dokku package
2015-09-23 16:01:44 -07:00
Michael Hobbs
e345cb6b93 Merge pull request #1494 from callahad/issue-1493
Correctly install packages for DOKKU_TAG=v0.4.0
2015-09-23 15:59:48 -07:00
Dan Callahan
8f2db587f2 Don't prompt users when installing dokku package
Fixes #1495
2015-09-23 16:55:02 -05:00
Dan Callahan
80a2018c1f Correctly install packages for DOKKU_TAG=v0.4.0
Fixes #1493
2015-09-23 16:43:39 -05:00
Jose Diaz-Gonzalez
f25fabeae5 Merge pull request #1492 from progrium/josegonzalez-patch-1
Upgrade hostname plugin to 0.4.0+ compatibility
2015-09-23 13:52:11 -04:00
Jose Diaz-Gonzalez
a8be09a866 Upgrade hostname plugin to 0.4.0+ compatibility
[ci skip]
2015-09-23 13:52:06 -04:00
Jose Diaz-Gonzalez
616c3a6c50 Merge pull request #1491 from progrium/josegonzalez-patch-1
Promote plugins to official status
2015-09-23 13:43:43 -04:00
Jose Diaz-Gonzalez
b43422f544 Promote plugins to official status
[ci skip]
2015-09-23 13:43:38 -04:00
Jose Diaz-Gonzalez
dce98529d3 Merge pull request #1488 from progrium/josegonzalez-patch-1
Update plugins list
2015-09-23 00:52:18 -04:00
Jose Diaz-Gonzalez
ec893fe330 Reorder plugins
[ci skip]
2015-09-23 00:51:04 -04:00
Jose Diaz-Gonzalez
c7820c0cf2 Update plugins for @heichblatt
[ci skip]
2015-09-23 00:01:13 -04:00
Jose Diaz-Gonzalez
d11b976de3 Deprecate dokku-link plugin
Users would be better suited to use the official `docker-options` plugin.

[ci skip]
2015-09-22 23:34:34 -04:00
Jose Diaz-Gonzalez
fa033a2589 Move app-url to unmaintained
Also update compatibility on pre-deploy-tasks plugin.

[ci skip]
2015-09-22 23:32:44 -04:00
Jose Diaz-Gonzalez
02d63b9d8d Update compatibility to 0.4.0 on plugins by Flink
[ci skip]
2015-09-22 23:26:36 -04:00
Jose Diaz-Gonzalez
1aee4fdde8 Merge pull request #1482 from Flink/lg-strip-dokku-part-plugin
Strip the `dokku-` part from plugins on install
2015-09-22 23:00:35 -04:00
Jose Diaz-Gonzalez
92ec4462be Merge pull request #1485 from matto1990/patch-1
Update Slack plugin compatability
2015-09-22 19:46:55 -04:00
Matt Oakes
2282b48ff1 Update Slack plugin compatability
The Slack plugin now supports 0.4.0+ thanks to a pull request from @Flink. This is a small update to the docs to reflect this.
2015-09-22 23:46:25 +01:00
Loïc Guitaut
9b9e983d2c Strip the dokku- part from plugins on install 2015-09-22 15:45:49 +02:00
32 changed files with 480 additions and 204 deletions

View File

@@ -71,7 +71,7 @@ Description of problem:
Output of the following commands
- `dokku version`:
- `dokku plugins`:
- `dokku plugin`:
- `docker version`:
- `docker info`:
- `uname -a`:

View File

@@ -1,5 +1,66 @@
# History
## 0.4.2
This release was mainly a documentation release, with a few notable features:
- You can now use the commercial version of docker-engine with dokku.
- You can now name your containers using the official `named-containers` plugin
Huge thanks to @Flink for working on our official plugins and adding official [basic auth](https://github.com/dokku/dokku-http-auth), [couchdb](https://github.com/dokku/dokku-couchdb), and [site maintenance](https://github.com/dokku/dokku-maintenance) plugins!
### Bug Fixes
- #1530: @Flink Fix nginx configuration for SSL
### New Features
- #1515: @leonardodino Allow local prebuilt stack sourcing
- #1536 #1537: @josegonzalez Add docker-engine-cs as docker-engine alternative
- #1511: @Flink Add `named-containers` as a core plugin
### Documentation
- #1520: @kimausloos Add `dokku` command-prefix to `plugin:install` command
- #1519: @3onyc Fix typos in documentation
- #1521: @edm00se Use correct url to bootstrap.sh in README.md
- #1522: @josegonzalez Avoid redirects and use raw.githubusercontent.com for github links
- #1523 #1548: @callahad Make room for the longer bootstrap.sh URL
- #1524: @callahad Document idiosyncracies with Linode
- #1529: @pzula Adds helpful information regarding whitespacing when setting config
- #1525 #1550: @josegonzalez Add gratipay shield to readme
- #1544 #1545 #1547 #1551: @josegonzalez @Flink Update compatibility for community plugins
- #1546: @josegonzalez Add missing description to history output in HISTORY.md
- #1552 #1553 #1555: @josegonzalez Various documentation styling tweaks
## 0.4.1
This release is primarily a bugfix and documentation update. In 0.4.0, we incorrectly handled setting environment variables in certain cases, resulting in misconfigured applications. We recommend that all users upgrade from 0.4.1 as soon as possible.
One new feature is colorized logging output, which should make it easier to debug application logging output when deploying multiple processes.
### Bug Fixes
- #1494: @callahad Correctly install packages for DOKKU_TAG=v0.4.0
- #1496: @callahad Don't prompt users when installing dokku package
- #1514: @michaelshobbs Do not use exit 0 in config functions and fix CURL environment variable setting
### New Features
- #1482: @Flink Strip the `dokku-` part from plugins on install
- #1500: @jazzzz Log user name and fingerprint in events
- #1512: @Flink Colorize output from logs
### Documentation
- #1485: @matto1990 Update Slack plugin compatability
- #1488: @josegonzalez Update plugins list with compatibility changes
- #1491: @josegonzalez Promote [maintenance](https://github.com/dokku/dokku-maintenance) and [http basic auth](https://github.com/dokku/dokku-http-auth) plugins to official status
- #1492: @josegonzalez Upgrade hostname plugin to 0.4.0+ compatibility
- #1501: @josegonzalez Clarify bootstrap installation documentation
- #1502: @josegonzalez Update dokku-apt compatibility
- #1504: @michaelshobbs Change plugin install doc to show one-step method
## 0.4.0
This is our first minor release in almost a year. Many new features and removals have occurred, so here is a neat summary:

View File

@@ -1,6 +1,6 @@
DOKKU_VERSION = master
SSHCOMMAND_URL ?= https://raw.github.com/progrium/sshcommand/master/sshcommand
SSHCOMMAND_URL ?= https://raw.githubusercontent.com/progrium/sshcommand/master/sshcommand
PLUGN_URL ?= https://github.com/progrium/plugn/releases/download/v0.1.0/plugn_0.1.0_linux_x86_64.tgz
STACK_URL ?= https://github.com/gliderlabs/herokuish.git
PREBUILT_STACK_URL ?= gliderlabs/herokuish:latest
@@ -121,7 +121,7 @@ ifdef BUILD_STACK
@echo "Start building herokuish from source"
docker images | grep gliderlabs/herokuish || (git clone ${STACK_URL} /tmp/herokuish && cd /tmp/herokuish && IMAGE_NAME=gliderlabs/herokuish BUILD_TAG=latest VERSION=master make -e ${BUILD_STACK_TARGETS} && rm -rf /tmp/herokuish)
else
ifeq ($(shell echo ${PREBUILT_STACK_URL} | egrep -q 'http.*://' && echo $$?),0)
ifeq ($(shell echo ${PREBUILT_STACK_URL} | egrep -q 'http.*://|file://' && echo $$?),0)
@echo "Start importing herokuish from ${PREBUILT_STACK_URL}"
docker images | grep gliderlabs/herokuish || curl --silent -L ${PREBUILT_STACK_URL} | gunzip -cd | docker import - gliderlabs/herokuish
else

View File

@@ -1,4 +1,4 @@
# Dokku [![Build Status](https://img.shields.io/circleci/project/progrium/dokku.svg "Build Status")](https://circleci.com/gh/progrium/dokku/tree/master) [![Ubuntu Package](https://img.shields.io/badge/package-ubuntu-brightgreen.svg?style=flat-square "Ubuntu Package")](https://packagecloud.io/dokku/dokku) [![IRC Network](https://img.shields.io/badge/irc-freenode-blue.svg "IRC Freenode")](https://webchat.freenode.net/?channels=dokku) [![Documentation](https://img.shields.io/badge/docs-viewdocs-blue.svg "Viewdocs")](http://progrium.viewdocs.io/dokku/)
# Dokku [![Build Status](https://img.shields.io/circleci/project/progrium/dokku.svg "Build Status")](https://circleci.com/gh/progrium/dokku/tree/master) [![Ubuntu Package](https://img.shields.io/badge/package-ubuntu-brightgreen.svg?style=flat-square "Ubuntu Package")](https://packagecloud.io/dokku/dokku) [![IRC Network](https://img.shields.io/badge/irc-freenode-blue.svg "IRC Freenode")](https://webchat.freenode.net/?channels=dokku) [![Documentation](https://img.shields.io/badge/docs-viewdocs-blue.svg "Viewdocs")](http://progrium.viewdocs.io/dokku/) [![Gratipay](https://img.shields.io/gratipay/dokku.svg)](https://gratipay.com/dokku/)
Docker powered mini-Heroku. The smallest PaaS implementation you've ever seen. Sponsored by our friends at [Deis](http://deis.io/).
@@ -10,8 +10,8 @@ Docker powered mini-Heroku. The smallest PaaS implementation you've ever seen. S
To install the latest stable release, you can run the following commands as a user that has access to `sudo`:
wget https://raw.github.com/progrium/dokku/v0.4.0/bootstrap.sh
sudo DOKKU_TAG=v0.4.0 bash bootstrap.sh
wget https://raw.githubusercontent.com/progrium/dokku/v0.4.2/bootstrap.sh
sudo DOKKU_TAG=v0.4.2 bash bootstrap.sh
### Upgrading

View File

@@ -47,6 +47,12 @@ dokku_install_package() {
apt-get install -qq -y apt-transport-https
echo "--> Installing docker"
if uname -r | grep -q linode; then
echo "--> NOTE: Using Linode? Docker might complain about missing AUFS support."
echo " See http://progrium.viewdocs.io/dokku/getting-started/install/linode/"
echo " Installation will continue in 10 seconds."
sleep 10
fi
curl -sSL https://get.docker.com/ | sh
echo "--> Installing dokku"
@@ -55,9 +61,9 @@ dokku_install_package() {
apt-get update -qq > /dev/null
if [[ -n $DOKKU_CHECKOUT ]]; then
apt-get install dokku=$DOKKU_CHECKOUT
apt-get install -y dokku=$DOKKU_CHECKOUT
else
apt-get install dokku
apt-get install -y dokku
fi
}
@@ -71,16 +77,16 @@ elif [[ -n $DOKKU_TAG ]]; then
patch=$(echo $DOKKU_SEMVER | awk '{split($0,a,"."); print a[3]}')
# 0.3.13 was the first version with a debian package
if [[ "$major" -eq "0" ]] && [[ "$minor" -ge "3" ]] && [[ "$patch" -ge "13" ]]; then
if [[ "$major" -eq "0" ]] && [[ "$minor" -eq "3" ]] && [[ "$patch" -ge "13" ]]; then
export DOKKU_CHECKOUT="$DOKKU_SEMVER"
dokku_install_package
echo "--> Running post-install dependency installation"
# 0.4.0 implemented a `plugin` plugin
if [[ "$major" -eq "0" ]] && [[ "$minor" -ge "4" ]] && [[ "$patch" -ge "0" ]]; then
dokku plugin:install-dependencies --core
else
dokku plugins-install-dependencies
fi
dokku plugins-install-dependencies
# 0.4.0 implemented a `plugin` plugin
elif [[ "$major" -eq "0" ]] && [[ "$minor" -ge "4" ]] && [[ "$patch" -ge "0" ]]; then
export DOKKU_CHECKOUT="$DOKKU_SEMVER"
dokku_install_package
dokku plugin:install-dependencies --core
else
export DOKKU_CHECKOUT="$DOKKU_TAG"
dokku_install_source

View File

@@ -21,7 +21,7 @@ if ARGV[0] == "onboot"
exit
end
version = "v0.4.0"
version = "v0.4.2"
dokku_root = ENV["DOKKU_ROOT"] || "/home/dokku"
admin_keys = `cat /root/.ssh/authorized_keys`.split("\n")
hostname = `bash -c '[[ $(dig +short $HOSTNAME) ]] && echo $HOSTNAME || curl icanhazip.com'`.strip

2
deb.mk
View File

@@ -77,7 +77,7 @@ deb-herokuish: deb-setup
cp -rf /tmp/tmp/herokuish /tmp/build/var/lib/herokuish
echo "-> Creating $(HEROKUISH_PACKAGE_NAME)"
sudo fpm -t deb -s dir -C /tmp/build -n herokuish -v $(HEROKUISH_VERSION) -a $(HEROKUISH_ARCHITECTURE) -p $(HEROKUISH_PACKAGE_NAME) --deb-pre-depends 'docker-engine' --after-install /tmp/tmp/post-install --url "https://github.com/$(HEROKUISH_REPO_NAME)" --description $(HEROKUISH_DESCRIPTION) --license 'MIT License' .
sudo fpm -t deb -s dir -C /tmp/build -n herokuish -v $(HEROKUISH_VERSION) -a $(HEROKUISH_ARCHITECTURE) -p $(HEROKUISH_PACKAGE_NAME) --deb-pre-depends 'docker-engine | docker-engine-cs' --after-install /tmp/tmp/post-install --url "https://github.com/$(HEROKUISH_REPO_NAME)" --description $(HEROKUISH_DESCRIPTION) --license 'MIT License' .
mv *.deb /tmp
deb-dokku: deb-setup

2
debian/control vendored
View File

@@ -3,7 +3,7 @@ Version: 0.3.12
Section: base
Priority: optional
Architecture: amd64
Depends: locales, git, make, curl, software-properties-common, docker-engine | lxc-docker, gcc, python-software-properties, man-db, herokuish, sshcommand
Depends: locales, git, make, curl, software-properties-common, docker-engine | docker-engine-cs | lxc-docker, gcc, python-software-properties, man-db, herokuish, sshcommand
Pre-Depends: nginx, dnsutils, ruby, ruby-dev, rubygem-rack, rubygem-rack-protection, rubygem-sinatra, rubygem-tilt, apparmor, cgroupfs-mount | cgroup-lite, plugn
Maintainer: Jose Diaz-Gonzalez <dokku@josediazgonzalez.com>
Description: Docker powered mini-Heroku in around 100 lines of Bash

View File

@@ -3,7 +3,7 @@
You can always install dokku straight from the latest - potentially unstable - master release via the following bash command:
```shell
wget -qO- https://raw.github.com/progrium/dokku/master/bootstrap.sh | sudo DOKKU_BRANCH=master bash
wget -qO- https://raw.githubusercontent.com/progrium/dokku/master/bootstrap.sh | sudo DOKKU_BRANCH=master bash
```
## Development
@@ -19,7 +19,7 @@ sudo make install
The `Makefile` allows source URLs to be overridden to include customizations from your own repositories. The `DOCKER_URL`, `PLUGN_URL`, `SSHCOMMAND_URL` and `STACK_URL` environment variables may be set to override the defaults (see the `Makefile` for how these apply). Example:
```shell
sudo SSHCOMMAND_URL=https://raw.github.com/yourusername/sshcommand/master/sshcommand make install
sudo SSHCOMMAND_URL=https://raw.githubusercontent.com/yourusername/sshcommand/master/sshcommand make install
```
## Bootstrap a server from your own repository
@@ -27,7 +27,7 @@ sudo SSHCOMMAND_URL=https://raw.github.com/yourusername/sshcommand/master/sshcom
The bootstrap script allows the dokku repository URL to be overridden to bootstrap a host from your own clone of dokku using the `DOKKU_REPO` environment variable. Example:
```shell
wget https://raw.github.com/progrium/dokku/master/bootstrap.sh
wget https://raw.githubusercontent.com/progrium/dokku/master/bootstrap.sh
chmod +x bootstrap.sh
sudo DOKKU_REPO=https://github.com/yourusername/dokku.git DOKKU_BRANCH=master ./bootstrap.sh
```

BIN
docs/assets/dokku.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.3 KiB

View File

@@ -1,12 +1,14 @@
body {
font-family: 'Open Sans', sans-serif;
font-weight: 400;
padding-bottom: 40px;
color: #5a5a5a;
-webkit-font-smoothing: antialiased;
}
h1 {
color: #5a5a5a;
font-family: 'montserrat', Optima, Segoe, "Segoe UI", Candara, Calibri, Arial, sans-serif;
font-weight: 700;
font-weight: 400;
line-height: 1.1;
margin-bottom: 12px;
margin-top: 12px;
@@ -20,12 +22,25 @@ h1 {
color: #fff;
font-size: 23px;
margin: 0;
padding: 0;
padding: 0 0 0 1em;
}
.header a {
background-image: url(https://cdn.rawgit.com/progrium/dokku/master/docs/assets/dokku.png);
color: #fff;
text-indent: 40px;
background-position: center left;
display: block;
width: 100%;
height: 100%;
-webkit-background-size: contain;
-moz-background-size: contain;
background-size: contain;
background-repeat: no-repeat;
}
.blurb {
color: #424242;
background-color: #ededed;
background-image: url(gplaypattern.png);
background-image: url(https://cdn.rawgit.com/progrium/dokku/master/docs/assets/gplaypattern.png);
padding: 45px 0;
text-align: center;
}
@@ -41,7 +56,7 @@ h1 {
font-size: 12px;
line-height: 1.3em;
margin: 45px auto;
max-width: 650px;
max-width: 750px;
padding: 0;
}
.quickstart-code .title {
@@ -107,7 +122,112 @@ h1 {
.featurette-heading .text-muted {
font-weight: 300;
}
.list-group-item {
border: none;
font-size: 13px;
font-weight: normal;
padding: .2rem .5rem;
color: #157577;
}
a.list-group-item {
color: #666
}
.list-group-item.disabled:first-child, .list-group-item.disabled:first-child:focus, .list-group-item.disabled:first-child:hover {
margin-top: 0;
}
.list-group-item.disabled, .list-group-item.disabled:focus, .list-group-item.disabled:hover {
background: none;
color: #bbb;
cursor: default;
font-weight: normal;
font-size: 11px;
margin-bottom: 1em;
margin-top: 2em;
text-transform: uppercase;
}
.anchorjs-link {
color: #24cbce;
}
.markdown-body {
-webkit-font-smoothing: antialiased;
box-sizing: border-box;
color: rgb(71, 74, 84);
font-size: 14px;
font-weight: normal;
height: 20px;
line-height: 20px;
text-align: left;
}
.markdown-body h1 {
border-bottom: 1px solid #dfdfdf;
color: #444;
font-size: 24px;
padding-bottom: 1em;
margin-top: 0;
text-rendering: optimizelegibility;
}
.markdown-body h2 {
font-size: 17px;
font-weight: 700;
color: #555;
margin-top: 3em;
text-transform: uppercase;
}
.markdown-body h3 {
font-size: 15px;
font-weight: 700;
color: #555;
margin: 1em 0;
}
.markdown-body h4 {
font-size: 14px;
font-weight: 700;
color: #555;
margin: 1em 0;
}
.markdown-body h1 + h2 {
margin-top: 1em;
}
code {
padding: 0;
padding-top: 0.2em;
padding-bottom: 0.2em;
margin: 0;
font-size: 85%;
background-color: #fff;
background-color: rgba(0,0,0,0.06);
color: #333;
-webkit-border-radius: 3px;
border-radius: 3px;
font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace;
}
code:before {
letter-spacing: -0.2em;
content: "\00a0";
}
code:after {
letter-spacing: -0.2em;
content: "\00a0";
}
pre code:before, pre code:after {
letter-spacing: 0;
content: "";
}
pre {
display: block;
line-height: 1.428571429;
word-break: break-all;
word-wrap: break-word;
border: 1px solid #cccccc;
border-radius: 4px;
font-size: 12px;
box-shadow: 0 0 0 3px #eee;
overflow: auto !important;
padding: 10px;
background-color: #fff;
color: #4d4d4c;
margin: 2em 0;
}
@media (min-width: 768px) {
.quickstart-code {
font-size: 14px;

View File

@@ -32,7 +32,7 @@ dokku certs:add < cert-key.tar
The `certs:generate` command will walk you through the correct `openssl` commands to create a key, csr and a self-signed cert for a given app/domain. We automatically put the self-signed cert in place as well as add the specified domain to the application configuration.
If you decide to obtain a CA signed certficate, you can import that certicate using the aformentioned `dokku certs:add` command.
If you decide to obtain a CA signed certficate, you can import that certificate using the aformentioned `dokku certs:add` command.
### Certificate information

View File

@@ -1,36 +1,39 @@
# Installing on Linode
Due to how Linode installs custom kernels, Linode instances *require* a reboot before they can fully work with Docker/Dokku. The Official Dokku StackScript should take care of this process for you, and will email notify you when the instance is running and you can proceed with installation.
When installing Dokku on a Linode server, you'll likely see an error during Docker installation:
## Using StackScript
> Warning: current kernel is not supported by the linux-image-extra-virtual package. We have no AUFS support. Consider installing the packages linux-image-virtual kernel and linux-image-extra-virtual for AUFS support.
Deploy using the following (experimental) Official StackScript:
After 10 seconds, the installation will continue as normal.
- https://www.linode.com/stackscripts/view/11348
This warning is the result of Linode using its own kernel, which does not support AUFS, instead of using the kernel supplied by Ubuntu. If you ignore the warning, Docker will fall back to using the DeviceMapper storage backend and Dokku will work normally. However, AUFS is better tested and will perform better.
## Without StackScript
If you would like to use AUFS, follow the steps below to install Ubuntu's kernel and configure your server to boot it instead of Linode's.
* Build a Ubuntu 13.04 instance
## Preparing your Linode for AUFS
* Follow these instructions: https://www.linode.com/docs/tools-reference/custom-kernels-distros/run-a-distributionsupplied-kernel-with-pvgrub#ubuntu-1304-raring
__Warning__: These steps will delete *everything* on your Linode.
* If `apt-get update` no longer works:
1. Open your server's dashboard in the [Linode Manager](https://manager.linode.com/).
* Verify if apt-get is trying to use ipv6 instead of ipv4 (e.g. you read something like "[Connecting to us.archive.ubuntu.com (2001:67c:1562::14)]" and apt-get would not proceed). In that case, follow these instructions: http://unix.stackexchange.com/questions/9940/convince-apt-get-not-to-use-ipv6-method (append "precedence ::ffff:0:0/96 100" to /etc/gai.conf)
2. Make sure your Linode is [using KVM](https://www.linode.com/docs/platform/kvm#how-to-enable-kvm), not Xen, for virtualization.
* OR: change `/etc/apt/sources.list` to one mentioned in http://mirrors.ubuntu.com/mirrors.txt
3. In the "Rebuild" tab, select "Ubuntu 14.04 LTS", set a root password, and rebuild.
* Run the following commands:
4. Once your Linode has been created, click "Boot" and wait for it to complete.
```shell
apt-get update
5. SSH into your Linode as root and run the following commands:
apt-get install lxc wget bsdtar linux-image-extra-$(uname -r)
apt-get update
apt-get -qq upgrade
apt-get -qq install linux-image-virtual linux-image-extra-virtual
modprobe aufs
```
* After this, you can install dokku the default way:
6. When prompted, install Grub onto the first hard drive.
```shell
wget -qO- https://raw.github.com/progrium/dokku/master/bootstrap.sh | sudo bash
```
7. Back in your server's dashboard, click "Edit" on its Configuration Profile
8. Change the "Kernel" option to "GRUB 2" and save your changes.
9. Lastly, reboot the Linode.
Once your server comes back online, you'll be running Ubuntu's default kernel. You can now follow Dokku's [normal installation instructions](http://progrium.viewdocs.io/dokku/installation) and `bootstrap.sh` will take care of everything else.

View File

@@ -18,8 +18,8 @@ If you’re stumped, give us a holler in the Dokku IRC channel. Someone from the
If [here](http://webchat.freenode.net/?channels=dokku) for a web-based client IRC client.
## Stackoverflow
## Stack Overflow
http://stackoverflow.com/
Tag your questions with `dokku` to enable existing users of stackoverflow to find your questions.
Tag your questions with `dokku` to enable existing users of Stack Overflow to find your questions.

View File

@@ -18,7 +18,7 @@
.header .heading{color:#fff;font-size:23px;margin:0;padding:0}
.blurb{color:#424242;background-color:#ededed;background-image:url(./assets/gplaypattern.png);padding:45px 0;text-align:center}
.blurb p{font-size:17px;font-weight:300;margin:18px 0;text-align:center}
.quickstart-code{display:block;font-size:12px;line-height:1.3em;margin:45px auto;max-width:650px;padding:0}
.quickstart-code{display:block;font-size:12px;line-height:1.3em;margin:45px auto;max-width:750px;padding:0}
.quickstart-code .title{background-color:#dfdfdf;background-image:linear-gradient(top,#f7f7f7 0%,#dfdfdf 7%,#ccc 100%);border-bottom:1px solid #111;color:#444;display:block;font-weight:400;font-size:14px;margin:0 20px;padding:3px 0;text-align:center;text-shadow:0 1px 0 rgba(255,255,255,0.5);border-radius:5px 5px 0 0;box-shadow:0 3px 0 rgba(0,0,0,0.5)}
.quickstart-code .shell{background-color:#171717;font-family:Menlo,Consolas,"Courier New",Courier,"Liberation Mono",monospace;margin:0 20px;padding:20px;text-shadow:none;border-radius:0 0 5px 5px;box-shadow:0 5px 30px rgba(0,0,0,0.3)}
.quickstart-code .line{display:block;margin:0;padding:0}
@@ -64,12 +64,12 @@
<p class="line">
<span class="path">~</span>
<span class="prompt">$</span>
<span class="command">wget https://raw.github.com/progrium/dokku/v0.4.0/bootstrap.sh</span>
<span class="command">wget https://raw.githubusercontent.com/progrium/dokku/v0.4.2/bootstrap.sh</span>
</p>
<p class="line">
<span class="path">~</span>
<span class="prompt">$</span>
<span class="command">sudo DOKKU_TAG=v0.4.0 bash bootstrap.sh</span>
<span class="command">sudo DOKKU_TAG=v0.4.2 bash bootstrap.sh</span>
</p>
<p class="line">
<span class="output"># =&gt; Go to your server's IP and follow the web installer</span>

View File

@@ -15,12 +15,12 @@
<p class="line">
<span class="path">~</span>
<span class="prompt">$</span>
<span class="command">wget https://raw.github.com/progrium/dokku/v0.4.0/bootstrap.sh</span>
<span class="command">wget https://raw.githubusercontent.com/progrium/dokku/v0.4.2/bootstrap.sh</span>
</p>
<p class="line">
<span class="path">~</span>
<span class="prompt">$</span>
<span class="command">sudo DOKKU_TAG=v0.4.0 bash bootstrap.sh</span>
<span class="command">sudo DOKKU_TAG=v0.4.2 bash bootstrap.sh</span>
</p>
<p class="line">
<span class="output"># =&gt; Go to your server's IP and follow the web installer</span>

View File

@@ -14,11 +14,11 @@ To install the latest stable version of dokku, you can run the following bootstr
```shell
# installs dokku via apt-get
wget https://raw.github.com/progrium/dokku/v0.4.0/bootstrap.sh
sudo DOKKU_TAG=v0.4.0 bash bootstrap.sh
wget https://raw.githubusercontent.com/progrium/dokku/v0.4.2/bootstrap.sh
sudo DOKKU_TAG=v0.4.2 bash bootstrap.sh
# By default, this will do cli-based setup, though you may *also*
# go to your server's IP and follow the web installer
# By default, this will start the web-based installer on your server's IP
# You may *instead* follow the debian packaging notes for a more automated installation
```
For various reasons, certain hosting providers may have other steps that should be preferred to the above. If hosted on any of the following popular hosts, please follow the linked to instructions:

View File

@@ -13,10 +13,17 @@ Let's take a quick look at the current dokku nginx plugin that's shipped with do
## Installing a plugin
```shell
cd /var/lib/dokku/plugins/available
# This command requires `root` permissions as the `install` and `install-dependencies`
# plugin triggers may utilize commands such as `apt-get`. For non-core plugins, please
# inspect those plugins before running the following command as `root` user.
sudo dokku plugin:install <git_url>
# previous versions (0.3.x and below) of dokku require a manual process to install plugins
cd /var/lib/dokku/plugins
git clone <git url>
dokku plugin:install
dokku plugins-install
```
## Creating your own plugin
[See the full documentation](http://progrium.viewdocs.io/dokku/development/plugin-creation).
@@ -27,6 +34,7 @@ The following plugins are available and provided by dokku maintainers. Where not
| Plugin | Author | Compatibility |
| ------------------------------------------------------------------------------------------------- | --------------------- | --------------------- |
| [CouchDB (beta)](https://github.com/dokku/dokku-couchdb) | [dokku][] | 0.4.0+ |
| [Elasticsearch (beta)](https://github.com/dokku/dokku-elasticsearch-plugin) | [dokku][] | 0.4.0+ |
| [MariaDB (beta)](https://github.com/dokku/dokku-mariadb-plugin) | [dokku][] | 0.4.0+ |
| [Memcached (beta)](https://github.com/dokku/dokku-memcached-plugin) | [dokku][] | 0.4.0+ |
@@ -36,6 +44,8 @@ The following plugins are available and provided by dokku maintainers. Where not
| [RabbitMQ (beta)](https://github.com/dokku/dokku-rabbitmq-plugin) | [dokku][] | 0.4.0+ |
| [Redis (beta)](https://github.com/dokku/dokku-redis-plugin) | [dokku][] | 0.4.0+ |
| [RethinkDB (beta)](https://github.com/dokku/dokku-rethinkdb-plugin) | [dokku][] | 0.4.0+ |
| [Maintenance mode (beta)](https://github.com/dokku/dokku-maintenance) | [dokku][] | 0.4.0+ |
| [HTTP Auth (beta)](https://github.com/dokku/dokku-http-auth) | [dokku][] | 0.4.0+ |
## Community plugins
@@ -107,46 +117,33 @@ Note: The following plugins have been supplied by our community and may not have
| Plugin | Author | Compatibility |
| ------------------------------------------------------------------------------------------------- | --------------------- | --------------------- |
| [MariaDB](https://github.com/Kloadut/dokku-md-plugin) | [Kloadut][] | Compatible with 0.2.0 |
| [MariaDB (single container)](https://github.com/ohardy/dokku-mariadb) | [ohardy][] | Compatible with 0.2.0 |
| [MariaDB (single container)](https://github.com/krisrang/dokku-mariadb) | [krisrang][] | 0.3.26+ |
| [MySQL](https://github.com/hughfletcher/dokku-mysql-plugin) | [hughfletcher][] | |
| [PostgreSQL](https://github.com/Kloadut/dokku-pg-plugin) | [Kloadut][] | Compatible with 0.2.0 |
| [PostgreSQL](https://github.com/jlachowski/dokku-pg-plugin) | [jlachowski][] | IP & PORT available directly in linked app container env variables (requires link plugin)|
| [PostgreSQL (single container)](https://github.com/jeffutter/dokku-postgresql-plugin) | [jeffutter][] | This plugin creates a single postgresql container that all your apps can use. Thus only one instance of postgresql running (good for servers without a ton of memory). |
| [PostgreSQL (single container)](https://github.com/ohardy/dokku-psql) | [ohardy][] | Compatible with 0.2.0 |
| [PostgreSQL (single container)](https://github.com/Flink/dokku-psql-single-container) | [Flink][] | 0.3.26+. Single Postgresql container with official Postgresql docker image |
| [PostGIS](https://github.com/fermuch/dokku-pg-plugin) | [fermuch][] | |
| [MariaDB](https://github.com/Kloadut/dokku-md-plugin) | [Kloadut][] | 0.3.x |
| [MariaDB (single container)](https://github.com/ohardy/dokku-mariadb) | [ohardy][] | 0.3.x |
| [MariaDB (single container)](https://github.com/krisrang/dokku-mariadb) | [krisrang][] | 0.3.26+ |
| [PostgreSQL](https://github.com/jlachowski/dokku-pg-plugin) | [jlachowski][] | 0.3.x |
| [PostgreSQL (single container)](https://github.com/ohardy/dokku-psql) | [ohardy][] | 0.3.x |
| [PostgreSQL (single container)](https://github.com/Flink/dokku-psql-single-container) | [Flink][] | 0.3.26+ |
#### Caching
| Plugin | Author | Compatibility |
| ------------------------------------------------------------------------------------------------- | --------------------- | --------------------- |
| [Memcached](https://github.com/Flink/dokku-memcached-plugin) | [Flink][] | 0.3.26+. Sets a MEMCACHE_SERVERS environment variable|
| [Redis](https://github.com/luxifer/dokku-redis-plugin) | [luxifer][] | |
| [Redis](https://github.com/sekjun9878/dokku-redis-plugin) | [sekjun9878][] | 0.3.26+. A better Redis plugin with automatic instance creation and Dokku Link support
| [Redis (single container)](https://github.com/ohardy/dokku-redis) | [ohardy][] | Compatible with 0.2.0 |
| [Redis](https://github.com/sekjun9878/dokku-redis-plugin) | [sekjun9878][] | 0.3.26+ |
| [Redis (single container)](https://github.com/ohardy/dokku-redis) | [ohardy][] | 0.3.x |
| [Varnish](https://github.com/Zenedith/dokku-varnish-plugin) | [Zenedith][] | Varnish cache between nginx and application with base configuration|
#### Queuing
| Plugin | Author | Compatibility |
| ------------------------------------------------------------------------------------------------- | --------------------- | --------------------- |
| [RabbitMQ](https://github.com/jlachowski/dokku-rabbitmq-plugin) | [jlachowski][] | IP & PORT available directly in linked app container env variables (requires link plugin)|
| [RabbitMQ (single container)](https://github.com/jlachowski/dokku-rabbitmq-single-plugin) | [jlachowski][] | IP & PORT available directly in linked app container env variables (requires link plugin)|
| [RabbitMQ](https://github.com/jlachowski/dokku-rabbitmq-plugin) | [jlachowski][] | 0.3.x |
| [RabbitMQ (single container)](https://github.com/jlachowski/dokku-rabbitmq-single-plugin) | [jlachowski][] | 0.3.x |
#### Other
| Plugin | Author | Compatibility |
| ------------------------------------------------------------------------------------------------- | --------------------- | --------------------- |
| [CouchDB](https://github.com/racehub/dokku-couchdb-plugin) | [RaceHub][] | Compatible with 0.2.0 |
| [CouchDB (multi containers)](https://github.com/Flink/dokku-couchdb-multi-containers) | [Flink][] | 0.3.26+ |
| [Elasticsearch](https://github.com/robv/dokku-elasticsearch) | [robv][] | Not compatible with >= 0.3.0 (still uses /home/git) |
| [Elasticsearch](https://github.com/blag/dokku-elasticsearch-plugin)<sup>1</sup> | [blag][] | Compatible with 0.2.0 |
| [MongoDB (single container)](https://github.com/jeffutter/dokku-mongodb-plugin) | [jeffutter][] | |
| [Neo4j](https://github.com/Aomitayo/dokku-neo4j-plugin) | [Aomitayo][] | |
| [RethinkDB](https://github.com/stuartpb/dokku-rethinkdb-plugin) | [stuartpb][] | 2014-02-22: targeting dokku @ [latest][217d00a]; will fail with Dokku earlier than [28de3ec][]. |
| [RiakCS (single container)](https://github.com/jeffutter/dokku-riakcs-plugin) | [jeffutter][] | Incompatible with 0.2.0 (checked at [dccee02][]) |
| [RethinkDB](https://github.com/stuartpb/dokku-rethinkdb-plugin) | [stuartpb][] | 0.3.x |
[dccee02]: https://github.com/jeffutter/dokku-riakcs-plugin/commit/dccee02702e7001851917b7814e78a99148fb709
@@ -156,11 +153,11 @@ Note: The following plugins have been supplied by our community and may not have
| ------------------------------------------------------------------------------------------------- | --------------------- | --------------------- |
| [Circus](https://github.com/apmorton/dokku-circus) | [apmorton][] | |
| [Forego](https://github.com/iskandar/dokku-forego) | [iskandar][] | Compatible with 0.2.x |
| [Forego](https://github.com/Flink/dokku-forego) | [Flink][] | 0.3.26+ |
| [Logging Supervisord](https://github.com/sehrope/dokku-logging-supervisord) | [sehrope][] | Works with dokku @ [c77cbf1][] - no 0.2.0 compatibility |
| [Monit](https://github.com/cjblomqvist/dokku-monit) | [cjblomqvist][] | |
| [Shoreman ](https://github.com/statianzo/dokku-shoreman) | [statianzo][] | Compatible with 0.2.0 |
| [Supervisord](https://github.com/statianzo/dokku-supervisord) | [statianzo][] | Compatible with 0.2.0 |
| [Forego](https://github.com/Flink/dokku-forego) | [Flink][] | 0.4.0+ |
| [Logging Supervisord](https://github.com/sehrope/dokku-logging-supervisord) | [sehrope][] | 0.4.0+ |
| [Monit](https://github.com/cjblomqvist/dokku-monit) | [cjblomqvist][] | 0.3.x |
| [Shoreman ](https://github.com/statianzo/dokku-shoreman) | [statianzo][] | 0.3.x |
| [Supervisord](https://github.com/statianzo/dokku-supervisord) | [statianzo][] | 0.3.x |
[c77cbf1]: https://github.com/progrium/dokku/commit/c77cbf1d3ae07f0eafb85082ed7edcae9e836147
[28de3ec]: https://github.com/progrium/dokku/commit/28de3ecaa3231a223f83fd8d03f373308673bc40
@@ -169,25 +166,22 @@ Note: The following plugins have been supplied by our community and may not have
| Plugin | Author | Compatibility |
| ------------------------------------------------------------------------------------------------- | --------------------- | --------------------- |
| [app-url](https://github.com/mikecsh/dokku-app-url) | [mikecsh][] | Works with 0.2.0 |
| [Docker Direct](https://github.com/heichblatt/dokku-docker-direct) | [heichblatt][] | |
| [Dokku Copy App Config Files](https://github.com/alexkruegger/dokku-app-configfiles) | [alexkruegger][] | Compatible with 0.3.17+ |
| [Dokku Copy App Config Files](https://github.com/heichblatt/dokku-supply-config) | [heichblatt][] | |
| [Dokku Name](https://github.com/alex-sherwin/dokku-name) | [alex-sherwin][] | dokku >= [c77cbf1][] |
| [Dokku Registry](https://github.com/agco-adm/dokku-registry)<sup>1</sup> | [agco-adm][] | |
| [git rev-parse HEAD in env](https://github.com/cjblomqvist/dokku-git-rev) | [cjblomqvist][] | Compatible with 0.3.0 |
| [Graduate (Environment Management)](https://github.com/glassechidna/dokku-graduate) | [Benjamin-Dobell][] | dokku >= v0.3.14 |
| [HTTP Auth](https://github.com/Flink/dokku-http-auth) | [Flink][] | 0.3.26+ |
| [HTTP Auth Secure Apps](https://github.com/matto1990/dokku-secure-apps) | [matto1990][] | Works with v0.2.3 |
| [Hostname](https://github.com/michaelshobbs/dokku-hostname) | [michaelshobbs][] | |
| [Link Containers](https://github.com/rlaneve/dokku-link) | [rlaneve][] | dokku >= [c77cbf1][] |
| [Maintenance mode](https://github.com/Flink/dokku-maintenance) | [Flink][] | 0.3.26+ |
| [Dokku Registry](https://github.com/agco-adm/dokku-registry)<sup>1</sup> | [agco-adm][] | 0.4.0+ |
| [git rev-parse HEAD in env](https://github.com/cjblomqvist/dokku-git-rev) | [cjblomqvist][] | 0.4.0+ |
| [Graduate (Environment Management)](https://github.com/glassechidna/dokku-graduate) | [Benjamin-Dobell][] | 0.3.14+ |
| [HTTP Auth Secure Apps](https://github.com/matto1990/dokku-secure-apps) | [matto1990][] | 0.4.0+ |
| [Hostname](https://github.com/michaelshobbs/dokku-hostname) | [michaelshobbs][] | 0.4.0+ |
| [Multi-Buildpack](https://github.com/pauldub/dokku-multi-buildpack) | [pauldub][] | |
| [Named-containers](https://github.com/Flink/dokku-named-containers) | [Flink][] | 0.3.26+ |
| [Ports](https://github.com/heichblatt/dokku-ports) | [heichblatt][] | |
| [Pre-Deploy Tasks](https://github.com/michaelshobbs/dokku-app-predeploy-tasks) | [michaelshobbs][] | |
| [SSH Deployment Keys](https://github.com/cedricziel/dokku-deployment-keys)<sup>2</sup> | [cedricziel][] | 2014-01-17: compatible with upstream/master |
| [SSH Hostkeys](https://github.com/cedricziel/dokku-hostkeys-plugin)<sup>3</sup> | [cedricziel][] | 2014-01-17: compatible with upstream/master |
| [Volume (persistent storage)](https://github.com/ohardy/dokku-volume) | [ohardy][] | Compatible with 0.2.0 |
| [App Configfiles](https://github.com/alexkruegger/dokku-app-configfiles) | [alexkruegger][] | Compatible with 0.3.17+ |
| [Nuke Containers](https://github.com/heichblatt/dokku-nuke) | [heichblatt][] | |
| [Open App Ports](https://github.com/heichblatt/dokku-ports) | [heichblatt][] | |
| [Pre-Deploy Tasks](https://github.com/michaelshobbs/dokku-app-predeploy-tasks) | [michaelshobbs][] | 0.4.0+ |
| [SSH Deployment Keys](https://github.com/cedricziel/dokku-deployment-keys)<sup>2</sup> | [cedricziel][] | 0.3.x |
| [SSH Hostkeys](https://github.com/cedricziel/dokku-hostkeys-plugin)<sup>3</sup> | [cedricziel][] | 0.3.x |
| [Volume (persistent storage)](https://github.com/ohardy/dokku-volume) | [ohardy][] | 0.3.x |
[217d00a]: https://github.com/progrium/dokku/commit/217d00a1bc47a7e24d8847617bb08a1633025fc7
@@ -201,21 +195,21 @@ Note: The following plugins have been supplied by our community and may not have
| Plugin | Author | Compatibility |
| ------------------------------------------------------------------------------------------------- | --------------------- | --------------------- |
| [Airbrake deploy](https://github.com/Flink/dokku-airbrake-deploy) | [Flink][] | 0.3.26+ |
| [APT](https://github.com/F4-Group/dokku-apt) | [F4-Group][] | |
| [Airbrake deploy](https://github.com/Flink/dokku-airbrake-deploy) | [Flink][] | 0.4.0+ |
| [APT](https://github.com/F4-Group/dokku-apt) | [F4-Group][] | 0.2.0+ (tag 0.2.0), 0.3.0+ (tag 0.3.0), 0.4.0+ |
| [Chef cookbooks](https://github.com/fgrehm/chef-dokku) | [fgrehm][] | |
| [Bower install](https://github.com/alexanderbeletsky/dokku-bower-install) | [alexanderbeletsky][] | |
| [Bower/Grunt](https://github.com/thrashr888/dokku-bower-grunt-build-plugin) | [thrashr888][] | |
| [Bower/Gulp](https://github.com/gdi2290/dokku-bower-gulp-build-plugin) | [gdi2290][] | |
| [Bower/Gulp](https://github.com/jagandecapri/dokku-bower-gulp-build-plugin) | [jagandecapri][] | |
| [Docker auto volumes](https://github.com/Flink/dokku-docker-auto-volumes) | [Flink][] | 0.3.26+, auto-persist docker volumes |
| [Docker auto persist volumes](https://github.com/Flink/dokku-docker-auto-volumes) | [Flink][] | 0.4.0+ |
| [HipChat Notifications](https://github.com/cef/dokku-hipchat) | [cef][] | |
| [Graphite/statsd](https://github.com/jlachowski/dokku-graphite-plugin) | [jlachowski][] | |
| [Logspout](https://github.com/michaelshobbs/dokku-logspout) | [michaelshobbs][] | 0.3.26+ |
| [Node](https://github.com/pnegahdar/dokku-node) | [pnegahdar][] | |
| [Node](https://github.com/ademuk/dokku-nodejs) | [ademuk][] | |
| [Reset mtime](https://github.com/mixxorz/dokku-docker-reset-mtime) | [mixxorz][] | 0.3.15+, Dockerfile support |
| [Slack Notifications](https://github.com/ribot/dokku-slack) | [ribot][] | 0.3.26+ |
| [Slack Notifications](https://github.com/ribot/dokku-slack) | [ribot][] | 0.4.0+ |
| [User ACL](https://github.com/mlebkowski/dokku-acl) | [Maciej Łebkowski][] | |
| [Webhooks](https://github.com/nickstenning/dokku-webhooks) | [nickstenning][] | |
| [Wordpress](https://github.com/dudagroup/dokku-wordpress-template) | [abossard][] | Dokku dev, mariadb, volume, domains |
@@ -229,22 +223,45 @@ The following plugins have been removed as their functionality is now in Dokku C
| Plugin | Author | In Dokku Since |
| ------------------------------------------------------------------------------------------------- | --------------------- | ------------------------------- |
| [Custom Domains](https://github.com/neam/dokku-custom-domains) | [motin][] | v0.3.10 (domains plugin) |
| [Debug](https://github.com/heichblatt/dokku-debug) | [heichblatt][] | v0.3.9 (trace command) |
| [Debug](https://github.com/heichblatt/dokku-debug) | [heichblatt][] | v0.3.9 (trace command) |
| [Docker Options](https://github.com/dyson/dokku-docker-options) | [dyson][] | v0.3.17 (docker-options plugin) |
| [Events Logger](https://github.com/alessio/dokku-events) | [alessio][] | v0.3.21 (events plugin) |
| [Host Port binding](https://github.com/stuartpb/dokku-bind-port) | [stuartpb][] | v0.3.17 (docker-options plugin) |
| [List Containers](https://github.com/heichblatt/dokku-list) | [heichblatt][] | v0.3.14 (ps plugin |
| [Link Containers](https://github.com/rlaneve/dokku-link) | [rlaneve][] | v0.3.17 (docker-options plugin) |
| [Multiple Domains](https://github.com/wmluke/dokku-domains-plugin)<sup>1</sup> | [wmluke][] | v0.3.10 (domains plugin) |
| [Named-containers](https://github.com/Flink/dokku-named-containers) | [Flink][] | v0.4.2 (named-containers plugin) |
| [Nginx-Alt](https://github.com/mikexstudios/dokku-nginx-alt) | [mikexstudios][] | v0.3.10 (domains plugin) |
| [Persistent Storage](https://github.com/dyson/dokku-persistent-storage) | [dyson][] | v0.3.17 (docker-options plugin) |
| [PrimeCache](https://github.com/darkpixel/dokku-prime-cache) | [darkpixel][] | v0.3.0 (zero downtime deploys) |
| [Rebuild application](https://github.com/scottatron/dokku-rebuild) | [scottatron][] | v0.3.14 (ps plugin) |
| [Rebuild application](https://github.com/scottatron/dokku-rebuild) | [scottatron][] | v0.3.14 (ps plugin) |
| [Supply env vars to buildpacks](https://github.com/cameron-martin/dokku-build-env)<sup>2</sup> | [cameron-martin][] | v0.3.9 (build-env plugin) |
| [user-env-compile](https://github.com/musicglue/dokku-user-env-compile)<sup>2</sup> | [musicglue][] | v0.3.9 (build-env plugin) |
| [user-env-compile](https://github.com/motin/dokku-user-env-compile)<sup>2</sup> | [motin][] | v0.3.9 (build-env plugin) |
| [VHOSTS Custom Configuration](https://github.com/neam/dokku-nginx-vhosts-custom-configuration) | [motin][] | v0.3.10 (domains plugin) |
<sup>1</sup> Conflicts with [VHOSTS Custom Configuration](https://github.com/neam/dokku-nginx-vhosts-custom-configuration)
<sup>2</sup> Similar to the heroku-labs feature (see https://devcenter.heroku.com/articles/labs-user-env-compile)
[a043e98]: https://github.com/stuartpb/dokku-bind-port/commit/a043e9892f4815b6525c850131e09fd64db5c1fa
### Unmaintained Plugins
The following plugins are no longer maintained by their developers.
| Plugin | Author | Compatibility |
| ------------------------------------------------------------------------------------------------- | --------------------- | --------------------- |
| [app-url](https://github.com/mikecsh/dokku-app-url) | [mikecsh][] | Works with 0.2.0 |
| [CouchDB (multi containers)](https://github.com/Flink/dokku-couchdb-multi-containers) | [Flink][] | 0.4.0+ |
| [CouchDB](https://github.com/racehub/dokku-couchdb-plugin) | [RaceHub][] | Compatible with 0.2.0 |
| [Elasticsearch](https://github.com/robv/dokku-elasticsearch) | [robv][] | Not compatible with >= 0.3.0 (still uses /home/git) |
| [Elasticsearch](https://github.com/blag/dokku-elasticsearch-plugin)<sup>1</sup> | [blag][] | Compatible with 0.2.0 |
| [Memcached](https://github.com/Flink/dokku-memcached-plugin) | [Flink][] | 0.4.0+ |
| [MongoDB (single container)](https://github.com/jeffutter/dokku-mongodb-plugin) | [jeffutter][] | |
| [MySQL](https://github.com/hughfletcher/dokku-mysql-plugin) | [hughfletcher][] | |
| [Neo4j](https://github.com/Aomitayo/dokku-neo4j-plugin) | [Aomitayo][] | |
| [PostGIS](https://github.com/fermuch/dokku-pg-plugin) | [fermuch][] | |
| [PostgreSQL (single container)](https://github.com/jeffutter/dokku-postgresql-plugin) | [jeffutter][] | This plugin creates a single postgresql container that all your apps can use. Thus only one instance of postgresql running (good for servers without a ton of memory). |
| [RiakCS (single container)](https://github.com/jeffutter/dokku-riakcs-plugin) | [jeffutter][] | Incompatible with 0.2.0 (checked at [dccee02][]) |
| [Redis](https://github.com/luxifer/dokku-redis-plugin) | [luxifer][] | |

View File

@@ -7,49 +7,32 @@
<!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
<meta name="description" content="">
<meta name="author" content="">
<link href="https://fonts.googleapis.com/css?family=Montserrat:400,700" rel="stylesheet" type="text/css">
<link href="https://fonts.googleapis.com/css?family=Open+Sans:400:sans-serif|Open+Sans:400:sans-serif" rel="stylesheet" type="text/css">
<title>Dokku - The smallest PaaS implementation you've ever seen</title>
<link href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.5/css/bootstrap.min.css" rel="stylesheet">
<style type="text/css">
body{padding-bottom:40px;color:#5a5a5a}
h1{color:#5a5a5a;font-family:'montserrat',Optima,Segoe,"Segoe UI",Candara,Calibri,Arial,sans-serif;font-weight:700;line-height:1.1;margin-bottom:12px;margin-top:12px;text-rendering:optimizelegibility}
.header{background-color:#2a8fbd;padding:22px 0}
.header .heading{color:#fff;font-size:23px;margin:0;padding:0}
.blurb{color:#424242;background-color:#ededed;background-image:url(gplaypattern.png);padding:45px 0;text-align:center}
.blurb p{font-size:17px;font-weight:300;margin:18px 0;text-align:center}
.quickstart-code{display:block;font-size:12px;line-height:1.3em;margin:45px auto;max-width:650px;padding:0}
.quickstart-code .title{background-color:#dfdfdf;background-image:linear-gradient(top,#f7f7f7 0%,#dfdfdf 7%,#ccc 100%);border-bottom:1px solid #111;color:#444;display:block;font-weight:400;font-size:14px;margin:0 20px;padding:3px 0;text-align:center;text-shadow:0 1px 0 rgba(255,255,255,0.5);border-radius:5px 5px 0 0;box-shadow:0 3px 0 rgba(0,0,0,0.5)}
.quickstart-code .shell{background-color:#171717;font-family:Menlo,Consolas,"Courier New",Courier,"Liberation Mono",monospace;margin:0 20px;padding:20px;text-shadow:none;border-radius:0 0 5px 5px;box-shadow:0 5px 30px rgba(0,0,0,0.3)}
.quickstart-code .line{display:block;margin:0;padding:0}
.quickstart-code .line span{display:inline-block}
.quickstart-code .path{color:#2a8fbd;user-select:none}
.quickstart-code .prompt{color:#f90;user-select:none}
.quickstart-code .command{color:#ffc}
.marketing .col-lg-4{margin-bottom:20px;text-align:center}
.marketing .col-lg-4 p{margin-right:10px;margin-left:10px}
.featurette-divider{margin:20px 0}
.featurette-heading{font-weight:400;line-height:1;letter-spacing:-1px}
.featurette-heading .text-muted{font-weight:300}
@media (min-width: 768px) {
.quickstart-code{font-size:14px;line-height:22px}
.featurette-heading{font-size:50px}
}
@media (min-width: 992px) {
.featurette-heading{margin-top:120px}
}
</style>
<link href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.0.0-alpha/css/bootstrap.min.css" rel="stylesheet">
<link href="https://cdn.rawgit.com/progrium/dokku/0.4.2/docs/assets/style.css" rel="stylesheet">
</head>
<body>
<div class="header">
<div class="container">
<h1 class="heading">Dokku</h1>
<div class="container-fluid">
<div class="row">
<div class="col-md-offset-2">
<h1 class="heading navbar-brand">
<a href="http://progrium.viewdocs.io/dokku/">Dokku</a>
</h1>
</div>
</div>
</div>
</div>
<div class="container-fluid">
<div class="row">
<div class="col-xs-4 col-md-2" style="padding-top:16px">
<div class="col-xs-8 col-md-6 col-md-push-4 markdown-body" style="padding-top:16px">
{{CONTENT}}
</div>
<div class="col-xs-4 col-md-2 col-md-pull-6 col-md-offset-2" style="padding-top:16px">
<div class="list-group">
<a href="#" class="list-group-item disabled">Getting Started</a>
<a href="http://progrium.viewdocs.io/dokku/installation" class="list-group-item">Installation</a>
@@ -59,14 +42,14 @@
<a href="#" class="list-group-item disabled">Deployment</a>
<a href="http://progrium.viewdocs.io/dokku/application-deployment" class="list-group-item">Application Deployment</a>
<a href="http://progrium.viewdocs.io/dokku/configuration-management" class="list-group-item">Configuration management</a>
<a href="http://progrium.viewdocs.io/dokku/process-management" class="list-group-item">Process management</a>
<a href="http://progrium.viewdocs.io/dokku/application-deployment" class="list-group-item">Deploying an Application</a>
<a href="http://progrium.viewdocs.io/dokku/configuration-management" class="list-group-item">Environment Variables</a>
<a href="http://progrium.viewdocs.io/dokku/process-management" class="list-group-item">Scaling Processes</a>
<a href="http://progrium.viewdocs.io/dokku/dns" class="list-group-item">DNS Configuration</a>
<a href="http://progrium.viewdocs.io/dokku/nginx" class="list-group-item">Nginx Configuration</a>
<a href="http://progrium.viewdocs.io/dokku/deployment/ssl-configuration" class="list-group-item">SSL Configuration</a>
<a href="http://progrium.viewdocs.io/dokku/remote-commands" class="list-group-item">Running Remote commands</a>
<a href="http://progrium.viewdocs.io/dokku/docker-options" class="list-group-item">Container Options</a>
<a href="http://progrium.viewdocs.io/dokku/remote-commands" class="list-group-item">Remote commands</a>
<a href="http://progrium.viewdocs.io/dokku/docker-options" class="list-group-item">Docker Container Options</a>
<a href="http://progrium.viewdocs.io/dokku/dokku-events-logs" class="list-group-item">Dokku Event Logs</a>
<a href="#" class="list-group-item disabled">Community Contributions</a>
@@ -78,24 +61,19 @@
<a href="http://progrium.viewdocs.io/dokku/development/plugin-creation" class="list-group-item">Plugin Creation</a>
<a href="http://progrium.viewdocs.io/dokku/development/plugin-triggers" class="list-group-item">Plugin Triggers</a>
<a href="http://progrium.viewdocs.io/dokku/development/testing" class="list-group-item">Test Suite</a>
<a href="http://progrium.viewdocs.io/dokku/development/testing" class="list-group-item">Running Tests</a>
<a href="http://progrium.viewdocs.io/dokku/development/release-process" class="list-group-item">Release Process</a>
</div>
</div>
<div class="col-xs-8 col-md-10">
{{CONTENT}}
</div>
</div>
</div>
<div class="container">
<footer>
<p class="pull-right"><a href="#">Back to top</a></p>
<p>&copy; 2013 Dokku</p>
</footer>
</div>
<script src="https://cdnjs.cloudflare.com/ajax/libs/anchor-js/1.3.0/anchor.js"></script>
<script>
document.addEventListener("DOMContentLoaded", function (e) {
anchors.options.visible = 'always';
anchors.add('.markdown-body h1, .markdown-body h2, .markdown-body h3, .markdown-body h4');
var elements = document.querySelectorAll('table'),
classNames = ['table', 'table-striped', 'table-hover', 'table-condensed'],
addClass = function (el, className) {

View File

@@ -1,5 +1,5 @@
#!/usr/bin/env bash
[[ " build release trace delete ls logs run url urls version help " == *" $1 "* ]] || exit $DOKKU_NOT_IMPLEMENTED_EXIT
[[ " build release trace delete ls run url urls version help " == *" $1 "* ]] || exit $DOKKU_NOT_IMPLEMENTED_EXIT
set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
source "$PLUGIN_CORE_AVAILABLE_PATH/common/functions"
source "$PLUGIN_AVAILABLE_PATH/config/functions"
@@ -126,32 +126,6 @@ case "$1" in
done
;;
logs)
[[ -z $2 ]] && dokku_log_fail "Please specify an app to run the command on"
APP="$2"; verify_app_name "$2"
if (is_deployed $APP); then
CONTAINER_IDS=( $(get_app_container_ids $APP) )
LAST_CONTAINER_ID=${CONTAINER_IDS[${#CONTAINER_IDS[@]} - 1]}
if [[ $3 == "-t" ]]; then
DOKKU_LOGS_ARGS="--follow --tail 100"
else
DOKKU_LOGS_ARGS="--tail 100"
fi
for CID in "${CONTAINER_IDS[@]}"; do
if [[ "$CID" != "$LAST_CONTAINER_ID" ]]; then
DOKKU_LOGS_CMD+="docker logs $DOKKU_LOGS_ARGS $CID& "
else
DOKKU_LOGS_CMD+="docker logs $DOKKU_LOGS_ARGS $CID; "
fi
done
bash -c "($DOKKU_LOGS_CMD)"
else
echo "Application's container not found"
fi
;;
run)
[[ -z $2 ]] && dokku_log_fail "Please specify an app to run the command on"
APP="$2"; IMAGE_TAG=$(get_running_image_tag $APP); IMAGE=$(get_app_image_name $APP $IMAGE_TAG)
@@ -217,7 +191,6 @@ case "$1" in
help)
cat<<EOF
ls, Pretty listing of deployed applications and containers
logs <app> [-t], Show the last logs for an application (-t follows)
run <app> <cmd>, Run a command in the environment of an application
url <app>, Show the first URL for an application (compatibility)
urls <app>, Show all URLs for an application

View File

@@ -6,8 +6,8 @@ source "$PLUGIN_AVAILABLE_PATH/config/functions"
APP="$1"; IMAGE=$(get_app_image_name $APP); BUILD_ENV=""
verify_app_name "$APP"
config_get --global CURL_CONNECT_TIMEOUT > /dev/null 2>&1 || config_set --global CURL_CONNECT_TIMEOUT=5
config_get --global CURL_TIMEOUT > /dev/null 2>&1 || config_set --global CURL_TIMEOUT=30
[[ -z $(config_get --global CURL_CONNECT_TIMEOUT) ]] && config_set --global CURL_CONNECT_TIMEOUT=5
[[ -z $(config_get --global CURL_TIMEOUT) ]] && config_set --global CURL_TIMEOUT=30
if [[ -n $(config_export global) ]]; then
BUILD_ENV+=$'\n'

View File

@@ -98,7 +98,7 @@ dokku_log_plugn_trigger_call() {
local l_hook
l_hook="$1" ; shift
dokku_log_event "INVOKED: ${l_hook}( $@ )"
dokku_log_event "INVOKED: ${l_hook}( $@ ) NAME=$NAME FINGERPRINT=$FINGERPRINT"
}
dokku_container_log_verbose_quiet() {

View File

@@ -102,7 +102,7 @@ config_all() {
[[ "$1" == "config" ]] || set -- "config" "$@"
config_parse_args "$@"
config_create "$ENV_FILE"
is_config_export "$@" && config_export "$DOKKU_CONFIG_TYPE" "$APP" && exit 0
is_config_export "$@" && config_export "$DOKKU_CONFIG_TYPE" "$APP" && return 0
[[ "$APP" ]] && DOKKU_CONFIG_TYPE=$APP
[[ ! -s $ENV_FILE ]] && dokku_log_fail "no config vars for $DOKKU_CONFIG_TYPE"
@@ -112,7 +112,7 @@ config_all() {
for var in "$@"; do
if [[ "$var" == "--shell" ]]; then
echo $VARS
exit 0
return 0
fi
done
@@ -132,7 +132,7 @@ config_get() {
config_create "$ENV_FILE"
if [[ ! -s $ENV_FILE ]]; then
exit 0
return 0
fi
KEY="$3"
@@ -147,6 +147,7 @@ config_set() {
if [[ -z "${*:3}" ]]; then
echo "Usage: dokku config:set APP KEY1=VALUE1 [KEY2=VALUE2 ...]"
echo "Whitespaces need to be escaped, i.e. KEY=\"VAL\ WITH\ SPACES\""
echo "Must specify KEY and VALUE to set."
exit 1
fi
@@ -160,6 +161,7 @@ config_set() {
for var; do
if [[ $var != *"="* ]]; then
echo "Usage: dokku config:set APP KEY1=VALUE1 [KEY2=VALUE2 ...]"
echo "Whitespaces need to be escaped, i.e. KEY=\"VAL\ WITH\ SPACES\""
echo "Must specify KEY and VALUE to set."
exit 1
fi

49
plugins/logs/commands Executable file
View File

@@ -0,0 +1,49 @@
#!/usr/bin/env bash
set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
source "$PLUGIN_CORE_AVAILABLE_PATH/common/functions"
source "$PLUGIN_AVAILABLE_PATH/config/functions"
source "$PLUGIN_AVAILABLE_PATH/nginx-vhosts/functions"
case "$1" in
logs)
[[ -z $2 ]] && dokku_log_fail "Please specify an app to run the command on"
APP="$2"; verify_app_name "$2"
APP_ROOT="$DOKKU_ROOT/$APP"
COLORS=(36 33 32 35 31)
if (is_deployed "$APP"); then
CONTAINERS=("$APP_ROOT"/CONTAINER.*)
if [[ $3 == "-t" ]]; then
DOKKU_LOGS_ARGS="--follow --tail 100"
else
DOKKU_LOGS_ARGS="--tail 100"
fi
((MAX_INDEX=${#CONTAINERS[*]} - 1)) || true
for i in ${!CONTAINERS[*]}; do
DYNO=$(echo "${CONTAINERS[i]}" | sed -r 's/.*CONTAINER\.(.*)/\1/')
CID=$(< "${CONTAINERS[i]}")
COLOR=${COLORS[i % ${#COLORS[*]}]}
DOKKU_LOGS_CMD+="(docker logs -t $DOKKU_LOGS_ARGS $CID 2>&1 | sed -r 's/^([^Z]+Z )/\x1b[${COLOR}m\1$APP[$DYNO]:\x1b[0m /gm')"
if [[ $i != "$MAX_INDEX" ]]; then
DOKKU_LOGS_CMD+="& "
else
DOKKU_LOGS_CMD+="; "
fi
done
bash -c "($DOKKU_LOGS_CMD)"
else
echo "Application's container not found"
fi
;;
help)
cat<<EOF
logs <app> [-t], Show the last logs for an application (-t follows)
EOF
;;
*)
exit $DOKKU_NOT_IMPLEMENTED_EXIT
;;
esac

4
plugins/logs/plugin.toml Normal file
View File

@@ -0,0 +1,4 @@
[plugin]
description = "dokku core logs plugin"
version = "0.4.0"
[plugin.config]

View File

@@ -0,0 +1,4 @@
[plugin]
description = "dokku core named containers plugin"
version = "0.4.0"
[plugin.config]

View File

@@ -0,0 +1,16 @@
#!/usr/bin/env bash
set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
APP="$1"; APP_ROOT="$DOKKU_ROOT/$APP"
[[ -z $(stat -t "$APP_ROOT"/CONTAINER.* 2>/dev/null) ]] && exit 0
for container in "$APP_ROOT"/CONTAINER.*; do
DYNO=$(echo "$container" | sed -r 's/.*CONTAINER\.(.*)/\1/') || true
NAME="$APP.$DYNO"
PREVIOUS=$(docker ps -a -q -f name="$NAME") || true
if [[ -n $PREVIOUS ]]; then
docker rename "$NAME" "$NAME.$(date +%s)" > /dev/null
fi
ID=$(cat "$container")
CURRENT_NAME=$(docker inspect -f '{{.Name}}' "$ID" | tr -d /)
docker rename "$CURRENT_NAME" "$NAME" > /dev/null
done

View File

@@ -245,8 +245,8 @@ EOF
if [[ -n "$NONSSL_VHOSTS" ]]; then
NOSSL_SERVER_NAME=$(echo $NONSSL_VHOSTS | tr '\n' ' ')
xargs -i echo "-----> Configuring {}..." <<< "$NONSSL_VHOSTS"
eval "cat <<< \"$(< $NGINX_TEMPLATE)\" >> $NGINX_CONF"
fi
eval "cat <<< \"$(< $NGINX_TEMPLATE)\" >> $NGINX_CONF"
if [[ "$(is_app_vhost_enabled $APP)" == "false" ]] || ([[ -z "$NONSSL_VHOSTS" ]] && [[ -z "$SSL_VHOSTS" ]]); then
sed --in-place -n -e '/^.*server_name.*$/!p' $NGINX_CONF
fi

View File

@@ -17,7 +17,7 @@ case "$1" in
;;
https:*|git:*)
PLUGIN_GIT_URL="$2"
download_and_enable_plugin $PLUGIN_GIT_URL
download_and_enable_plugin "$PLUGIN_GIT_URL" "$3"
plugn trigger install
;;
*)
@@ -37,7 +37,7 @@ case "$1" in
case "$2" in
https:*|git:*)
PLUGIN_GIT_URL="$2"
download_and_enable_plugin $PLUGIN_GIT_URL
download_and_enable_plugin "$PLUGIN_GIT_URL" "$3"
plugn trigger update
;;
*)

View File

@@ -21,15 +21,17 @@ enable_plugin() {
download_plugin() {
local PLUGIN_GIT_URL="$1"
plugn install $PLUGIN_GIT_URL
local PLUGIN_NAME="$2"
plugn install "$PLUGIN_GIT_URL" "$PLUGIN_NAME"
}
download_and_enable_plugin() {
local PLUGIN_GIT_URL="$1"
local PLUGIN_NAME=$(echo $PLUGIN_GIT_URL | awk -F '/' '{ print $NF }' | sed -e "s:.git::g")
local CUSTOM_NAME="$2"
local PLUGIN_NAME=${CUSTOM_NAME:-$(plugin_name "$PLUGIN_GIT_URL")}
dokku_log_info1_quiet "Cloning plugin repo $PLUGIN_GIT_URL to $PLUGIN_AVAILABLE_PATH/$PLUGIN_NAME"
download_plugin $PLUGIN_GIT_URL
enable_plugin $PLUGIN_NAME
download_plugin "$PLUGIN_GIT_URL" "$PLUGIN_NAME"
enable_plugin "$PLUGIN_NAME"
}
uninstall_plugin() {
@@ -39,3 +41,8 @@ uninstall_plugin() {
plugn uninstall $PLUGIN_NAME
dokku_log_info1_quiet "Plugin $PLUGIN uninstalled"
}
plugin_name() {
local PLUGIN_GIT_URL="$1"
echo "$PLUGIN_GIT_URL" | awk -F '/' '{ print $NF }' | sed -e "s:.git::g" | sed 's:^dokku-::'
}

View File

@@ -22,6 +22,6 @@ exec /usr/local/bin/gitreceived -p 2022 -n /root/.ssh/id_rsa /tmp/receiver
EOF
cat<<EOF > /etc/rc.local
curl https://raw.github.com/progrium/dokku/master/tests/ci/receiver -s > /tmp/receiver
curl https://raw.githubusercontent.com/progrium/dokku/master/tests/ci/receiver -s > /tmp/receiver
chmod +x /tmp/receiver
EOF

View File

@@ -11,11 +11,47 @@ teardown() {
}
@test "(build-env) special characters" {
run dokku config:set $TEST_APP NEWRELIC_APP_NAME="$TEST_APP (Staging)"
run dokku config:set --no-restart $TEST_APP NEWRELIC_APP_NAME="$TEST_APP (Staging)"
echo "output: "$output
echo "status: "$status
assert_success
deploy_app
run dokku config $TEST_APP
assert_success
}
@test "(build-env) default curl timeouts" {
run dokku config:unset --global CURL_CONNECT_TIMEOUT
echo "output: "$output
echo "status: "$status
assert_success
run dokku config:unset --global CURL_TIMEOUT
echo "output: "$output
echo "status: "$status
assert_success
deploy_app
run /bin/bash -c "dokku config:get --global CURL_CONNECT_TIMEOUT | grep 5"
echo "output: "$output
echo "status: "$status
assert_success
run /bin/bash -c "dokku config:get --global CURL_TIMEOUT | grep 30"
echo "output: "$output
echo "status: "$status
assert_success
}
@test "(build-env) buildpack failure" {
run dokku config:set --no-restart $TEST_APP BUILDPACK_URL='https://github.com/dokku/fake-buildpack'
echo "output: "$output
echo "status: "$status
assert_success
run deploy_app
echo "output: "$output
echo "status: "$status
assert_failure
}