Commit 60796822 authored by David Seaward's avatar David Seaward

clean up general installation, add missing files

Signed-off-by: David Seaward's avatarDavid Seaward <>
parent 74a66369
# Community Covenant
## Our Goal
This community is dedicated to providing a harassment-free experience for everyone. We do not tolerate harassment of participants in any form.
## Applicability and Scope
This code of conduct applies to all of this community's spaces, including public channels, private channels and direct messages, both online and off. Anyone who violates this code of conduct may be sanctioned or expelled from these spaces at the discretion of the administrators.
## Toward a Welcoming and Safe Environment
We hope to create an environment in which diverse individuals can collaborate and interact in a positive and affirming way. Examples of behavior that contributes to creating this sort of environment include:
* Using welcoming and inclusive language
* Being respectful of differing viewpoints and experiences
* Gracefully accepting constructive criticism
* Focusing on what is best for the overall community
* Showing empathy towards other community members
## Anti-Harassment Statement
This community will not tolerate harassment of any kind. Examples of harassment include:
* Offensive comments related to gender, gender identity and expression, sexual orientation, disability, mental illness, neuro(a)typicality, physical appearance, pregnancy status, veteran status, political affiliation, marital status, body size, age, race, national origin, ethnic origin, nationality, immigration status, language, religion or lack thereof, or other identity marker. This includes anti-Indigenous/Nativeness and anti-Blackness.
* Unwelcome comments regarding a person's lifestyle choices and practices, including those related to food, health, parenting, relationships, drugs, and employment.
* Deliberate misgendering, using inappropriate pronouns, or use of "dead" or rejected names.
* Gratuitous or off-topic sexual images or behavior in spaces where they're not appropriate.
* Physical contact and simulated physical contact (eg, textual descriptions like "hug" or "backrub") without consent or after a request to stop.
* Threats of violence.
* Incitement of violence towards any individual or group, including encouraging a person to commit suicide or to engage in self-harm.
* Deliberate intimidation.
* Stalking or following - online or in the physical world.
* Harassing photography or recording, including logging online activity for harassment purposes.
* Sustained disruption of discussion.
* Unwelcome sexual attention.
* Patterns of inappropriate social contact, such as requesting/assuming inappropriate levels of intimacy with others.
* Continued one-on-one communication after requests to cease.
* Deliberate "outing" of any aspect of a person's identity without their consent except as necessary to protect vulnerable people from intentional abuse.
* Publication of non-harassing private communication.
* Jokes that resemble the above, such as "hipster racism", still count as harassment even if meant satirically or ironically.
If you have questions or concerns about these issues please feel free to message an admin or ask for an opportunity to explore the issue with a moderator and volunteers.
## Reporting
If you are being harassed by a member of our community, notice that someone else is being harassed, or have any other concerns, please contact the administrators via email. If the person who is harassing you is on the admin team, they will not be involved in handling or resolving the incident.
The admin team will respond to any complaint as promptly as possible we can. If you do not get a timely response (for example, if no admins are currently online) then please put your personal safety and well-being first, and consider logging out and/or contacting the admins by email at
This code of conduct applies to our community's spaces, but if you are being harassed by a member of our community outside our spaces, we still want to know about it. We will take all good-faith reports of harassment by our members, especially the administrators, seriously. This includes harassment outside our spaces and harassment that took place at any point in time. The abuse team reserves the right to exclude people from the community based on their past behavior, including behavior outside of our spaces and behavior towards people who are not in this community.
In order to protect volunteers from abuse and burnout, we reserve the right to reject any report we believe to have been made in bad faith. Reports intended to silence legitimate criticism may be deleted without response.
## Enforcement Process
Every code of conduct violation report will be treated with seriousness and care. If a member's immediate safety and security is threatened, an individual admin may take any action that they deem appropriate, up to and including temporarily banning the offender from the community. In less urgent situations, at least two admins will discuss the offense and mutually arrive at a suitable response, which will be shared with the offender privately. Whatever the resolution that they decide upon, the decision of the admins involved in a violation case will be considered final.
We will respect confidentiality requests for the purpose of protecting victims of abuse. At our discretion, we may publicly name a person about whom we've received harassment complaints, or privately warn third parties about them, if we believe that doing so will increase the safety of our members or the general public. We will not name harassment victims without their affirmative consent.
## Consequences
Participants asked to stop any harassing behavior are expected to comply immediately. If a participant engages in harassing behavior, the administrators may take any action they deem appropriate, up to and including expulsion from the community and identification of the participant as a harasser to other members. At the discretion of the admins, or by request, one or more of the parties involved may request to discuss the violation and how to avoid similar situations in the future.
## Acknowledgements
This Code of Conduct is adapted from the Community Covenant (, version 1.0, available at The Community Covenant is an open source effort and is built on codes of conduct that came before it, including the Contributor Covenant ( and the LGBTQ in Tech community code of conduct (
## License
Community Covenant by Coraline Ada Ehmke is licensed under a Creative Commons Attribution 4.0 International License ( Based on a work at
Developer Certificate of Origin
Version 1.1
Copyright (C) 2004, 2006 The Linux Foundation and its contributors.
1 Letterman Drive
Suite D4700
San Francisco, CA, 94129
Everyone is permitted to copy and distribute verbatim copies of this
license document, but changing it is not allowed.
Developer's Certificate of Origin 1.1
By making a contribution to this project, I certify that:
(a) The contribution was created in whole or in part by me and I
have the right to submit it under the open source license
indicated in the file; or
(b) The contribution is based upon previous work that, to the best
of my knowledge, is covered under an appropriate open source
license and I have the right under that license to submit that
work with modifications, whether created in whole or in part
by me, under the same open source license (unless I am
permitted to submit under a different license), as indicated
in the file; or
(c) The contribution was provided directly to me by some other
person who certified (a), (b) or (c) and I have not modified
(d) I understand and agree that this project and the contribution
are public and that a record of the contribution (including all
personal information I submit with it, including my sign-off) is
maintained indefinitely and may be redistributed consistent with
this project or the open source license(s) involved.
This diff is collapsed.
# LDH Toolkit setup guide
# LDH developer setup guide
## The shipyard
## Git installaton
The first thing you need to run is the `shipyard_setup script`. From your terminal type:
You need Git to download the LDH developer toolkit. Skip this step if
you have already configured Git.
wget -qnc && sudo bash shipyard_setup
sudo apt install git xclip
# also installs xclip, which we will use for SSH configuration
It will install libraries and other system tools. It might take a few minutes until finished.
## Configure username and email
## Git configuration
You need git to download the LDH toolkit. Skip this step if you already configured git.
### Username and email
First configure your username and email (as non-root user)
git config --global "Noe Nieto"
git config --global
git config --global "Ada Lovelace"
git config --global
### Generate RSA keypair
## Generate RSA keypair
Next we need to create a RSA keypair so we can upload the public key to gitlab. Copy the following and paste it to the terminal.
Next we need to create a RSA keypair so we can upload the public key
to GitLab. Copy the following and paste it to the terminal:
mkdir -p ~.ssh/
......@@ -32,9 +30,10 @@ cd ~.ssh/
ssh-keygen -o -t rsa -b 4096 -C "My liberty developer SSH key" -f purism_gitlab
### Configure SSH
## Configure SSH
The keypair has been generated. Now configure ssh so it will use the private key we created whwn connecting to Gitlab.
The keypair has been generated. Now configure ssh so it will use the
private key we created when connecting to Gitlab.
mkdir -p ~.ssh/
......@@ -45,8 +44,7 @@ IdentityFile ~/.ssh/purism_gitlab
### Upload the key to Gitlab
## Upload the key to GitLab
First copy the public key:
......@@ -54,11 +52,12 @@ First copy the public key:
xclip -sel clip < ~/.ssh/
Go to, paste the public key to the Key textbox and pick a name/title for the key.
Go to <>, paste the public key in
the `Key` textbox and pick a name/title for the key.
Press save.
Click Save.
### Test access to Gitlab
## Test access to GitLab
Run this:
......@@ -69,18 +68,25 @@ ssh -oBatchMode=yes -T
You should get a message like this
Welcome to GitLab, @noe.nieto!
Welcome to GitLab, @ada.lovelace!
If you don't see the welcome message please double check the ssh configuration.
If you don't see the welcome message, please double check your SSh
### Get your copy of the LDH developer toolkit
## Get your copy of the LDH developer toolkit
Just clone the repo:
Clone the repo and name it "upstream":
git clone
git clone --origin upstream
Now go to the main [](../ to see a listing of the different tools available.
When you create a fork on GitLab, you can add it as a new remote:
git add remote origin
# replace "ada.lovelace" with your username
Now go to [](./ for further instructions.
......@@ -2,20 +2,6 @@
The `shipyard` is a small wrapper around vagrant and libvirt that allows you to manage virtual machines easily. For most commands you only need to provide the hostname.
## Installation
First you need to setup you machine. Follow the [istructions to run the`shipyard_setup` script here](../start-here).
Now clone this repo,`cd` into `shipyard/`, and launch the command:
Feel free to copy the script to `~/bin` or symlink it so you don't need to enter the directory every time you run the script.
## How it works
Shipyard uses `~/.config/ldh_developer/shipyard` as configuration directory.
# Script to setup the tools needed for LDH developers
function ldh_info()
printf "$(tput setaf 7)[info] $(tput sgr0)$@\n"
function ldh_error()
echo "$(tput setaf 1)[Error] $(tput setaf 7)$@$(tput sgr0)"
# Checking permissions
if [[ $EUID -ne 0 ]]; then
ldh_error "Root privilege required..."
ldh_info "Usage: wget -qnc && sudo bash shipyard_setup"
exit 100
ldh_info "Updating package list ..."
apt update &>> /dev/null
ldh_info "Now installing dependencies ..."
apt install -y ansible virt-manager libvirt-clients vagrant vagrant-libvirt git xclip
ansible-galaxy install geerlingguy.php geerlingguy.php-xdebug geerlingguy.mailhog geerlingguy.apache-php-fpm geerlingguy.mysql oefenweb.wordpress
ldh_info "Generating Locales ..."
locale-gen en &>> /dev/null
sudo echo -n
# trigger sudo prompt
echo "Installing packages from apt sources..."
sudo apt install \
ansible \
hostfiles \
git \
libvirt-clients \
pipx \
python3-dev \
sshoot \
vagrant \
vagrant-libvirt \
virt-manager \
xclip \
echo "Installing playbooks from Ansible Galaxy..."
ansible-galaxy install \
geerlingguy.php \
geerlingguy.php-xdebug \
geerlingguy.mailhog \
geerlingguy.apache-php-fpm \
geerlingguy.mysql \
oefenweb.wordpress \
echo "Installing application from PyPI..."
# pipx install \
# example
echo "Latest shipwright dependencies installed."
# pipx install example
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment