README.md 3.21 KB
Newer Older
Pierre Ozoux's avatar
Pierre Ozoux committed
1
# libre.sh
2

Pierre Ozoux's avatar
Pierre Ozoux committed
3
## Introduction
4

Pierre Ozoux's avatar
Pierre Ozoux committed
5
A PaaS that is aimed at hosting free software \o/
Pierre Ozoux's avatar
Pierre Ozoux committed
6

Pierre Ozoux's avatar
Pierre Ozoux committed
7
To install it, follow instructions in `INSTALL.md`.
Pierre Ozoux's avatar
Pierre Ozoux committed
8

Pierre Ozoux's avatar
Pierre Ozoux committed
9
### What is libre.sh
Pierre Ozoux's avatar
Pierre Ozoux committed
10

Pierre Ozoux's avatar
Pierre Ozoux committed
11
libre.sh is a little framework to host Docker. It is simple and modular and respect the convention over configuration paradigm.
Pierre Ozoux's avatar
Pierre Ozoux committed
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29

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
30

Pierre Ozoux's avatar
Pierre Ozoux committed
31
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
32

Pierre Ozoux's avatar
Pierre Ozoux committed
33 34
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
35 36 37 38 39 40
### Support

You can use the following channels to request community support:
 - [mailinglist/forum](https://forum.indie.host/t/about-the-libre-sh-category/71)
 - [chat](https://chat.indie.host/channel/libre.sh)

Pierre Ozoux's avatar
Pierre Ozoux committed
41
For paid support, just send an inquiry to support@libre.sh.
Pierre Ozoux's avatar
Pierre Ozoux committed
42 43 44

All of this is hosted by libre.sh :)

Pierre Ozoux's avatar
Pierre Ozoux committed
45
## System modules
Pierre Ozoux's avatar
Pierre Ozoux committed
46

Pierre Ozoux's avatar
Pierre Ozoux committed
47
Here is a list of modules supported:
Pierre Ozoux's avatar
Pierre Ozoux committed
48 49 50
 - https proxy:
  - [HAProxy](https://github.com/indiehosters/haproxy)
  - [Nginx](https://github.com/indiehosters/nginx)
51 52
 - [logs](https://github.com/indiehosters/logs)
 - [monitoring](https://github.com/indiehosters/monitoring)
Pierre Ozoux's avatar
Pierre Ozoux committed
53 54 55 56
 - [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
typo  
Pierre Ozoux committed
57

Pierre Ozoux's avatar
Pierre Ozoux committed
58 59
Go to their respective page for more details.

Pierre Ozoux's avatar
Pierre Ozoux committed
60
### To install and start a module:
Pierre Ozoux's avatar
Pierre Ozoux committed
61 62

```
Pierre Ozoux's avatar
Pierre Ozoux committed
63 64
cd /system/
git clone module
Pierre Ozoux's avatar
Pierre Ozoux committed
65
cd module
Pierre Ozoux's avatar
Pierre Ozoux committed
66
systemctl enable s@module
Pierre Ozoux's avatar
Pierre Ozoux committed
67 68 69 70 71
start
```

### To debug a module:

Pierre Ozoux's avatar
Pierre Ozoux committed
72
```
Pierre Ozoux's avatar
Pierre Ozoux committed
73 74 75 76 77 78 79
docker-compose ps
docker-compose logs
stop
restart
```

## Applications
Pierre Ozoux's avatar
Pierre Ozoux committed
80

Pierre Ozoux's avatar
Pierre Ozoux committed
81
### Installation
Pierre Ozoux's avatar
Pierre Ozoux committed
82

Pierre Ozoux's avatar
Pierre Ozoux committed
83
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
84 85

```
Pierre Ozoux's avatar
Pierre Ozoux committed
86
provision -a github.com/indiehosters/wordpress -u example.org -s
Pierre Ozoux's avatar
Pierre Ozoux committed
87 88
```

Pierre Ozoux's avatar
Pierre Ozoux committed
89
Run `provision` for more details on the capabilities of the script.
Pierre Ozoux's avatar
Pierre Ozoux committed
90

Pierre Ozoux's avatar
Pierre Ozoux committed
91 92 93 94 95 96 97 98 99 100
### debug an application

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

Pierre Ozoux's avatar
Pierre Ozoux committed
101
## Contributing
102

Pierre Ozoux's avatar
Pierre Ozoux committed
103
If you have any issue (something not working, missing doc), please do report an issue here! Thanks
104

Pierre Ozoux's avatar
Pierre Ozoux committed
105
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
106

Pierre Ozoux's avatar
Pierre Ozoux committed
107 108 109 110 111 112 113
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!