diff --git a/INSTALL.md b/INSTALL.cloud.md similarity index 100% rename from INSTALL.md rename to INSTALL.cloud.md diff --git a/INSTALL_LINUX.md b/INSTALL_LINUX.md index 9b1e7ffdc3d76221f9075ead52be703025be4cda..ba9ac60b1c75f8958473e4bfc9364a10c1fd18b5 100644 --- a/INSTALL_LINUX.md +++ b/INSTALL_LINUX.md @@ -97,6 +97,7 @@ 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/ ``` diff --git a/README.md b/README.md index 05419c0a5793dee37f4802257642b6093290ef17..8972286e731b0d7f812fa0397f7d0b5334d6accc 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ ## 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. Think of it as @@ -12,15 +12,23 @@ Think of it as - FLOSS [cpanel](https://www.cpanel.net/products/) - [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 -[![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 @@ -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`. -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 @@ -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. +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 :) ## System modules Here is a list of modules supported: - https proxy: - - [HAProxy](https://github.com/indiehosters/haproxy) - - [Nginx](https://github.com/indiehosters/nginx) - - [monitoring](https://github.com/indiehosters/monitoring) - - [git-puller](https://github.com/indiehosters/git-puller) - - [backups](https://github.com/indiehosters/backups) + - [HAProxy](https://lab.libreho.st/libre.sh/compose/haproxy) + - [Nginx](https://lab.libreho.st/libre.sh/compose/nginx) + - [monitoring](https://lab.libreho.st/libre.sh/compose/monitoring) + - [git-puller](https://lab.libreho.st/libre.sh/compose/git-puller) Go to their respective page for more details. @@ -74,7 +83,7 @@ Go to their respective page for more details. ``` cd /system/ -git clone module +git clone https://lab.libreho.st/libre.sh/compose/[module] cd module libre enable libre start @@ -144,3 +153,15 @@ Support this project by becoming a sponsor. Your logo will show up here with a l +## 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 + + diff --git a/install.linux.sh b/install.linux.sh new file mode 100755 index 0000000000000000000000000000000000000000..24cce8ad5bd321d031a0634d54c2b37874114242 --- /dev/null +++ b/install.linux.sh @@ -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 <