-
-
Notifications
You must be signed in to change notification settings - Fork 112
Provisioning
Provisioning is the process of configuring a server with the software required to run Open Food Network.
The provision.yml
playbook installs packages such as curl and git, then installs:
You will need to set up an instance of Ubuntu "Precise Pangolin" x64 server (a.k.a. an Ubuntu Precise 64 box), though this may work on other Debian based systems too. See current Server Specifications to get an idea of what you need.
The DigitalOcean Ubuntu precise 64 image is solidly tested, and Amazon Ubuntu precise 64 images have also worked.
If you are going through this process the first time, you probably want to test it on your local machine first. Jump to Using Vagrant to create a local virtual machine and run the provisioning on that. You will have a real installation of the Open Food Network app on that virtual machine and will be able to test everything first.
This is for a staging server:
- Create a file called
staging
. Add the text below:
# file: staging
[ofn_servers]
staging.openfoodnetwork.org ansible_ssh_host=<your IP here>
Change the URL as appropriate for a production or test server. This is not needed for Vagrant.
Note: ansible-playbook
commands need to include -i staging
to use this inventory file.
Ansible needs at least one user created on the system so that it can run and install software as that user. You specify the user name and password user in your vars.yml
file. (On Ubuntu systems, it is standard practice to create a user named ubuntu
for this purpose.)
On DigitalOcean servers and any system where there is no default user set up, you will need to run the user.yml
playbook.
ansible-playbook user.yml -i staging
On standard Amazon (AWS) Ubuntu images that block root login, the user.yml
playbook won't run, and doesn't need to.
Run the provisioning and the first deploy with the install
playbook:
ansible-playbook install.yml -i staging
# ansible-playbook install.yml -i staging -vvvv # for full debug output
This step can take a long time. And you might need to tweak your SSH configuration to prevent timeouts.
Continue with the Administration of your application server.
Provisioning
Deployment
Sysadmin
External services
- Sending emails from OFN
- Email Deliverability
- SSL certificates
- Google Maps
- File storage
- Backups
- Server monitoring
- Issue reporting (Bugsnag)
Contributing