Public | Automated Build

Last pushed: a month ago
Short Description
a super secure, up-to-date and lightweight LAMP stack
Full Description


defines a docker container running Arch Linux with the LAMP stack installed
This thing is re-built in the cloud every time a change is made here:


  1. Install docker
  2. Download and start the LAMP server instance
    docker run --name lamp -p 443:443 -d greyltc/lamp
  3. Test the LAMP server
    Point your browser to:
    if you've not used your own ssl certificate, as described below, you'll likely see browser warnings here about NET::ERR_CERT_AUTHORITY_INVALID click though those and
    you should see the default apache index. Follow the info.php link there and you should see detials of the php installation.
  4. [Optional] Change your webserver root data storage location
    It's likely desirable for your www root dir to be placed in a persistant storage location outside the docker container, on the host's file system for example. Let's imagine you wish to store your www files in a folder ~/www on the host's file system. Then insert the following into the docker startup command (from step 2. above) between run and --name:
    -v ~/www:/srv/http
    UID 33 or GID 33 (http in the container image) must have at least read permissions for ~/www on the host system. Generally, it's enough to do:
    chmod -R 770 ~/www; sudo chgrp -R 33 ~/www
    Read this if you run into permissions issues in the container.
  5. [Optional] Use your own ssl certificate
    This image comes with a self-generated ssl certificate and so you'll get browser warnings when you access your server via https (but the connection will be encrypted with a private key that anyone can view by snooping around in the docker image). You can (& should) replace these self signed certificates with your own, properly generated cert files.
    Assuming you have server.crt and server.key files in a directory ~/sslCert on the host machine:
    sudo chown -R root ~/sslCert; sudo chgrp -R root ~/sslCert
    sudo chmod 400 ~/sslCert/server.key
    You can then add -v ~/sslCert:/root/sslKeys to the docker run command line to use your ssl certificate files.
  6. [Optional] Use the built in certbot client to fetch proper ssl certificate files from Let's Encrypt
    Follow the instructions here:'s-Encrypt
  7. [Optional] Stop the lamp docker server instance
    docker stop lamp
  8. [Optional] Delete the lamp docker server instance (after stopping it)
    docker rm lamp
  9. Profit.
Docker Pull Command
Source Repository