Merge branch 'master' into develop

This commit is contained in:
freechelmi 2020-02-26 18:45:26 +01:00
commit 0784a88498
4 changed files with 134 additions and 12 deletions

View file

@ -97,6 +97,7 @@ mkdir -p /data/trash &&\
cp /libre.sh/unit-files/* /etc/systemd/system && systemctl daemon-reload &&\ cp /libre.sh/unit-files/* /etc/systemd/system && systemctl daemon-reload &&\
systemctl enable web-net.service &&\ systemctl enable web-net.service &&\
systemctl start web-net.service &&\ systemctl start web-net.service &&\
mkdir -p /opt/bin &&\
cp /libre.sh/utils/* /opt/bin/ cp /libre.sh/utils/* /opt/bin/
``` ```

View file

@ -4,7 +4,7 @@
## Introduction ## Introduction
A ecosystem that is aimed at hosting free software \o/ An ecosystem to ease free software hosting \o/
We are working on bootstrapping an ecosystem of tools to facilitate the hosting of free software. We are working on bootstrapping an ecosystem of tools to facilitate the hosting of free software.
Think of it as Think of it as
@ -12,15 +12,23 @@ Think of it as
- FLOSS [cpanel](https://www.cpanel.net/products/) - FLOSS [cpanel](https://www.cpanel.net/products/)
- [cloudron](https://cloudron.io/) with email - [cloudron](https://cloudron.io/) with email
for [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 it scales globally because it is based on kubernetes, a tool developped from the experience of Google hosting containers at scale. * 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.
## Installation ## Installation
[![ScreenShot](https://cloud.pierre-o.fr/index.php/apps/files_sharing/ajax/publicpreview.php?x=1364&y=283&a=true&file=preview.png&t=KlxYYFT59GirMJa&scalingup=0)](https://fosdem.org/2017/schedule/event/libre_sh/)
To install it, follow the video above and instructions in `INSTALL.md`.
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 ### What is libre.sh
@ -46,7 +54,7 @@ Amazing, right?
The PaaS is really modular, that's why it contains the strict necessary, then you'll probably want to add `system` modules or `applications`. 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](https://github.com/indiehosters/LibrePaaS/tree/master/unit-files) to manage system modules and applications, start them at boot, and load the appropriate environment. 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.
### Support ### Support
@ -56,17 +64,18 @@ You can use the following channels to request community support:
For paid support, just send an inquiry to support@libre.sh. For paid support, just send an inquiry to support@libre.sh.
You can also watch the Fosdem Video : [Video Fosdem](https://fosdem.org/2017/schedule/event/libre_sh/)
All of this is hosted by libre.sh :) All of this is hosted by libre.sh :)
## System modules ## System modules
Here is a list of modules supported: Here is a list of modules supported:
- https proxy: - https proxy:
- [HAProxy](https://github.com/indiehosters/haproxy) - [HAProxy](https://lab.libreho.st/libre.sh/compose/haproxy)
- [Nginx](https://github.com/indiehosters/nginx) - [Nginx](https://lab.libreho.st/libre.sh/compose/nginx)
- [monitoring](https://github.com/indiehosters/monitoring) - [monitoring](https://lab.libreho.st/libre.sh/compose/monitoring)
- [git-puller](https://github.com/indiehosters/git-puller) - [git-puller](https://lab.libreho.st/libre.sh/compose/git-puller)
- [backups](https://github.com/indiehosters/backups)
Go to their respective page for more details. Go to their respective page for more details.
@ -74,7 +83,7 @@ Go to their respective page for more details.
``` ```
cd /system/ cd /system/
git clone module git clone https://lab.libreho.st/libre.sh/compose/[module]
cd module cd module
libre enable libre enable
libre start libre start
@ -144,3 +153,15 @@ Support this project by becoming a sponsor. Your logo will show up here with a l
<a href="https://opencollective.com/libresh/sponsor/9/website" target="_blank"><img src="https://opencollective.com/libresh/sponsor/9/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>
## 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

100
install.linux.sh Executable file
View file

@ -0,0 +1,100 @@
#!/bin/bash
#Current version of libre.sh to be installed
LIBRE_VERSION=1.1
# System env vars
## domain handling
### TODO : Specify you template repo ROOT
TEMPLATES_ROOT=lab.libreho.st/libre.sh/compose/
### TODO : change to your domain vendor ( ovh , online, )
DOMAIN_SERVER=namecheap
### Namecheap specific
NAMECHEAP_URL="namecheap.com"
NAMECHEAP_API_USER="pierreo"
NAMECHEAP_API_KEY=
### ovh specific
OVH_URL="eu.api.ovh.com"
OVH_API_USER=""
OVH_API_KEY=
IP="curl -s http://icanhazip.com/"
FirstName="Pierre"
LastName="Ozoux"
Address=""
PostalCode=""
Country="Portugal"
Phone="+351.967184553"
EmailAddress="pierre@ozoux.net"
City="Lisbon"
CountryCode="PT"
## Backup
BACKUP_DESTINATION=root@xxxxx:port
## SMTP
MAIL_USER=
MAIL_PASS=
MAIL_HOST=mail.indie.host
MAIL_PORT=587
echo "-------- Welcome to libre.sh $LIBRE_VERSION installer"
# STEP add kernel parameter
# STEP Define environnement
echo "-------- setting up system variables"
# STEP Install Docker
echo "-------- Install latest docker "
# TODO : Fix a version for docker ?
curl -fsSL https://get.docker.com -o get-docker.sh
sh get-docker.sh
# STEP "install docker-compose"
echo "-------- Install latest docker-compose "
# TODO : Fix a version for docker compose ?
mkdir -p /opt/bin &&\
dockerComposeVersion=$(curl -s https://api.github.com/repos/docker/compose/releases/latest|grep tag_name|cut -d'"' -f4) &&\
curl -L https://github.com/docker/compose/releases/download/$dockerComposeVersion/docker-compose-`uname -s`-`uname -m` > /opt/bin/docker-compose &&\
chmod +x /opt/bin/docker-compose
# STEP install Libre.sh
echo "-------- installing libre.sh"
git clone https://lab.libreho.st/libre.sh/compose.libre.sh -b $LIBRE_VERSION /libre.sh
mkdir -p /{data,system}
mkdir -p /data/trash
cp /libre.sh/unit-files/* /etc/systemd/system && systemctl daemon-reload
systemctl enable web-net.service
systemctl start web-net.service
mkdir -p /opt/bin
cp /libre.sh/utils/* /opt/bin/
# STEP add /opt/bin path
echo "-------- updating PATH"
cat > /etc/profile.d/libre.sh <<EOF
export PATH=$PATH:/opt/bin
EOF
chmod 644 /etc/profile.d/libre.sh