unit-files | ||
utils | ||
.gitignore | ||
CHANGELOG.md | ||
INSTALL.cloud.md | ||
install.linux.sh | ||
INSTALL_HETZNER.md | ||
INSTALL_LINUX.md | ||
LICENSE | ||
README.md | ||
ROADMAP.md | ||
user_data |
libre.sh Version 1.1
Introduction
An ecosystem to ease free software hosting \o/
We are working on bootstrapping an ecosystem of tools to facilitate the hosting of free software. Think of it as
- Libre.sh V1 (Stable) is using docker-compose
- Libre.sh V2 (Alpha) is using kubernetes.
This ecosystem can be deployed on Raspberries 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.
Installation
To install it, follow the instructions in INSTALL_LINUX.md
: https://lab.libreho.st/libre.sh/compose.libre.sh/blob/master/INSTALL_LINUX.md
Or run our installer script
https://lab.libreho.st/libre.sh/compose.libre.sh/raw/master/install.linux.sh
What is libre.sh
libre.sh 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
The PaaS is really modular, that's why it contains the strict necessary, then you'll probably want to add system
modules or applications
.
It contains 2 unit-files to manage system modules and applications, start them at boot, and load the appropriate environment.
Support
You can use the following channels to request community support:
For paid support, just send an inquiry to support@libre.sh.
You can also watch the Fosdem Video : Video Fosdem
All of this is hosted by libre.sh :)
System modules
Here is a list of modules supported:
- https proxy:
- monitoring
- git-puller
Go to their respective page for more details.
To install and start a module:
cd /system/
git clone https://lab.libreho.st/libre.sh/compose/[module]
cd module
libre enable
libre start
Applications
Installation
To install application wordpress
on example.org
, first make point example.org to your server IP, and then, just run:
libre provision -a github.com/indiehosters/wordpress -u example.org -s
Run libre provision
for more details on the capabilities of the script.
To debug a module or an application:
libre ps
libre logs -f --tail=100
libre stop
libre restart
Contributing
If you have any issue (something not working, missing doc), please do report an issue here! Thanks
This system is used in production at IndieHosters so it is maintained. If you use it, please tell us, and we'll be really happy to update this README!
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!
Contributors
This project exists thanks to all the people who contribute. [Contribute].
Backers
Thank you to all our backers! 🙏 [Become a backer]
Sponsors
Support this project by becoming a sponsor. Your logo will show up here with a link to your website. [Become a sponsor]
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
- Sandstorm https://sandstorm.io/
- Cloudron https://git.cloudron.io/cloudron/box