The Wayback Machine - https://web.archive.org/web/20201022044945/https://github.com/FreeCAD/FreeCAD-WebServices
Skip to content
master
Go to file
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
lxd
 
 
 
 
 
 
 
 

README.rst

Introduction

This repository contains an infrastructure-as-code representation of FreeCAD's web services. Using Vagrant as a provisioning frontend to LXD containers and Libvirt VMs configured by Ansible playbooks, one can* stand up any or all of the services for a production or development deployment. Eventually, sample DBs may be included for development, such as a phpBB backup with the correct FreeCAD forums but no posts or user data. While the repo and instructions target recent Debian/Ubuntu systems, pull requests are welcome to expand that, as well as support for Docker, Vagrant + VirtualBox or the like.

The goal of this repo is to make maintenance & development of our web service infrastructure easier.

The web services currently in use are:

with a backing MySQL database.

Future experimental web services may be included. Vagrant also supports cloud deployment targets such as Digital Ocean or Linode, so in the future it may be possible to use this repo to directly deploy and manage our infrastructure.

* eventually

Requirements & Installation

For a Debian/Ubuntu system:

$ wget https://releases.hashicorp.com/vagrant/2.2.6/vagrant_2.2.6_x86_64.deb
$ sudo apt install ./vagrant_2.2.6_x86_64.deb
$ sudo apt install ansible libvirt-daemon-system libvirt-dev ruby-dev snapd btrfs-progs
$ sudo snap install lxd
$ sudo /snap/bin/lxd init --auto
$ vagrant plugin install vagrant-libvirt
$ vagrant plugin install vagrant-lxd
$ sudo usermod -aG libvirt,lxd $(whoami)

Then reboot.

If you are not using LXD, installation becomes much simpler. This is because Vagrant in the Debian/Ubuntu repositories is patched in order to work with apt-packaged plugins , which breaks vagrant plugin install ing from the Internet, which is needed for vagrant-lxd, which in turn requires we download vagrant directly from upstream. So, instead you can do:

$ sudo apt install vagrant vagrant-libvirt libvirt-daemon-system
$ sudo usermod -aG libvirt $(whoami)
$ newgrp libvirt

without restarting.

See additional provider-specific documentation: lxd/README.rst.

Usage

Clone the repository:

$ git clone https://github.com/freecad/freecad-webservices
$ cd freecad-webservices

Stand up a single service or all at once:

$ cd lxd  # or cd libvirt
$ vagrant up forum
$ vagrant up  # stands up forum, tracker, wiki, homepage

Test Ansible provisioning or get shell access for development:

$ vagrant provision wiki
$ vagrant ssh wiki

Clean up afterward:

$ vagrant halt forum  # free up resources but don't erase
$ vagrant destroy -f wiki  # destroys without confirmation

About

Administrative tools for the FreeCAD project's web services

Resources

License

Releases

No releases published

Packages

No packages published

Languages

You can’t perform that action at this time.