Be notified of new releases
Create your free GitHub account today to subscribe to this repository for new releases and build software alongside 28 million developers.Sign up
Starting V0.7.0, nginx was no longer using the Docker routing mesh, this was done to support showing real IPs behind requests. However, this caused issues on servers that have their ports blocked by firewall, see #237
Although it's not a bug in CaptainDuckDuck, it might cause confusion for new users, hence, a precheck for firewall test is added to the installation phase. If a firewall on important ports is detected, the user will be warned with a proper message and an instruction on how to disable firewall.
- Ability to override default values. This includes overriding default Captain dashboard subdomain and etc.
- Allowing precheck for wildcard domain to be skipped if the provider doesn't support wildcard
- One-click apps can now be deployed with specific tags (versions)
- The user can now optionally change the instance count of persistent apps.
- Unused images clean up added to settings
- Back button works as expected in apps settings page
- Sticky footer for Save and Delete buttons on the app page
- Move Docker registry settings to Nodes page from the main dashboard page
- Revealing real IP by using
- Build logs are now available on web dashboard, you can view build logs initiated with Github webhooks as well.
- Added Redis as a one-click app
- Added prechecks on OS and Docker version when installing CaptainDuckDuck to ensure maximum compatibility
- NetData container removal is retrofitted to avoid some Docker deadlocks
- Flashing issue for logged out state on Dashboard
- Login issue on small phone screen
- Fixed issue with very long domain names
- Default client max size for Captain is changed to 500mb
- Message for self-hosted registry is changed to be more clear so user won't be surprised with an expected error
- More details on error messages related to custom domains
- Third-party private registries limited via username scope were not correctly getting authenticated (81fe040)
- Push error are now throwing proper error rather than confusing 500 error
- If something fails when app is getting created, the premature entry is now automatically deleted from the app database
- Make sure that your CLI version is at least
-- To check your current version:
-- To update:
sudo npm install -g captainduckduck
- Breaking change in your
-- if you have
pythonas your template, you should change it to
- Setting a max on log size files does not apply to existing containers. To use the same log size cap for current services, run:
docker service update --log-driver json-file --log-opt max-size=512m captain-nginx docker service update --log-driver json-file --log-opt max-size=512m captain-captain docker service update --log-driver json-file --log-opt max-size=512m captain-certbot docker service update --log-driver json-file --log-opt max-size=512m captain-registry docker service update --log-driver json-file --log-opt max-size=512m captain-app1 # replace app 1 and app 2 with your app names docker service update --log-driver json-file --log-opt max-size=512m captain-app2 # replace app 1 and app 2 with your app names
- Ruby/Rack support added (see #45)
- Support for showing build logs when deploying via command line added (b64c317). Simply running
captainduckduck deploynow shows the build logs.
- Added CouchDB as one-click app
- Added UDP protocol to Port Forwarding (previously it was only TCP)
- Container log files are now maxed at 512MB per container by default in order to avoid high unnecessary disk usage. It can be changed by updating service manually, e.g.,
docker service update srv-captain--app-name --log-driver json-file --log-opt max-size=2048m
- Captain now runs a
docker container pruneto clean up stopped containers
- NetData startup script improved and auto restart is now enabled by default
- Wrong app name during deploy now returns a more specific message to hint the user instead of plain 500
- Added ability to Enorce HTTPS for apps! (#2)
- Advanced users are now able to customize their nginx configurations (allowing http2, process counts, cache config, custom redirects and etc). #44
- Added a custom
nginx-shareddirectory for using custom files in nginx container (#71). Using this combined with customized nginx config, you can use custom SSL certificates, custom static assets and etc.
- Persistent directories (volumes) can now be specified as path on host machine.
- Health-check calls are now more reliable with the newly added timeout.
- Force HTTPS button on web dashboard now gets disabled if Force HTTPS is activated. (efc4384)
- Added a
captainduckduck deployto avoid re-entering server address and other information.
- In cluster mode, the initial instance was always getting created on main node due to wrong image tag (c6e9e4b)
- GitLab support added for automated deployment
- Deploy now reports all kinds of errors. No more ambiguous status 500 error.
- Changed healthcheck interval to 20sec from 5sec to make the logs less verbose
CLI improvements (1.0.8)
- Fixed logout causing all other instances to get logged out
- Improved deploy process by pre-checking
- Improved saving app name if it's getting re-deployed.
- automatic branch tracking and deployment through Github and Bitbucket
- Added ability to expose container ports and map them to host ports
- Adding ability to change nodeId of apps with persistent data
- Added ability to set a custom initial password instead of
- Allow customDomain === rootDomain, see #24
- Improve build error messages by including last 20 lines of logs that led to build error.
- Changed max request size to 500mb for apps (temporary solution until fully customizable nginx config is ready)
- Instance count of
0is not respected. FIXED. #48 (comment)
- If you were manually setting port mapping on your containers before this release, make sure to re-map them through Captain interface. Since port mapping is added to the interface, Captain would override the current port mapping that you might have on your containers. If you didn't manually modified your containers
--publish-addflag, you don't need to worry about this.
A major release!!
- Support for Persistent Data:
Previously, Captain only had support for apps with no persistent. The main drawback was that one could not deploy a database using Captain. Now the feature is fully supported.
- One-click apps:
This is perhaps the most interesting feature of new release. Although adding support for persistent data, technically speaking, was enough for the developers to deploy databases. But wouldn't it be nicer if installing MySql, MongoDB and etc becomes as easy as selecting a name from a list?
😉Done! Not only that, off-the-shelf apps are being slowly added to this list. Installing WordPress, Parse-Server, Tumbor is now as easy as installing apps on your phone!
- New tabular design for the apps page enables you to have tens of apps and be able to navigate easily from one to another.
- Deployment from the web interface now accepts tar archive files of the source directory, not necessarity content. See #22