1.6 KB

GNU Guix LEMP container

Currently only supports WordPress applications officially, but should work good with other frameworks, such as Laravel.

Notice I'm using non-POSIX -i option on sed, just to make code clearer, since I know BusyBox' sed supports it, be mindful that it will break symlinks, act on original files (/usr) when replacing within the guix environment.


  1. Execute <shared_path> <public_path>*
  2. Run source /usr/etc/profile inside the container
  3. start the services

* public_path is a relative route within shared_path ex: $HOME/dev public

That's it!

It will start Nginx on port 8000 and MariaDB on port 3306. You can interact with MariaDB just by typing mysql on the spawned console. Other executables and BusyBox are available also.

You can stop the services with stop inside the container.

You can clean your environment with, that will restore the original state of this project, incluiding database wiping (but it will leave the shared_path intact).

How do I customize the files on etc/ ?

Just edit them :)

Notice that changes will be lost if you

To avoid this:

  1. If you have already done changes, save them in a place out of this project then run
  2. Create a branch with git checkout -b your-branch
  3. Add the desired changes you need on etc/
  4. Commit your changes with git commit

When you run again your changes will remain intact (up to the state of your commit).


A lot of the magic happens when you source the file on etc/profile.