You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit cd33aff
Browse filesBrowse the repository at this point in the historyBrowse files
Copy file name to clipboardExpand all lines: README.md
+40-40Lines changed: 40 additions & 40 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,7 +2,7 @@
2
2
3
3
[](https://gitter.im/dokku-alt/dokku-alt?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
4
4
5
-
Docker powered mini-Heroku. The smallest PaaS implementation you've ever seen. It's fork of original [dokku](https://github.com/progrium/dokku). The idea behind this fork is to provide complete solution with plugins covering most of use-cases which are stable and well tested.
5
+
Docker powered mini-Heroku. The smallest PaaS implementation you've ever seen. It's a fork of the original [dokku](https://github.com/progrium/dokku). The idea behind this fork is to provide complete solution with plugins covering most use-cases which are stable and well tested.
6
6
7
7
## Features
8
8
@@ -43,21 +43,21 @@ Docker powered mini-Heroku. The smallest PaaS implementation you've ever seen. I
43
43
44
44
## Requirements
45
45
46
-
Assumes that you use Ubuntu 14.04 LTS right now. Ideally have a domain ready to point to your host. It's designed for and is probably best to use a fresh VM. The debian package will install everything it needs.
46
+
Assumes that you use Ubuntu 14.04 LTS right now. Ideally, you should have a domain ready to point to your host. It's designed for and is probably best to use a fresh VM. The debian package will install everything it needs.
If you use bootstrap script from above at the end it will fireup ruby installation script. Point your browser to `http://<ip>:2000/` and finish configuration.
60
+
If you use the bootstrap script from above, at the end it will fireup ruby installation script. Point your browser to `http://<ip>:2000/` and finish configuration.
61
61
62
62
That's it!
63
63
@@ -71,13 +71,13 @@ You'll have to add a public key associated with a username by doing something li
71
71
72
72
## Upgrade and beta releases
73
73
74
-
Unlike `dokku` this script uses debian packaging system (deb). To upgrade to latest version simply execute: `sudo apt-get update && sudo apt-get install dokku-alt`.
74
+
Unlike `dokku`, this script uses the debian packaging system (deb). To upgrade to the latest version, simply execute: `sudo apt-get update && sudo apt-get install dokku-alt`.
75
75
76
76
Alongside the normal (stable) releases we distribute as well beta (bleeding edge). To switch to beta simply execute: `sudo apt-get update && sudo apt-get install dokku-alt-beta`. It will replace the stable dokku-alt and switch to beta.
77
77
78
78
## Migration from dokku
79
79
80
-
It should be possible, it should mostly work, but it's not tested and advised. VPS are very cheap this days so fire-up new machine and setup `dokku-alt` from the scratch.
80
+
It should be possible, it should mostly work, but it's not tested and advised. VPS's are very cheap this days so fire-up new machine and setup `dokku-alt` from scratch.
81
81
82
82
## Deploy an App
83
83
@@ -108,11 +108,11 @@ Please check the documentation for your particular build pack as you may need to
108
108
109
109
## Dokku-alt-manager
110
110
111
-
It's web interface to easily manage your dokku-alt instance. Simply run to install manager:
111
+
It's a web interface to easily manage your dokku-alt instance. To install manager, simply run:
112
112
113
113
dokku manager:install
114
114
115
-
Anytime you can enable or disable it:
115
+
You can enable or disable it anytime:
116
116
117
117
dokku manager:enable
118
118
dokku manager:disable
@@ -123,7 +123,7 @@ Or even uninstall if you prefer command line access (it will also wipe used data
123
123
124
124
## Dokku-alt as service in Docker container (BETA)
125
125
126
-
Dokku-alt can be run using Docker-in-Docker approach (https://github.com/jpetazzo/dind). It requires to run dokku-alt container in privileged mode (with full access to host), because dokku-alt uses it's own Docker daemon to serve applications. It's still considered beta, but should be pretty safe solution and robust. It's best to use for play with dokku-alt on other not-supported systems (CentOS, RedHat, Debian) or by simply trying how it works.
126
+
Dokku-alt can be run using Docker-in-Docker approach (https://github.com/jpetazzo/dind). It requires you to run the dokku-alt container in privileged mode (with full access to host), because dokku-alt uses its own Docker daemon to serve applications. It's still considered beta, but should be pretty safe solution and robust. It's best to use for play with dokku-alt on other not-supported systems (CentOS, RedHat, Debian) or by simply trying how it works.
127
127
128
128
All dokku-alt services (SSH, Nginx, Dokku daemon) are run in container.
129
129
@@ -135,27 +135,27 @@ All dokku-alt services (SSH, Nginx, Dokku daemon) are run in container.
You can adjust exposed ports as described in Docker documentation.
138
+
You can adjust the exposed ports as described in Docker documentation.
139
139
140
140
### Check `dokku-alt` logs to see if anything started correctly:
141
141
142
142
docker logs dokku-alt-demo
143
143
144
-
At the end you should see something like this:
144
+
At the end, you should see something like this:
145
145
146
146
dokku.1 | SSH Login:
147
147
dokku.1 | user: root
148
148
dokku.1 | password: lfMUjxYEvqpRRLY6
149
149
dokku.1 | ip: 10.0.42.1 172.17.2.213
150
150
dokku.1 | Starting dokku daemon...
151
151
152
-
This is temporary `root` password to access container and add you access keys (using `dokku access:add` as described). This password changes every container restart.
152
+
This is a temporary `root` password to access the container and add your access keys (using `dokku access:add` as described). This password changes every container restart.
153
153
154
-
To enter container shell from server's terminal (the same which is running `docker` with `dokku-alt`) run ssh:
154
+
To enter the container shell from the server's terminal (the same which is running `docker` with `dokku-alt`) run ssh:
155
155
156
156
ssh root@172.17.2.213
157
157
158
-
If everything were done right you should see container's prompt. By exposing ports in `docker run` to outside world you can also access `dokku-alt`from external.
158
+
If everything was done right, you should see the container's prompt. By exposing ports in `docker run` to the outside world you can also access `dokku-alt`externally.
159
159
160
160
### To upgrade container to newer version simply kill old container and rerun your `docker run` command:
161
161
@@ -165,18 +165,18 @@ If everything were done right you should see container's prompt. By exposing por
165
165
166
166
## Dockerfile images
167
167
168
-
The key feature of the `dokku-alt` is built-in support for Dockerfiles, the docker build process. It allows you to create more advanced and more repetitive application environments.
168
+
The key feature of `dokku-alt` is built-in support for Dockerfiles, the docker build process. It allows you to create more advanced and more repetitive application environments.
169
169
To use `Dockerfile` simply put `Dockerfile` in root of the application, `dokku-alt` will detect it and build application according to specification in `Dockerfile`.
170
170
171
-
Dockerfile-based application can (but not required) to expose web-application port. `dokku-alt` will check if 80, 8080, 5000 is exposed. If it's it will update assign vhost and reconfigure nginx to forward all incoming traffic.
171
+
Dockerfile-based application can (but not required) expose a web-application port. `dokku-alt` will check if port 80, 8080 or 5000 is exposed. If it is, it will update the assigned vhost and reconfigure nginx to forward all incoming traffic.
172
172
173
-
Using dockerfile you can built service-only applications. Simply don't expose public facing ports.
173
+
Using Dockerfile, you can build service-only applications. Simply don't expose any public facing ports.
174
174
175
175
Example Dockerfile application: https://github.com/ayufan/dokku-alt-phpmyadmin
176
176
177
177
## Nginx and redirects
178
178
179
-
Dokku-alt has built-in support for additional domains and url redirects. By specifying redirects any client using that address will automatically be redirected to first domain assigned to the application.
179
+
Dokku-alt has built-in support for additional domains and url redirects. By specifying redirects, any client using that address will automatically be redirected to the first domain assigned to the application.
180
180
181
181
## Remote commands
182
182
@@ -202,19 +202,19 @@ SSH onto the server, then execute:
202
202
203
203
## Create-only application
204
204
205
-
Dokku-alt allows you to create application before pushing it. It can be useful when you want to specify additional config variables or assign databases. Simply execute:
205
+
Dokku-alt allows you to create an application before pushing it. It can be useful when you want to specify additional config variables or assign databases. Simply execute:
206
206
207
207
$ dokku create mynewapp
208
208
209
-
There's also possiblity to disable auto-application creation on push. Add to `~/dokkurc`:
209
+
It's also possible to disable auto-application creation on push. Add to `~/dokkurc`:
210
210
211
211
export DOKKU_DISABLE_AUTO_APP_CREATE=1
212
212
213
-
From now on you will have to do `dokku create`at first.
213
+
From now on you will have to do `dokku create`before pushing.
214
214
215
215
## Allowing push-access (deploy only) access for dokku
216
216
217
-
Dokku-alt allows you to add additional public keys to applications. The specific case is to add special deploy-only key, used for example by Countinous Integration (ie. Jenkins). Key added as deploy-only can only be used to `git push` specific application. It will not allowed to execute any on `dokku` commands. You can add ssh key and allow it explicit access to one or many applications.
217
+
Dokku-alt allows you to add additional public keys to applications. The specific case is to add special deploy-only key, used for example by Countinous Integration (ie. Jenkins). Key added as deploy-only can only be used to `git push` specific application. It will not allowed to execute any `dokku` commands. You can add an ssh key and give it explicit access to one or many applications.
218
218
219
219
Add locally:
220
220
@@ -242,7 +242,7 @@ Revoke permissions for admin user:
242
242
243
243
## Environment variable management
244
244
245
-
Typically an application will require some environment variables to run properly. Environment variables may contain private data, such as passwords or API keys, so it is not recommend to store them in your application's repository.
245
+
Typically, an application will require some environment variables to run properly. Environment variables may contain private data, such as passwords or API keys, so it is not recommend to store them in your application's repository.
246
246
247
247
The `config` plugin provides the following commands to manage your variables:
248
248
```
@@ -255,13 +255,13 @@ config:unset <app> KEY1 [KEY2 ...] - unset one or more config vars
255
255
### Available environment variables
256
256
257
257
*`DOKKU_NGINX_PROXY_READ_TIMEOUT` - allows to override `nginx proxy_read_timeout`. Default value is set to '60s'. For more info please refer to: http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_read_timeout.
258
-
*`DOKKU_ENABLE_HTTP_HOST` - when set to 1 application will also serve content on HTTP if HTTPS is enabled
259
-
*`DOKKU_BUILDSTEP_IMAGE` - allows you to set custom buildstep image on per app basis. Image has to be compatible with https://github.com/progrium/buildstep or https://github.com/dokku-alt/progrium-buildstep-dockerfiles. In case of image forked from https://github.com/progrium/buildstep there might be small incompatibility: image is run with `/start` instead of `/start web` as in orginal `dokku`.
258
+
*`DOKKU_ENABLE_HTTP_HOST` - when set to 1, the application will also serve content on HTTP if HTTPS is enabled
259
+
*`DOKKU_BUILDSTEP_IMAGE` - allows you to set a custom buildstep image on per app basis. Image has to be compatible with https://github.com/progrium/buildstep or https://github.com/dokku-alt/progrium-buildstep-dockerfiles. If the images was forked from https://github.com/progrium/buildstep, there might be a small incompatibility: the image is run with `/start` instead of `/start web` as in orginal `dokku`.
260
260
*`DOKKU_START_CMD` - allows you to set a custom start command. The default value is `/start` for buildstep images and `` otherwise.
261
261
262
262
## Image tagging
263
263
264
-
When you successfully deploy an app, you can tag it with your name and later in case of failure quickly revert back to that image.
264
+
When you successfully deploy an app, you can tag it with a name/version. This lets you quickly roll back to that image in the event of failure in a later deployment.
265
265
266
266
$ dokku tag:add gitlab v6.9.0
267
267
=====> Tagged latest image of dokku/gitlab as v6.9.0
@@ -278,12 +278,12 @@ When you successfully deploy an app, you can tag it with your name and later in
278
278
279
279
Dokku-alt has built-in support for all modern database engines: MariaDB (former MySQL), PostgreSQL and MongoDB. The database image will be downloaded and provisioned when first used.
280
280
281
-
First create database:
281
+
First create a database:
282
282
283
283
$ dokku mariadb:create test-db
284
284
-----> MariaDB database created: test-db
285
285
286
-
Second link database to an app:
286
+
Second link the database to an app:
287
287
288
288
$ dokku mariadb:link node-js-sample test-db
289
289
-----> Releasing node-js-sample ...
@@ -292,19 +292,19 @@ Second link database to an app:
To use different database engine simple replace `mariadb` with `postgresql` or `mongodb`.
301
+
To use a different database engine, simply replace `mariadb` with `postgresql` or `mongodb`.
302
302
303
303
## Preboot / zero-downtime boot
304
304
305
-
Similar to functionality provided by https://devcenter.heroku.com/articles/labs-preboot`dokku-alt` supports zero-downtime. To enable zero-downtime deployment execute command: `dokku preboot:enable APP`. Alongside with preboot there's `checks` plugin based on https://labnotes.org/zero-downtime-deploy-with-dokku/. For now it simply checks if application started serving requests. If checks module fails it will not replace the application.
305
+
Similar to functionality provided by https://devcenter.heroku.com/articles/labs-preboot`dokku-alt` supports zero-downtime. To enable zero-downtime deployment, execute command: `dokku preboot:enable APP`. Alongside with preboot, there's a `checks` plugin based on https://labnotes.org/zero-downtime-deploy-with-dokku/. For now, it simply checks if the application started serving requests. If the checks module fails, it will not replace the application.
306
306
307
-
Preboot and checks can be configured using a few env variables:
307
+
Preboot and checks can be configured using a few environment variables:
308
308
309
309
* PREBOOT_WAIT_TIME - number of seconds to wait for container boot (default 5s)
310
310
* PREBOOT_COOLDOWN_TIME - number of seconds to wait finish container request processing (default 30s)
@@ -314,14 +314,14 @@ Preboot and checks can be configured using a few env variables:
314
314
315
315
## Data volumes
316
316
317
-
Docker allows you to have persistent data storage. Dokku-alt exposes this feature as Data Volumes. You can create unlimited number of data volumes, any data volume can be attached to unlimited number of apps. Simply create data volume and specify container paths which you want to be persistant.
317
+
Docker allows you to have persistent data storage. Dokku-alt exposes this feature as Data Volumes. You can create unlimited number of data volumes and any data volume can be attached to unlimited number of apps. Simply create a data volume and specify container paths which you want to be persistant.
@@ -347,11 +347,11 @@ Dokku-alt allows you to secure any application with HTTP-Basic Auth. There are a
347
347
htpasswd:disable <app> Remove http-basic Auth
348
348
htpasswd:remove <app> <user> Remove user
349
349
350
-
If you want to enable and add a new user simply type command below and when prompted type your password twice:
350
+
If you want to enable and add a new user, simply type the command below and when prompted, type your password twice:
351
351
352
352
dokku htpasswd:add myapp myuser
353
353
354
-
You can also pipe password:
354
+
You can also pipe the password:
355
355
356
356
echo mypass | dokku htpasswd:add myapp myuser
357
357
@@ -365,7 +365,7 @@ To remove HTTP-Basic Auth completely:
365
365
366
366
## TLS support
367
367
368
-
Dokku provides easy TLS support from the box. To enable TLS connection to your application, copy the `.crt` and `.key` files into the `/home/dokku/:app/ssl` folder (notice, file names should be `server.crt` and `server.key`, respectively). Redeployment of the application will be needed to apply TLS configuration. Once it is redeployed, the application will be accessible by `https://` (redirection from `http://` is applied as well).
368
+
Dokku provides easy TLS support out of the box. To enable TLS connection to your application, copy the `.crt` and `.key` files into the `/home/dokku/:app/ssl` folder (notice, file names should be `server.crt` and `server.key`, respectively). Redeployment of the application will be needed to apply TLS configuration. Once it's redeployed, the application will be accessible by `https://` (redirection from `http://` is applied as well).
369
369
370
370
## TLS support
371
371
@@ -562,7 +562,7 @@ You can use [Github Issues](https://github.com/dokku-alt/dokku-alt/issues).
562
562
563
563
"I deployed my Rails application on a fresh new machine using dokku-alt but I already own a bare metal, replicated PostgreSQL server that's reachable from the dokku host as it's on the same network. How do I connect?"
0 commit comments