Setting Up Wagtail as a GSoC 2026 Applicant — From Zero to Dev Environment
Who am I
My name is Abhishek Bijjargi and I am a first year B.Tech Computer
Science student at COEPTech University, Pune, India. I am applying
for Google Summer of Code 2026 with Wagtail and this post documents
my complete journey of setting up the Wagtail development environment
from scratch on Windows — including every challenge I hit and how I
solved it.
Why Wagtail
Wagtail is one of the most widely used open source CMS platforms built
on top of Django and Python. As someone who has built full stack
projects using Django — including CyberVision, a cybersecurity scanning
platform — Wagtail felt like a natural fit for GSoC 2026. The community
is welcoming, the codebase is mature and well structured, and the
project ideas are genuinely impactful.
Part 1 — Completing the Django Tutorial
Before touching Wagtail, I completed the official Django 6.0 tutorial
which is a mandatory requirement for Wagtail GSoC applicants. This
covered building a fully functional polls web application from scratch.
What the tutorial covered
- Setting up a Django project and app structure
- Creating models and running migrations
- Building views, templates and URL routing
- Setting up the Django admin panel
- Adding static files and CSS styling
- Writing automated tests
Running it
After completing the tutorial my polls app was live at
http://127.0.0.1:8000/polls/ with a green background, working
voting functionality and a fully functional admin panel.
Wagtail Bakery tutorial with admin panel (video)
The completed Django tutorial repository is here:
GitHub
Part 2 — Wagtail Bakery Demo Tutorial
With Django basics solid, I moved to the Wagtail Bakery Demo — the
official demonstration site that Wagtail requires all GSoC applicants
to set up.
Step 1 — Clone the Bakery Demo
git clone https://github.com/wagtail/bakerydemo.git
cd bakerydemo
Step 2 — Create and activate a virtual environment
python -m venv venv
venv\Scripts\activate
Step 3 — Install dependencies
pip install -r requirements/development.txt
This takes a few minutes as it pulls in Wagtail and all its
dependencies.
Step 4 — Create local config files
copy bakerydemo\settings\local.py.example bakerydemo\settings\local.py
copy .env.example .env
Step 5 — Set up the database and load demo data
python manage.py migrate
python manage.py load_initial_data
Step 6 — Run the server
python manage.py runserver
The Wagtail Bakery demo site was now live at http://127.0.0.1:8000/
with a full bakery website including bread listings, blog posts and
location pages.
Admin credentials: username admin / password changeme
Part 3 — Wagtail Dev Environment Setup via Docker
This was the most involved part. Setting up Wagtail's actual source
code for contributing requires Docker on Windows. Here is the exact
process I followed.
Why Docker
On Windows, Wagtail's development environment is best set up using
Docker. The docker-wagtail-develop repository provides everything
needed — the Wagtail source code, the bakery demo site, Elasticsearch,
PostgreSQL and a frontend builder all wired together.
Step 1 — Clone the required repositories
mkdir wagtail-contrib
cd wagtail-contrib
git clone https://github.com/wagtail/docker-wagtail-develop.git wagtail-dev
cd wagtail-dev
git clone https://github.com/wagtail/bakerydemo.git
git clone https://github.com/wagtail/wagtail.git
Step 2 — Clone the missing Willow library
This step is not documented anywhere officially but is required.
Without it Docker compose will fail with a /libs/Willow: not found
error.
mkdir libs
cd libs
git clone https://github.com/wagtail/Willow.git Willow
cd ..
Step 3 — Start Docker containers
docker compose up
This downloads and builds all required images including Elasticsearch,
PostgreSQL, the Node.js frontend builder and the Python web container.
The first run takes around 15 to 20 minutes — be patient here.
Step 4 — Run migrations and load data
In a second terminal window while the first is still running:
docker compose exec web python manage.py migrate
docker compose exec web python manage.py load_initial_data
Step 5 — Verify the setup
Visited http://localhost:8000/ and saw the Wagtail Bakery site
running on my local copy of Wagtail's source code.
This means any edits I make to the Wagtail source code in the
wagtail folder will immediately reflect on the running site —
perfect for contributing.
Challenges I Faced and How I Fixed Them
Challenge 1 — setup.sh not running on Windows
The ./setup.sh script failed in Command Prompt with:
'.' is not recognized as an internal or external command
Fix: Manually cloned each required repository individually instead
of relying on the shell script.
Challenge 2 — Missing Willow library
Docker compose failed with:
/libs/Willow: not found
Fix: Manually cloned the Willow repository from GitHub into a libs
folder inside the wagtail-dev directory.
Challenge 3 — Wagtail admin CSS missing warning
Got a warning about missing admin CSS files on startup. This resolved
automatically once the frontend Docker container finished building the
static assets — which takes around 20 minutes on first run.
What I Learned
Setting up a production-grade open source development environment on
Windows is significantly different from setting up a personal project.
It requires understanding Docker containers, volume mounts, service
dependencies and multi-container orchestration. This experience gave
me real confidence that I can navigate Wagtail's codebase and
contribute meaningfully.
My Projects
As part of my GSoC 2026 application preparation I have also built:
CyberVision — AI powered cybersecurity scanning platform using
Django, OpenCV, Docker, Celery and AI integrations
GitHub
LendSynthetix — Multi-agent AI credit underwriting engine using
LangGraph, XGBoost and RAG
GitHUb
Django Polls Tutorial
GitHub
Next Steps
- Find and fix a good first issue in the Wagtail repository
- Submit my GSoC 2026 proposal draft for mentor feedback
- Continue engaging with the Wagtail community on Slack
Connect
GitHub: GitHub
Email: abhishekbijjargi4@gmail.com
If you are also applying for GSoC 2026 with Wagtail feel free to
reach out — happy to compare notes!
Top comments (1)
👍🏻👍🏻