diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 00000000..ab69206c --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,94 @@ +# Changelog + +Make sure to have a look at [UPDATING](Updating.md) to see any required steps for updating +major versions. + +## [unreleasd] + +#### Changed +- Split Bind container into internal DNS and autoDNS: #248 + - This fixes various issues with Docker Toolbox and DNS resolution: #119 + + +## v1.0.0-alpha1 [unreleased] + +#### Changed +- Use Docker volumes instead of directory mounts for stateful data (MySQL, PgSQL and MongoDB) + - This fixes various mount issues on Windows: #175 #382 + - This improves general performance + + +## v0.15.0 [unreleased] + +#### Added +- [CHANGELOG](CHANGELOG.md) by the standard of: https://keepachangelog.com +- [UPDATING](UPDATING.md) provides information how to update between major versions +- HTTP/2 support +- Reverse Proxy support +- Autostart scripts +- Allow to enable/disable PHP modules +- Intranet vendors + - PHPRedMin +- Mount options for volumes +- Docker Compose images: + - PHP 5.2 + - PHP 5.3 + - PHP 7.4 + - Alpine images where possible +- Docker Compose overwrite images: + - Blackfire + - MailHog + - RabbitMQ + - Solr +- New binaries + - `blackfire` + - `dep` (Deployer) + - `drush6` + - `drush7` + - `drush8` + - `php-cs-fixer` + - `rsync` + - `unzip` + - `wkhtmltopdf` + - `zip` + - `zsh` +- New PHP modules + - `blackfire` + - `ffi` + - `ioncube` + - `oci8` + - `phalcon` + - `pdo_oci` + - `pdo_sqlsrv` + - `rdkafka` + - `sqlsrv` +- Framework documentation: + - Shopware CMS + - Presta Shop + - Photon CMS + - Codeignitor + - Typo3 + - Craft CMS + - NodeJS Reverse proxy + - Sphinx documentation Reverse proxy +- GitHub Issue templates +- Discourse forum link: https://devilbox.discourse.group + +#### Changed +- Use semantic versioning + - This allows for faster releases + - This allows for better visibility of breaking changes (note that breaking changes might still occur before release v1.0.0) +- Autologin for phpMyAdmin +- Autologin for phpPgAdmin +- Intranet to show vhost and vhost-gen overwrite config per vhost +- Allow to specify Redis startup arguments (e.g.: password) +- Fixed hostnames for all Docker container +- PHP-FPM workers changed from `dynamic` to `ondemand` +- Allow Apache to server underscore domains + +#### Fixed +- break on errors in wrong vhost-gen overwrite +- XSS vulnerability in email display +- Various fixes in Documentation +- vhost-gen fixes + diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 6456c833..17b34040 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,39 +1,82 @@ # Contributing -There is quite a lot todo and planned. If you like to contribute, pick any of the below topics or contact me directly. -Contributors will be credited within the intranet and on the github page. +**Abstract** + +The Devilbox is currently being developed in my spare time and mostly reflects the features that I +am using for all the web projcets I have to handle. In order to better present it to the majority +of other software developers I do require support to cope with all the feature requests. -## Roadmap +So first of all, If the Devilbox makes your life easier, **star it on GitHub**! -Please see [ROADMAP](https://github.com/cytopia/devilbox/issues/23) for what is planned. +**Table of Contents** + +1. [How to contribute](#how-to-contribute) + 1. [Documentation](#documentation) + 2. [Docker Container](#docker-container) + 3. [New Features](#new-features) + 4. [Intranet](#intranet) + 5. [Tests](#tests) +2. [Joining the Devilbox GitHub Organization](#joining-the-devilbox-github-organization) +3. [Important](#important) -## Documentation +## 1. How to contribute -* [ ] Improve documentation -* [ ] Remove all typos / wrong grammar +There are various areas that need support. If you are willing to help, pick a topic below and start +contributing. If you are unclear about anything, let me know and I will clarify. -## Intranet +See the general [ROADMAP](https://github.com/cytopia/devilbox/issues/23) for what is planned. -* [X] View emails sent/received within PHP dockers -* [ ] Better layout -* [ ] Better logos +### Documentation + +**Required knowledge:** [Sphinx](http://www.sphinx-doc.org/en/stable/) + +* General improvement of the documentation (typos, grammar, etc) +* Better documentation for setting up Xdebug +* More how to's on how to setup a specific framework or CMS +* General how to's and blog posts + +### Docker Container + +**Required knowledge:** Docker, [Ansible](https://www.ansible.com/), Apache, Nginx, MySQL, PHP-FPM + +* Consolidate MySQL, PerconaDB and MariaDB into one repository for easier change management +* Consolidate Nginx and Apache into one repository for easier change management +* Performance improvements on Apache/Nginx and PHP-FPM +* Add new container to the stack + +### New Features + +**Required knowledge:** Various + +Have a look at the GitHub issues and see if you can implement any features requested + +### Intranet + +**Required knowledge:** PHP, HTML, CSS and Javascript + +* [ ] Fix email view: https://github.com/cytopia/devilbox/issues/337 +* [ ] Better and more modern layout * [ ] Try to remove as much vendor dependencies as possible -## Updating Vendors +### Tests -#### phpMyAdmin +**Required knowledge:** [Travis-CI](https://docs.travis-ci.com/) -The following settings must be applied to `config.inc.php`: -```php -
Support for valid https out of the box. @@ -45,6 +48,14 @@ Furthermore, the Devilbox provides an **identical** and **reproducible developme * [Docker Engine 1.12.0+](https://docs.docker.com/compose/compose-file/compose-versioning/#version-21) * [Docker Compose 1.9.0+](https://docs.docker.com/compose/compose-file/compose-versioning/#version-21) +**Important** + +Before updating the Devilbox ensure to always check for breaking changes until the stable release is out: + +1. [Forum: Announcements](https://devilbox.discourse.group/c/announcements) +2. [Changelog](CHANGELOG.md) +3. [Updating](UPDATING.md) + ## Available Container The Devilbox ships the following pre-configured Docker container in any available version. @@ -827,6 +838,15 @@ A few examples of how the built-in intranet looks like. The Devilbox is still a young project with a long roadmap of features to come. Features are decided by you - **the community**, so any kind of contribution is welcome. +[![](https://sourcerer.io/fame/cytopia/cytopia/devilbox/images/0)](https://sourcerer.io/fame/cytopia/cytopia/devilbox/links/0) +[![](https://sourcerer.io/fame/cytopia/cytopia/devilbox/images/1)](https://sourcerer.io/fame/cytopia/cytopia/devilbox/links/1) +[![](https://sourcerer.io/fame/cytopia/cytopia/devilbox/images/2)](https://sourcerer.io/fame/cytopia/cytopia/devilbox/links/2) +[![](https://sourcerer.io/fame/cytopia/cytopia/devilbox/images/3)](https://sourcerer.io/fame/cytopia/cytopia/devilbox/links/3) +[![](https://sourcerer.io/fame/cytopia/cytopia/devilbox/images/4)](https://sourcerer.io/fame/cytopia/cytopia/devilbox/links/4) +[![](https://sourcerer.io/fame/cytopia/cytopia/devilbox/images/5)](https://sourcerer.io/fame/cytopia/cytopia/devilbox/links/5) +[![](https://sourcerer.io/fame/cytopia/cytopia/devilbox/images/6)](https://sourcerer.io/fame/cytopia/cytopia/devilbox/links/6) +[![](https://sourcerer.io/fame/cytopia/cytopia/devilbox/images/7)](https://sourcerer.io/fame/cytopia/cytopia/devilbox/links/7) + To increase visibility and bug-free operation: * Star this project @@ -844,6 +864,6 @@ Logos and banners can be found at **[devilbox/artwork](https://github.com/devilb ## License -[MIT License](LICENSE.md) +**[MIT License](LICENSE.md)** -Copyright (c) 2016 [cytopia](https://github.com/cytopia) +Copyright (c) 2016 **[cytopia](https://github.com/cytopia)** diff --git a/UPDATING.md b/UPDATING.md new file mode 100644 index 00000000..d98f79ae --- /dev/null +++ b/UPDATING.md @@ -0,0 +1,30 @@ +# Updating + +This document will hold all information on how to update between major versions. + + +## Update from `v0.x.y` to `v1.x.y` + +#### Docker Volumes + +**PR:** https://github.com/cytopia/devilbox/pull/383 + +This feature will move all data directories (MySQL, PostgreSQL, MongoDB and others) to Docker +volumes for best-practice and compatibility reasons on different operating systems. + +Before updating to this release, you will need to manually trigger a backup of MySQL, +PostgreSQL and MongoDB to ensure that you have a copy of your data. By switching to this release +you will be unable to access your current data: + +**Steps to update:** + +1. Backup your data +2. Switch to the new release +3. Import your data + +**Documentation:** + +* [Backup Mysql](https://devilbox.readthedocs.io/en/latest/maintenance/backup-and-restore-mysql.html) +* [Backup PostgreSQL](https://devilbox.readthedocs.io/en/latest/maintenance/backup-and-restore-pgsql.html) +* [Backup MongoDB](https://devilbox.readthedocs.io/en/latest/maintenance/backup-and-restore-mongo.html) +