README.md 7.02 KB
Newer Older
Michel Memeteau's avatar
Michel Memeteau committed
1
# libre.sh Version 1.2
2
3
[![Backers on Open Collective](https://opencollective.com/libresh/backers/badge.svg)](#backers)
 [![Sponsors on Open Collective](https://opencollective.com/libresh/sponsors/badge.svg)](#sponsors) 
4

Pierre Ozoux's avatar
Pierre Ozoux committed
5
## Introduction
6

Michel Memeteau's avatar
Michel Memeteau committed
7
An ecosystem to ease  free software hosting \o/
Pierre Ozoux's avatar
Pierre Ozoux committed
8
9
10
11
12
13
14
15

We are working on bootstrapping an ecosystem of tools to facilitate the hosting of free software.
Think of it as
 - [ISPconfig](https://www.ispconfig.org/)
 - FLOSS [cpanel](https://www.cpanel.net/products/)
 - [cloudron](https://cloudron.io/) with email


Michel Memeteau's avatar
Michel Memeteau committed
16
17
18
19
20
21
  * Libre.sh V1 (Stable) is using docker-compose 
  * Libre.sh V2 (Alpha) is using [kubernetes](https://kubernetes.io/).


This ecosystem can be deployed on [Raspberries](https://kubecloud.io/setting-up-a-kubernetes-1-11-raspberry-pi-cluster-using-kubeadm-952bbda329c8) or on popular cloud providers and scale globally or anything in between. 
We can affirm that V2 scales globally because it is based on kubernetes, a tool developped from the experience of Google hosting containers at scale.
Pierre Ozoux's avatar
Pierre Ozoux committed
22

Pierre Ozoux's avatar
Pierre Ozoux committed
23
24
25
## Installation


Michel Memeteau's avatar
Michel Memeteau committed
26
27

To install it, follow the instructions in `INSTALL_LINUX.md` : https://lab.libreho.st/libre.sh/compose.libre.sh/blob/master/INSTALL_LINUX.md
Pierre Ozoux's avatar
Pierre Ozoux committed
28

Michel Memeteau's avatar
Michel Memeteau committed
29
30
31
32
Or run our installer script 

https://lab.libreho.st/libre.sh/compose.libre.sh/raw/master/install.linux.sh

Pierre Ozoux's avatar
Pierre Ozoux committed
33
### What is libre.sh
Pierre Ozoux's avatar
Pierre Ozoux committed
34

Pierre Ozoux's avatar
Pierre Ozoux committed
35
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53

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
54

Pierre Ozoux's avatar
Pierre Ozoux committed
55
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
56

Pa's avatar
Pa committed
57
It contains 2 [unit-files](https://lab.libreho.st/libre.sh/compose.libre.sh/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
58

Pierre Ozoux's avatar
Pierre Ozoux committed
59
60
61
62
### Support

You can use the following channels to request community support:
 - [mailinglist/forum](https://forum.indie.host/t/about-the-libre-sh-category/71)
63
 - [chat](https://chat.indie.host/channel/libre.sh)
Pierre Ozoux's avatar
Pierre Ozoux committed
64

Pierre Ozoux's avatar
Pierre Ozoux committed
65
For paid support, just send an inquiry to support@libre.sh.
Pierre Ozoux's avatar
Pierre Ozoux committed
66

Michel Memeteau's avatar
Michel Memeteau committed
67
68
You can also watch the Fosdem Video : [Video Fosdem](https://fosdem.org/2017/schedule/event/libre_sh/)

Pierre Ozoux's avatar
Pierre Ozoux committed
69
70
All of this is hosted by libre.sh :)

Pierre Ozoux's avatar
Pierre Ozoux committed
71
## System modules
Pierre Ozoux's avatar
Pierre Ozoux committed
72

Pierre Ozoux's avatar
Pierre Ozoux committed
73
Here is a list of modules supported:
Pierre Ozoux's avatar
Pierre Ozoux committed
74
 - https proxy:
75
76
 - [HAProxy](https://lab.libreho.st/libre.sh/compose/haproxy)
 - [Nginx](https://lab.libreho.st/libre.sh/compose/nginx)
Michel Memeteau's avatar
Michel Memeteau committed
77
78
 - [monitoring](https://lab.libreho.st/libre.sh/compose/monitoring)
 - [git-puller](https://lab.libreho.st/libre.sh/compose/git-puller)
Pierre Ozoux's avatar
typo    
Pierre Ozoux committed
79

Pierre Ozoux's avatar
Pierre Ozoux committed
80
81
Go to their respective page for more details.

Pierre Ozoux's avatar
Pierre Ozoux committed
82
### To install and start a module:
Pierre Ozoux's avatar
Pierre Ozoux committed
83
84

```
Pierre Ozoux's avatar
Pierre Ozoux committed
85
cd /system/
Michel Memeteau's avatar
Michel Memeteau committed
86
git clone https://lab.libreho.st/libre.sh/compose/[module]
Pierre Ozoux's avatar
Pierre Ozoux committed
87
cd module
88
89
libre enable
libre start
Pierre Ozoux's avatar
Pierre Ozoux committed
90
91
92
```

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

Pierre Ozoux's avatar
Pierre Ozoux committed
94
### Installation
Pierre Ozoux's avatar
Pierre Ozoux committed
95

Pierre Ozoux's avatar
Pierre Ozoux committed
96
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
97
98

```
Michel Memeteau's avatar
Michel Memeteau committed
99
libre provision -a wordpress -u example.org -s
Pierre Ozoux's avatar
Pierre Ozoux committed
100
101
```

Michel Memeteau's avatar
Michel Memeteau committed
102
103
104
105
106
107
108
109
- -u   [arg] URL to process. Required.
- -a   [arg] Application to install. (wordpress in REPO_MODE)
- -t   [arg] Checkout a specific tag or branch from the application repo. default to master
- -e   [arg] Specify the email of the application admin 
- -s         Start the application right away.
- -b         Buys the associated domain name.
- -i         Configure OpenDKIM.
- -c         Configures DNS if possible.
Pierre Ozoux's avatar
Pierre Ozoux committed
110

111
## To debug a module or an application:
Pierre Ozoux's avatar
Pierre Ozoux committed
112
113

```
114
115
116
117
libre ps
libre logs -f --tail=100
libre stop
libre restart
Pierre Ozoux's avatar
Pierre Ozoux committed
118
119
```

Pierre Ozoux's avatar
Pierre Ozoux committed
120
## Contributing
121

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

Pierre Ozoux's avatar
Pierre Ozoux committed
124
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
125

Pierre Ozoux's avatar
Pierre Ozoux committed
126
127
128
129
130
131
132
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!
133
134
135
136

## Contributors

This project exists thanks to all the people who contribute. [[Contribute](CONTRIBUTING.md)].
Samuel Laulhau's avatar
Samuel Laulhau committed
137
<a href="https://github.com/indiehosters/libre.sh/graphs/contributors"><img src="https://opencollective.com/libresh/contributors.svg?width=890&button=false" /></a>
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162


## Backers

Thank you to all our backers! 🙏 [[Become a backer](https://opencollective.com/libresh#backer)]

<a href="https://opencollective.com/libresh#backers" target="_blank"><img src="https://opencollective.com/libresh/backers.svg?width=890"></a>


## Sponsors

Support this project by becoming a sponsor. Your logo will show up here with a link to your website. [[Become a sponsor](https://opencollective.com/libresh#sponsor)]

<a href="https://opencollective.com/libresh/sponsor/0/website" target="_blank"><img src="https://opencollective.com/libresh/sponsor/0/avatar.svg"></a>
<a href="https://opencollective.com/libresh/sponsor/1/website" target="_blank"><img src="https://opencollective.com/libresh/sponsor/1/avatar.svg"></a>
<a href="https://opencollective.com/libresh/sponsor/2/website" target="_blank"><img src="https://opencollective.com/libresh/sponsor/2/avatar.svg"></a>
<a href="https://opencollective.com/libresh/sponsor/3/website" target="_blank"><img src="https://opencollective.com/libresh/sponsor/3/avatar.svg"></a>
<a href="https://opencollective.com/libresh/sponsor/4/website" target="_blank"><img src="https://opencollective.com/libresh/sponsor/4/avatar.svg"></a>
<a href="https://opencollective.com/libresh/sponsor/5/website" target="_blank"><img src="https://opencollective.com/libresh/sponsor/5/avatar.svg"></a>
<a href="https://opencollective.com/libresh/sponsor/6/website" target="_blank"><img src="https://opencollective.com/libresh/sponsor/6/avatar.svg"></a>
<a href="https://opencollective.com/libresh/sponsor/7/website" target="_blank"><img src="https://opencollective.com/libresh/sponsor/7/avatar.svg"></a>
<a href="https://opencollective.com/libresh/sponsor/8/website" target="_blank"><img src="https://opencollective.com/libresh/sponsor/8/avatar.svg"></a>
<a href="https://opencollective.com/libresh/sponsor/9/website" target="_blank"><img src="https://opencollective.com/libresh/sponsor/9/avatar.svg"></a>


Michel Memeteau's avatar
Michel Memeteau committed
163
164
165
166
167
168
169
170
## Other projects


Simplifying web application hosting has always been a goal for a lot of other projects, here is some project that share goals with libre.sh



 - Yunohost https://yunohost.org
Michel Memeteau's avatar
Michel Memeteau committed
171
 - Sandstorm https://sandstorm.io/
Michel Memeteau's avatar
Michel Memeteau committed
172
 - Cloudron https://git.cloudron.io/cloudron/box
Michel Memeteau's avatar
Michel Memeteau committed
173
174