Skip to content
README.md 2.8 KiB
Newer Older
Pierre Ozoux's avatar
Pierre Ozoux committed
# LibrePaaS
Pierre Ozoux's avatar
Pierre Ozoux committed
## Introduction
Pierre Ozoux's avatar
Pierre Ozoux committed
A PaaS that is aimed at hosting free software \o/
Pierre Ozoux's avatar
Pierre Ozoux committed
To install it, follow instructions in `INSTALL.md`.
Pierre Ozoux's avatar
Pierre Ozoux committed
### What is LibrePaaS

LibrePaaS is a little framework to host Docker. It is simple and modular and respect the convention over configuration paradigm.

This is aimed at Hosters to manage a huge amount of different web application, and a quantity of domain names related with emails and so on.

It is currently installed at 3 different hosters in production and hosting ~20 different web applications, with ~500 containers.

Once well installed, in one bash command, you'll be able to:
 - buy a domain name
 - configure DNS for it
 - configure email for it
 - configure dkim for that domain
 - configure dmarc for that domain
 - configure autoconfig for that domain
 - install and start a web application on that domain (WordPress, Nextcloud, piwik...)
 - provision a TLS cert on that domain

Amazing, right?

### Modular
Pierre Ozoux's avatar
Pierre Ozoux committed
The PaaS is really modular, that's why it contains the strict necessary, then you'll probably want to add `system` modules or `applications`.
Pierre Ozoux's avatar
Pierre Ozoux committed
It contains 2 [unit-files](https://github.com/indiehosters/LibrePaaS/tree/master/unit-files) to manage system modules and applications, start them at boot, and load the appropriate environment.

Pierre Ozoux's avatar
Pierre Ozoux committed
## System modules
Pierre Ozoux's avatar
Pierre Ozoux committed
Here is a list of modules supported:
Pierre Ozoux's avatar
Pierre Ozoux committed
 - https proxy:
  - [HAProxy](https://github.com/indiehosters/haproxy)
  - [Nginx](https://github.com/indiehosters/nginx)
Pierre Ozoux's avatar
Pierre Ozoux committed
 - [git-puller](https://github.com/indiehosters/git-puller)
 - [backups](https://github.com/indiehosters/backups)
 - [sshd](https://github.com/indiehosters/sshd)
 - [pull-backups](https://github.com/indiehosters/pull-backups)
Pierre Ozoux's avatar
Pierre Ozoux committed
Go to their respective page for more details.

Pierre Ozoux's avatar
Pierre Ozoux committed
### To install and start a module:
Pierre Ozoux's avatar
Pierre Ozoux committed
cd /system/
git clone module
Pierre Ozoux's avatar
Pierre Ozoux committed
cd module
Pierre Ozoux's avatar
Pierre Ozoux committed
systemctl enable s@module
Pierre Ozoux's avatar
Pierre Ozoux committed
start
```

### To debug a module:

Pierre Ozoux's avatar
Pierre Ozoux committed
```
Pierre Ozoux's avatar
Pierre Ozoux committed
docker-compose ps
docker-compose logs
stop
restart
```

## Applications
Pierre Ozoux's avatar
Pierre Ozoux committed
### Installation
Pierre Ozoux's avatar
Pierre Ozoux committed
To install application `wordpress` on `example.org`, first make point example.org to your server IP, and then, just run:
Pierre Ozoux's avatar
Pierre Ozoux committed
provision -a github.com/indiehosters/wordpress -u example.org -s
Pierre Ozoux's avatar
Pierre Ozoux committed
Run `provision` for more details on the capabilities of the script.
Pierre Ozoux's avatar
Pierre Ozoux committed
### debug an application

```
docker-compose ps
docker-compose logs
stop
start
restart
```

Pierre Ozoux's avatar
Pierre Ozoux committed
## Contributing
Pierre Ozoux's avatar
Pierre Ozoux committed
If you have any issue (something not working, missing doc), please do report an issue here! Thanks
Pierre Ozoux's avatar
Pierre Ozoux committed
This system is used in production at [IndieHosters](https://indiehosters.net/) so it is maintained. If you use it, please tell us, and we'll be really happy to update this README!
pierreozoux's avatar
pierreozoux committed

Pierre Ozoux's avatar
Pierre Ozoux committed
You can help us by:
 - starring this project
 - sending us a thanks email
 - reporting bugs
 - writing documentation/blog on how you got up and running in 5mins
 - writing more documentation
 - sending us cake :) We loove cake!