All Projects → wagtail → vagrant-wagtail-develop

wagtail / vagrant-wagtail-develop

Licence: other
A script to painlessly set up a Vagrant environment for development of Wagtail

Programming Languages

shell
77523 projects

Projects that are alternatives of or similar to vagrant-wagtail-develop

packer-centos
Create CentOS images for different hypervisors with Packer
Stars: ✭ 18 (-50%)
Mutual labels:  vagrant
vagrant-jenkins
Vagrant box running Ubuntu with an installed Jenkins instance
Stars: ✭ 39 (+8.33%)
Mutual labels:  vagrant
wagtailenforcer
The Wagtail arm of the law - enforce security protocols on your Wagtail site
Stars: ✭ 43 (+19.44%)
Mutual labels:  wagtail
howto
How to do things on the Internet
Stars: ✭ 78 (+116.67%)
Mutual labels:  vagrant
ansible-role-cardano-node
Ansible role for the provisioning of Shelly Cardano binaries from source.
Stars: ✭ 20 (-44.44%)
Mutual labels:  vagrant
guix-vm
Scripts and support necessary to make a GuixSD Virtualbox image
Stars: ✭ 18 (-50%)
Mutual labels:  vagrant
RHCSA ENV
An environment to prepare for the RHCSA certification, mainly automates server side installation of samba and NFS (RHCSA deals only with the client side)
Stars: ✭ 28 (-22.22%)
Mutual labels:  vagrant
build-inspector
Inspect your builds to look for changes in filesystem, network traffic and running processes.
Stars: ✭ 12 (-66.67%)
Mutual labels:  vagrant
wagtail-headless-preview
Previews for headless Wagtail setups
Stars: ✭ 99 (+175%)
Mutual labels:  wagtail
phpell
[ABANDONED] Vagrant VM with bash(shell) provision for PHP development
Stars: ✭ 26 (-27.78%)
Mutual labels:  vagrant
django-hyper-editor
Django Integration of Hyper Editor
Stars: ✭ 29 (-19.44%)
Mutual labels:  wagtail
freeturn
Freelance mission control
Stars: ✭ 50 (+38.89%)
Mutual labels:  wagtail
development-environment
A development environment for Java, Python, Node.js and Go built using Vagrant
Stars: ✭ 50 (+38.89%)
Mutual labels:  vagrant
django-angular2-fullstack-devops
All-in-one django/angular2 seed with cli interface for multi-environment devops on aws using ansible/packer/terraform
Stars: ✭ 54 (+50%)
Mutual labels:  vagrant
Vagrant-Tutorial
Supporting repository for a Vagrant and Ansible tutorial
Stars: ✭ 32 (-11.11%)
Mutual labels:  vagrant
vagrant-magento
**DEPRECATED**
Stars: ✭ 12 (-66.67%)
Mutual labels:  vagrant
k8s-all-in-one
Create a All-in-one Kubernetes Cluster.
Stars: ✭ 35 (-2.78%)
Mutual labels:  vagrant
hashicorp-labs
Deploy locally on VM an Hashicorp cluster formed by Vault, Consul and Nomad. Ready for deploying and testing your apps.
Stars: ✭ 32 (-11.11%)
Mutual labels:  vagrant
cikit
Continuous Integration Kit (CIKit)
Stars: ✭ 21 (-41.67%)
Mutual labels:  vagrant
digihel
City of Helsinki Digital Helsinki Wagtail CMS
Stars: ✭ 19 (-47.22%)
Mutual labels:  wagtail

vagrant-wagtail-develop

A script to painlessly set up a Vagrant environment for development of Wagtail.

👋 Are you interested in a Docker-based environment? Check out docker-wagtail-develop.

Features

  • An Ubuntu 22.04 (Jammy Jellyfish) base image
  • Checkouts of Wagtail, bakerydemo, django-modelcluster and Willow ready to develop against
  • Node.js / npm toolchain for front-end asset building
  • Elasticsearch 5 installed (but disabled by default to make the VM less resource-heavy)
  • Optional packages installed (PostgreSQL, Embedly, Sphinx...)
  • Virtualenv for Python 3.9

Setup

Requirements: Vagrant, and a compatible version of VirtualBox.

Open a terminal and follow those instructions:

# 1. Decide where to put the project. We use "~/Development" in our examples.
cd ~/Development
# 2. Clone the vagrant-wagtail-develop repository in a new "wagtail-dev" folder.
git clone [email protected]:wagtail/vagrant-wagtail-develop.git wagtail-dev
# 3. Move inside the new folder.
cd wagtail-dev/
# 4. Run the setup script. This will set up all required dependencies for you.
./setup.sh

Note: On platforms that can't run shell scripts, run the commands from setup.sh manually instead.

It can take a while (typically 15-20 minutes) to fetch and build all dependencies - you could go for a coffee in the meantime :)

Here is the resulting folder structure:

.
├── libs          # Supporting libraries to develop Wagtail against.
├── vagrant       # Vagrant-related files.
├── wagtail       # Wagtail repository / codebase.
└── bakerydemo    # Wagtail Bakery project used for development.

Once setup is over,

# 5. ssh into your new Vagrant virtual machine.
vagrant ssh
# 6. Start up the bakerydemo development server.
./manage.py runserver 0.0.0.0:8000
# Success!

Alternatively, if you're using VSCode and have the "Remote - SSH" extension, you can connect VSCode to the vagrant VM directly. This allows for much deeper debugging. Once connected, open the /vagrant directory. A debug launch.json is included and ready to go.

Once wagtail is up and running,

What you can do

Note: all of those commands are meant to be used inside the Vagrant virtual machine. To get there, go to your local Wagtail (cd ~/Development/wagtail-dev) set up and vagrant up then vagrant ssh.

Start the bakerydemo server:

./manage.py runserver 0.0.0.0:8000
# Then visit http://localhost:8000 in your browser.

Run the tests:

cd /vagrant/wagtail
# Python tests.
./runtests.py
# Node tests.
npm run test

Run the linting:

cd /vagrant/wagtail
# Python linting.
make lint
# JavaScript linting.
npm run lint

Build front-end assets:

cd /vagrant/wagtail
npm run build

Start front-end development tools and file watching:

cd /vagrant/wagtail
npm run start

Build the documentation:

cd /vagrant/wagtail/docs
make html

Start Elasticsearch:

sudo service elasticsearch start

To enable Elasticsearch on bakerydemo, add the following to bakerydemo/settings/local.py:

WAGTAILSEARCH_BACKENDS = {
    'default': {
        'BACKEND': 'wagtail.search.backends.elasticsearch5',
        'URLS': ['http://localhost:9200'],
        'INDEX': 'wagtail',
        'TIMEOUT': 5,
        'OPTIONS': {},
        'INDEX_SETTINGS': {},
    }
}

Getting ready to contribute

Here are other actions you will likely need to do to make your first contribution to the project.

Set up git remotes to Wagtail forks (run these lines outside of the Vagrant VM):

cd ~/Development/wagtail-dev/wagtail
# Change the default origin remote to point to your fork.
git remote set-url origin [email protected]:<USERNAME>/wagtail.git
# Add wagtail/wagtail as the "upstream" remote.
git remote add upstream [email protected]:wagtail/wagtail.git
# Add springload/wagtail as the "springload" remote.
git remote add springload [email protected]:springload/wagtail.git
# Add gasman/wagtail as the "gasman" remote.
git remote add gasman [email protected]:gasman/wagtail.git
# Pull latest changes from all remotes / forks.
git pull --all
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].