A fork of EasyDock to work in Linux. Docker LEMP stack easy integration. Dockerize your PHP apps ;)
EasyDock Linux comes with:
- Nginx (Latest stable)
- PHP (7.4 and 8.0)
- MariaDB (Drop-in replacement for MySQL)
- PostgreSQL (Alternative SQL database)
- Redis (In-memory key-value data store)
phpmyadminAdminer (Lightweight MySQL admin)- MailHog (An email testing tool)
- Node.js, NPM & Yarn (Front-end development tool)
- Git (Version control system)
- Composer (PHP application package manager)
Docker and Docker Compose installed on Linux Distro (Tested on Debian, Ubuntu, and LinuxMint).
- Integrate EasyDock Linux in your PHP application via Composer.
- You should add your Composer's vendor bin directory to your environment path.
cd /path/to/your-php-application
composer global require joglomedia/easydock-linux
easydock init && easydock import
- Configure your application path into
.env.easydock
file.
Once you have installed EasyDock Linux successfully, if required, you could configure your .env.easydock
file and then run this build command:
easydock build
During the build process, EasyDock Linux will download required Docker images. After the build completes, you could kick-up your EasyDock Linux application by executing:
easydock up
- The default Nginx server configuration
app.conf
will expose your project/public
directory. - If your project uses different directory structure, you should adjust the configuration in
app.conf
file accordingly. - Your application by default accessible through localhost on port 8008 (
http://localhost:8008
) - Currently, EasyDock Linux only supports stable PHP version: 7.4 & 8.0 from
joglomedia/easydock-php
image.
The Nginx public port and PHP version could be configured inside .env.easydock
file.
# APP PORT
APP_PORT=8008
# PHP VERSION
PHP_VERSION=7.4
Everytime you change PHP version into .env.easydock
file you have to run:
easydock reset && easydock build
PS: Resetting your EasyDock instance will delete the database data. You should backup your database before!
The default database connection for MySQL and PostgreSQL.
Database: easydockdb
Username: easydock
Password: secret
Root password: rootsecret
Host name: mysql ( or pgsql for PostgreSQL )
For security reason, you should change the default database username and password configured in .env.easydock
file.
# MYSQL / POSTGRESQL DB NAME
DB_NAME=easydockdb
# MYSQL / POSTGRESQL USER
DB_USER=easydock
# MYSQL / POSTGRESQL USER PASSWORD
DB_PASS=secret
# MYSQL ROOT PASSWORD
DB_ROOT_PASS=rootsecret
# MYSQL PORT
MYSQL_PORT=3306
# POSTGRESQL PORT
PGSQL_PORT=5432
By default, SMTP connection through MailHog doesn't require any username or password.
host: mailhog
port: 1025
EasyDock comes with handy command line interface to manage your Docker containers. Execute the following commands inside your application directory.
- Initialize EasyDock project.
easydock init
- Build EasyDock images
easydock build
- Start EasyDock application instance
easydock up
- Stop EasyDock application instance
easydock stop
- Restart EasyDock application instance
easydock restart
- Take down (stop and delete) EasyDock instance
easydock down
- Access
ssh
into EasyDock application instance
easydock shell
- Get EasyDock application details
easydock info
- Hard reset running EasyDock instance
easydock reset
If you discover any security vulnerability or any bug within EasyDock Linux, please open an issue.
EasyDock Linux is an open-source project licensed under the MIT license with its ongoing development made possible entirely by the support of all these smart and generous people, from code contributors to financial contributors. 💜
Thank you for considering contributing to this project!
Edi Septriyanto @joglomedia |
Made with contributors-img.
You can support us using any of the methods below:
Buy Me a Bottle of Milk or a Cup of Coffee !!
EasyDock Linux is open-source project licensed under the MIT license.