Skip to content

Releases: belal-i/lampsible

v1.3.5

16 Feb 17:18
Compare
Choose a tag to compare

Bugfix

  • Fix broken WordPress header image cropping due to missing PHP extension gd ( #32 )

Maintenance

  • Add 6.7.2 to statically cached valid WordPress versions.

Installing/upgrading: pip install lampsible==1.3.5

Note: Version 1 will be deprecated soon. Please upgrade to version 2.

PyPI release: https://pypi.org/project/lampsible/1.3.5/

Full Changelog: v1.3.4...v1.3.5

v2.1.1-beta-1

14 Feb 17:21
Compare
Choose a tag to compare
v2.1.1-beta-1 Pre-release
Pre-release

What's Changed

  • Bugfix/gh 30 laravel ssl by @saint-hilaire in #35
  • Bugfix/gh 32 wp header images by @saint-hilaire in #34

Full Changelog: v2.1.0...v2.1.1-beta-1

v2.1.0

29 Jan 21:44
Compare
Choose a tag to compare

Feature

  • Add support for running locally on web host ( #25 )

Bugfix

  • Fix permission errors when Ansible user is not root

Refactor

  • Remove unnecessary Ansible fact checking / prevalidation

Installing/upgrading

python -m pip install --upgrade lampsible

PyPI release: https://pypi.org/project/lampsible/2.1.0/

Full Changelog: v2.0.2...v2.1.0

v2.1.0-rc-1

27 Jan 23:50
Compare
Choose a tag to compare
v2.1.0-rc-1 Pre-release
Pre-release

Bugfix

  • Fix permission errors when Ansible user is not root.

Refactor

  • Improve argument validation when running locally.

Installing: Download attached wheel file, and then: python -m pip install /path/to/lampsible-2.1.0rc1-py3-none-any.whl

Full Changelog: v2.1.0-beta-1...v2.1.0-rc-1

v2.1.0-beta-1

24 Jan 20:45
Compare
Choose a tag to compare
v2.1.0-beta-1 Pre-release
Pre-release

Feature

  • Add support for running Ansible locally ( #25 )

Refactor

  • Remove unnecessary fetching of Ansible facts for prevalidation.

Installing: Download the attached wheel file, and then: python -m pip install /path/to/lampsible-2.1.0b1-py3-none-any.whl

Full Changelog: v2.0.2...v2.1.0-beta-1

v2.0.2

18 Jan 18:01
Compare
Choose a tag to compare

Bugfix

  • Fix uncaught KeyError when Ansible fails to establish SSH connection, print more helpful error instead. ( GH #25 )

Maintenance

  • Bump default Joomla version to 5.2.3

PyPI-release: https://pypi.org/project/lampsible/2.0.2/

Installing/upgrading: python -m pip install --upgrade lampsible

Full Changelog: v2.0.1...v2.0.2

v1.3.4

18 Jan 17:52
Compare
Choose a tag to compare

Bugfix

  • Fix uncaught KeyError when Ansible fails to establish SSH connection, print more helpful error instead. ( GH #25 )

Maintenance

  • Bump default Joomla version to 5.2.3

PyPI-release: https://pypi.org/project/lampsible/1.3.4/

Installing/upgrading: python -m pip install lampsible==1.3.4

Full Changelog: v1.3.3...v1.3.4

v2.0.1

11 Jan 20:20
Compare
Choose a tag to compare

Bugfix

  • Fix the NameError that is thrown when running Lampsible for the first time on a fresh machine, or more specifically, when the required Ansible Galaxy dependencies still need to be installed.

Installing/upgrading: python -m pip install --upgrade lampsible

PyPI release: https://pypi.org/project/lampsible/2.0.1/

Full Changelog: v2.0.0...v2.0.1

v2.0

03 Jan 23:54
Compare
Choose a tag to compare

v2.0

Lampsible 2.0 stable is now available! 🚀

I rewrote much of this tool to make it easier for you to install any kind of LAMP stack.

Lampsible can install different kinds of LAMP stacks - Linux, Apache, MySQL, PHP. Under the hood, it leverages the power of Ansible.

Lampsible can install a production ready website - be it WordPress, Joomla, Drupal, a custom Laravel app, or a custom Apache setup, with a single CLI command. The lampsible command is very versatile. Run lampsible --help to see a full list of options.

With version 2, you can now also use Lampsible as a Python library. Simply import into your code, like you would any other Python module, and your code will be able to easily set up any kind of website. Below is a simple example, it will install a WordPress site - see the README for more complex use cases:

from lampsible.lampsible import Lampsible

lampsible = Lampsible(
    web_user='someuser',
    web_host='somehost.example.com',
    action='wordpress',
    # Required for Certbot. You can also use email_for_ssl
    apache_server_admin='[email protected]',
    database_name='wordpress',
    database_username='db-user',
    database_password='topsecret',
    admin_username='your-wordpress-admin',
    admin_email='[email protected]',
    admin_password='anothertopsecret',
    site_title='My WordPress Blog',
)

result = lampsible.run()

Another new feature is that you can run Lampsible to install Apache and MySQL on two different hosts. That could look something like this:

lampsible [email protected] drupal \
    --database-system-user-host [email protected] \
    --database-host 10.0.1.2 \
    --database-username dbuser
    --apache-server-admin [email protected]

Installing / upgrading

python -m pip install --upgrade lampsible

PyPI release

https://pypi.org/project/lampsible/2.0.0/

Ansible Directory Helper

Under the hood, Lampsible uses Ansible Runner, an excellent library maintained by the Ansible folks, in order to leverage the automation power of Ansible as a Python library. However, to configure Ansible Runner, you'd have to maintain its so called Input Directory Hierarchy, which is a somewhat complex directory structure that you'd have to maintain yourself. To make it easier to configure Ansible under the hood, I have developed another library, Ansible Directory Helper. Lampsible uses this since v2. This library abstracts much of the complexities of managing Ansible Runner's Input Directory Hierarchy into a simple library interface. If you are also interested in building tools on top of Ansible, consider checking that out.

Breaking changes

Users upgrading from v1 should be aware of some breaking changes:

  • Lampsible v2 requires Python 3.11 or greater (v1 requires minimum Python 3.8)
  • SSL is now enabled by default. Support for the flag --ssl-certbot has been dropped. Running Lampsible with this flag will throw a runtime error. To use a self signed certificate instead, you can still use the flag --ssl-selfsigned, or to install your site without any SSL, use the new flag --insecure-no-ssl.
  • The flag --insecure-skip-fail2ban has been dropped. Running Lampsible with this flag will result in a runtime error. Lampsible will now always install fail2ban on your server.
  • The flag --test-cert has been renamed to --ssl-test-cert.

Full Changelog: v1.3.3...v2.0.0

v2.0.0-rc-1

02 Jan 23:03
Compare
Choose a tag to compare
v2.0.0-rc-1 Pre-release
Pre-release
  • Add docs for v2.
  • Drop some deprecated flags.
  • SSL enabled by default. Add --insecure-no-ssl to override this.
  • Update dependencies
  • Fix WordPress update bug. Already shipped with v1.3.3 but not yet in the last v2 beta.

Full Changelog: v2.0.0-beta-2...v2.0.0-rc-1