Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/sillsdev/ops-devbox
Ansible playbook for a (linux) developer machine
https://github.com/sillsdev/ops-devbox
Last synced: 29 days ago
JSON representation
Ansible playbook for a (linux) developer machine
- Host: GitHub
- URL: https://github.com/sillsdev/ops-devbox
- Owner: sillsdev
- License: mit
- Created: 2015-07-28T03:35:18.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2023-06-13T18:39:07.000Z (over 1 year ago)
- Last Synced: 2024-08-04T04:07:24.560Z (4 months ago)
- Language: Python
- Size: 71.3 KB
- Stars: 8
- Watchers: 26
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- low-resource-languages - ops-devbox - Ansible playbook for a (linux) developer machine. (Software / Utilities)
README
# Recommended Dev Setup #
This repo contains Ansible playbooks that installs our recommended development environment.
Currently, these playbooks only install software for web development on Ubuntu GNOME 16.04 LTS.
## Installing Ubuntu GNOME 16.04 LTS off USB ##
1. Download the [Ubuntu](https://ubuntugnome.org/download/) iso.
2. Make the bootable USB stick following [these instructions](http://community.linuxmint.com/tutorial/view/744). Note, if you are going to dual-boot Window 10, use [these instructions](https://www.vanstechelman.eu/content/creating-an-uefi-bootable-linux-usb-stick) to make a UEFI bootable USB stick. This way, you'll avoid issues when the bootloader is installed.
3. Install Linux, clicking next as required.### Partitioning ###
If you have a modest SSD installed, say 250G or so with perhaps an additional spinning media. We recommend partitioning like so:
![SSD Partitioning](docs/ssd.png?raw=true)
![HDD Partitioning](docs/hdd.png?raw=true)Notable features:
* The swap space is on the spinning media.
* The SSD is split to dual boot Windows and Linux Mint
* There is a large(ish) shared NTFS space for source code.If you are developing a web app using the MongoDB schema-less database it is advisable to have the database on spinning media, as Mongo can grow the memory mapped files to quite a large size, whether you want it to or not. Therefore there is an ext3 (or ext4) partition on the spinning media alongside the large NTFS partition for shared files.
## Software Installation ##
So, what all is installed? Have a look at the *.yml files. This dev environment stops short of installing required dependencies for a particular app. e.g. mySQL and Apache would be installed by the application Ansible playbook.
### Initial Manual Setup ###
````
# Install Git
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install git
````````
# Install Ansible 2.1
sudo add-apt-repository ppa:ansible/ansible
sudo apt-get update
sudo apt-get install ansible
````This upgrades your system and installs ansible and git without which is required to continue with the Ansible Setup described below.
### Ansible Setup ###
From your *home* folder...
````
mkdir src
cd src
git clone --recurse-submodules https://github.com/sillsdev/ops-devbox
cd ops-devbox
ansible-playbook -i hosts dev.yml --limit localhost -K
````and wait.
You might want to open the systems resource monitor to check on your network traffic, and to give you comfort that something is in fact happening.
### Annoying Extra Steps ###
I like [Remarkable](http://remarkableapp.github.io/) as a markdown editor. However, it's no longer in the repos for the latest Mint. You need to install it manually (via deb).
### Known to Work With ###
This procedure has been known to work with:
- Ubuntu GNOME 16.04.01 LTS (Xenial)Previous versions
- Linux Mint
- Ubuntu 14.04 (Trusty)