Metadata-Version: 2.4
Name: lampsible
Version: 1.3.6
Summary: Deploy and set up LAMP stacks with Ansible
Author-email: "Brian St. Hilaire" <brian.st-hilaire@sanctus-tech.com>
Project-URL: Homepage, https://github.com/saint-hilaire/lampsible
Project-URL: Issues, https://github.com/saint-hilaire/lampsible/issues
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: Console
Classifier: Framework :: Ansible
Classifier: Programming Language :: Python :: 3
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Information Technology
Classifier: Intended Audience :: System Administrators
Classifier: License :: OSI Approved :: Apache Software License
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: ansible-core
Requires-Dist: ansible-runner
Requires-Dist: requests>=2.32.3
Requires-Dist: fqdn
Dynamic: license-file

# Lampsible

## About

Lampsible - LAMP stacks with Ansible and a super simple CLI. This tool can automate anything from
a production ready WordPress site on your VPS to a custom Apache setup on a virtual machine
in your local network.
.

## Requirements

* Local: Unix system with Python 3.8 or newer. Tested on Ubuntu and Gentoo Linux. Might work on macOS, but I haven't tested that. Won't work on Windows.
* Remote: Ubuntu 20 or newer. Might work on older versions, but I doubt it. Support for other distros is planned in a future version.

## Installing

Install with Pip: `python3 -m pip install lampsible`

Alternatively, install from wheel file...: `python3 -m pip install /path/to/local/lampsible-SOME_VERSION-py3-none-any.whl`

... or from source:
```
git clone https://github.com/saint-hilaire/lampsible
cd lampsible
python3 -m pip install .
```


## Sample usage

Lampsible is designed to be very simple to use. If you forget some important
parameter, Lampsible will prompt you for it, or pick some sensible defaults.


Install Apache on your server:

```
lampsible someuser@somehost.com apache
```

Install a production ready WordPress site:

```
lampsible someuser@somehost.com wordpress \
    --ssl-certbot \
    --email-for-ssl you@yourdomain.com
```

Install a production ready Joomla site:

```
lampsible someuser@somehost.com joomla \
    --ssl-certbot \
    --email-for-ssl you@yourdomain.com
```

Install a Laravel app on a test server:

```
lampsible someuser@somehost.com laravel \
    --ssl-certbot \
    --test-cert \
    --apache-server-admin you@yourdomain.com \
    --app-name cool-laravel-app \
    --app-build-path /path/to/your/local/cool-laravel-app-0.7rc.tar.gz \
    --laravel-artisan-commands key:generate,migrate
```

Set up a LAMP stack with various custom configuration and a self signed SSL certificate on some local VM:

```
lampsible someuser@192.168.123.123 lamp-stack \
    --ask-remote-sudo \
    --ssl-selfsigned \
    --database-username dbuser \
    --database-name testdb \
    --php-version 8.1 \
    --apache-vhost-name some-legacy-app \
    --apache-document-root /var/www/html/some-legacy-app/some-dir/public \
    --php-extensions mysql,xml,mbstring,xdebug,gd
```


Run `lampsible --help` for a full list of options.

## Contributing 

Please do! I'd be more than happy to see Issues, Pull Requests and any other kind of feedback ;-)
