Public | Automated Build

Last pushed: 2 months ago
Short Description
My LAMP/Devstack Dockerfile
Full Description


Great LAMP devstack based on Docker & Docker Compose for your home programming.

Discussion / Help


  • Apache 2.4.x
  • PHP 7.1.x + Composer + PHPMailer
  • PHP 5.6.x + Composer + PHPMailer
  • NodeJS 7.x + NPM 4.x
  • MariaDB 10.1
  • PostgreSQL 9.6
  • Adminer 4.3.x


  1. Download devstack binary script.

  2. Setup devstack variables in your .profile or .bashrc.

    These values are default!

    • DEVSTACK_DOCKER=~/.devstack/docker-compose.yaml (docker compose file)
    • DEVSTACK_PREFIX=devstack (container's prefix)
    • DEVSTACK_USER=dfx (attached user in container) [you can leave it]
  3. Make devstack managing script executable.

     chmod +x devstack
  4. Create symlink to /usr/local/bin/devstack or to other bin path.

     ln -s ~/devstack /usr/local/bin/devstack



Container Ports IP
Apache 80 / 443
PHP 7.1 + FPM
PHP 5.6 + FPM
Adminer 8000
MariaDB 3306
PostgreSQL 5432

Docker Compose (docker-compose.yml)

I have prepared docker configuration file for you. You can download it here.


If you didn't change the DEVSTACK_DOCKER variable, you should place your docker-compose.yml file to your user's folder ~/.devstack/docker-compose.yml.

After you've followed install section, your devstack should be well prepared. One thing left, you should configure your devstack (passwords, folders, etc).

You should:


There are two kind of users inside these containers, root (main unix user) and dfx (special user with uid 1000 in all dockette based images).

You can find it in docker-compose.yml file in section/container.

On the containers startup, your users dir are attached to php7, php56, nodejs containers. You can create your own .bash_profile, .bashrc files
for easier manipulation inside docker containers.

[TIP] There used to be a skeleton in ubuntu/debian/mint system.

cp /etc/skel/.bashrc <path-to-dfx-userdir>/.bashrc


PHP container provides a few environment variables you can override:


Key Value
PHP_IDE_CONFIG serverName=devstack.webserver


Phpmailer stores all mails send via mail() function to /srv/mail folder by default. You can change it.

Key Value

MySQL / MariaDB

MariaDB's default root password is root. You should change it.

You have to setup in you application/configs proper host which is mariadb.

MariaDB container has predefined IP address mariadb


PostgreSQL's default root password is root. You should change it.

You have to setup in you application/configs proper host which is postgresql.

PostgreSQL container has predefined IP address You could update your /etc/hosts. postgresql


Adminer is great tool for managing database. Dockette devstack runs Adminer on port 8000.

See more on documentation at


By default is devstack available on domains:

  • localhost (php)
  • (php)
  • (php)
  • local.dev7 (php7)
  • www.local.dev7 (php7)
  • local.dev56 (php56)
  • www.local.dev56 (php56)

You should add these lines to your /etc/hosts file.

# Devstack [webserver] local.dev7 www.local.dev7 local.dev56 www.local.dev56

# Devstack [DB] mariadb postgresql

Give a try!

ping local.dev56
ping local.dev7
ping mariadb
ping postgresql

Thank you for testing, reporting and contributing.

Docker Pull Command
Source Repository

Comments (0)