Releases: belal-i/lampsible
v1.3.5
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
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
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
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
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
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
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
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
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
- 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