This project is not maintained anymore! Please check here for alternatives. This repository is kept online for reference purposes only and can be taken offline/deleted any time.
This repository contains the configuration of our unified virtual development environment for element43. This has been tested on Windows 8.1 and Mac OS 10.11.1.
THIS VM IS DESIGNED FOR DEVELOPMENT USE ONLY - DO NOT MAKE IT ACCESSIBLE FROM THE INTERNET!
Windows users must install the GitHub Client for Windows first. Use the Git Shell for executing the commands listed below!
- Download this repository - click
Download ZIP
in the sidebar of this website and extract it somewhere (or simplygit clone
it) - Get VirtualBox and install it
- Get and install Vagrant - restart your system, if asked
- Run
vagrant plugin install vagrant-vbguest
from command line. It will keep the VirtualBox guest additions on your VM up-to-date. - In command line navigate to where you have extracted this repository and run
vagrant up
to download and run a basic Ubuntu 14.04 LTS VM - Run
vagrant ssh
and then executesudo sh /provisioning/bootstrap.sh
- this will install the full Element43 stack in your VM - Lean back and watch the magic happen - this might take up to a couple of hours
- ...
- Profit!
You'll be able to access your very own instance of element43 under http://127.0.0.1:8080! Remember to stop node-43
via supervisord
if you experience high CPU usage! Relevant logfiles are located at /var/log/element43
. You can stop your VM with vagrant halt
on your host system. Simply run vagrant up
from within the vagrant-element43 directory to turn it on again.
Create a new account as normal and obtain the activation link from the log located at /var/log/element43/element43.log
. Replace the https://element-43.com/
part of the activation link with the appropriate address e.g. http://localhost:8080/
. Open the link to activate your account. All e-mail 'sent' by the the dev instance will be written to the log file.
The VM automatically creates a SMB share you can access via smb://10.0.13.37
or \\10.0.13.37
under Windows. Changes to node-43
and celery
tasks require restarting the corresponding process via supervisord
(see below).
All relevant services are managed by supervisord:
- Run
vagrant ssh
- Run
sudo supervisorctl
Service | Autostart | Purpose |
---|---|---|
element43:celery-element43 | Yes | Background task (e.g. EVE API udpates) worker process |
element43:celerybeat-element43 | Yes | Background task scheduler |
element43:django-element43 | Yes | Main web application server |
element43:node-43 | No | EMDR market data collector (resource hungry) |
element43:pathfind-element43 | Yes | Local EVE pathfinding service |
Note: It is recommended to stop the element43:node-43
process after the first couple of hours.
Run sudo ansible-playbook /provisioning/vagrant.yml -i /home/vagrant/hosts --connection=local
via SSH. This will update your VM and local repositories.
If you want to work on a fork of element43, edit the e43_repository
line in provisioning/group_vars/vagrant
and fill in your own repo's URL.
- Run
vagrant destroy
- Repeat steps 5 to 7
- OS: Ubuntu Server 14.04 LTS
- RAM: 2048MB (adjust
Vagrantfile
) - Private Network IP:
10.0.13.37
- Port Forwarding:
guest:80
->host:8080
- Remote File Access: SMB or SFTP
- Timezone: UTC
- Shell: ZSH / oh-my-zsh
- System/Postgres
- User:
element43
- Password:
element43
- User:
- Postgres Admin
- Connection from host machine:
tcp://postgres:[email protected]:5432/element43
- User:
postgres
- Password:
postgres
- Connection from host machine:
- Default EMDR-Network Relay:
tcp://relay-eu-germany-1.eve-emdr.com:8050
- Service Management:
supervisorctl
- Log File Location:
/var/log/element43
- 2.0+ GHz Multi-Core Processor
- At least 4GB RAM
- 30 GB unused disk space