joglomedia/easydock-linux

A fork of EasyDock for Linux. Docker LEMP stack easy integration.

v1.3.0 2021-07-15 15:26 UTC

This package is auto-updated.

Last update: 2024-04-26 15:49:54 UTC


README

EasyDock Logo © @andreapollastri

EasyDock Linux version GitHub stars GitHub forks GitHub issues GitHub CI GitHub license

A fork of EasyDock to work in Linux. Docker LEMP stack easy integration. Dockerize your PHP apps ;)

Features

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)
  • phpmyadmin Adminer (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)

Requirements

Docker and Docker Compose installed on Linux Distro (Tested on Debian, Ubuntu, and LinuxMint).

Installation

  • 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.

Getting Started

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

Configure Nginx and PHP-FPM

  • 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!

Configure database connection

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

Configure SMTP connection

By default, SMTP connection through MailHog doesn't require any username or password.

host: mailhog
port: 1025

EasyDock Commands

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

Security Vulnerabilities and Bugs

If you discover any security vulnerability or any bug within EasyDock Linux, please open an issue.

Awesome People

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!

Project Maintainers

joglomedia.png?s=150
Edi Septriyanto
@joglomedia

Code Contributors

68747470733a2f2f636f6e747269622e726f636b732f696d6167653f7265706f3d6a6f676c6f6d656469612f65617379646f636b2d6c696e7578

Made with contributors-img.

Financial Contributors

You can support us using any of the methods below:

Buy Me a Bottle of Milk or a Cup of Coffee !!

Licence

EasyDock Linux is open-source project licensed under the MIT license.

Enjoy EasyDock for Linux ;)