Simplify introduction

This commit is contained in:
Alexandre Aubin 2019-10-08 21:20:54 +02:00 committed by GitHub
parent 0ab8729d70
commit 3b1ade01a7
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -55,19 +55,9 @@ Yunohost can be developed on using a combination of the following technologies:
* Git (any version is sufficient) * Git (any version is sufficient)
* LXD (>= 2.x) (though only tested with 3.x for now) * LXD (>= 2.x) (though only tested with 3.x for now)
As LXC are containers, they are typically lightweight but you may find the Because LXC are containers, they are typically lightweight and quick to start and stop.
initial setup complex (in particular network configuration). LXD makes the But you may find the initial setup complex (in particular network configuration).
management of LXC much simpler. LXD makes managing an LXC ecosystem much simpler.
Alternatively, you may be able to setup a local environnement using Vagrant and
Virtualbox which is kinda more resource-hungry because it is fully virtualized.
* Virtualbox (>= 6.x)
* Vagrant-virtualbox (>= ?.?.?)
Please keep in mind that these versions may not be available on your OS
distribution and you may be required to install them as binary or from source.
There are no guarantees of stability on newer major versions.
This local development path allows to work without an internet connection, This local development path allows to work without an internet connection,
but be aware that it will *not* allow you to easily test your email stack but be aware that it will *not* allow you to easily test your email stack
@ -75,14 +65,20 @@ or deal with deploying SSL certificates, for example, as your machine is
likely to not be exposed on the internet. A remote machine should be used likely to not be exposed on the internet. A remote machine should be used
for these cases. for these cases.
Depending on your needs, this setup can be very convenient.
If choosing this path, please keep reading at the [local development If choosing this path, please keep reading at the [local development
environment](#local-development-environment) section. environment](#local-development-environment) section.
Please note, there is also a setup guide for a local development path which Alternatively, you may be able to setup a local environnement using Vagrant and
does not require LXC. Please see the [Alternative: Only Virtualbox](#alternative-using-only-virtualbox) Virtualbox which is kinda more resource-hungry because it is fully virtualized,
section for more. but might be more familiar and user-friendly if you already know your way around
Virtualbox's UI.
* Virtualbox (>= 6.x)
* Vagrant (>= ?.?.?)
* Vagrant-virtualbox (>= ?.?.?)
See the [Alternative: Only Virtualbox](#alternative-using-only-virtualbox)
section for more info.
## Remote Development Path ## Remote Development Path
@ -92,8 +88,8 @@ Yunohost can be deployed as a typical install on a remote VPS. You can then use
This method can potentially be faster than the local development environment This method can potentially be faster than the local development environment
assuming you have familiarity with working on VPS machines, if you always have assuming you have familiarity with working on VPS machines, if you always have
internet connectivity when working, and if you're okay with paying a fee. It internet connectivity when working, and if you're okay with paying a fee. It
is also a good option if the required system dependencies (Vagrant, Virtualbox, is also a good option if the required system dependencies (LXD/LXC, Vagrant,
etc.) are not easily available to you on your distribution. Virtualbox, etc.) are not easily available to you on your distribution.
Please be aware that this method should **not** be used for a end-user facing Please be aware that this method should **not** be used for a end-user facing
production environment. production environment.
@ -113,10 +109,7 @@ Here is the development flow:
First you need to install the system dependencies. First you need to install the system dependencies.
`ynh-dev` essentially requires Git and the LXD/LXC ecosystem. Please `ynh-dev` essentially requires Git and the LXD/LXC ecosystem.
see the [local development path](#local-development-path) section for some idea
of the versions required.
On a Debian-based system (regular Debian, Ubuntu, Mint ...), LXD can be On a Debian-based system (regular Debian, Ubuntu, Mint ...), LXD can be
installed using `snapd`. On other systems like Archlinux, it's probably that you installed using `snapd`. On other systems like Archlinux, it's probably that you
will also be able to install `snapd` using the system package manager (or even will also be able to install `snapd` using the system package manager (or even