This is a starter kit for a Wagtail project. It includes a Docker setup for local development, a basic project structure, and some useful tools and libraries.
You can use this project as a starting point for your own Wagtail projects and build upon it as needed.
- Docker Development Environment
- Postgresql, Mysql or Sqlite3 Database
- Frontend Node SASS and Javascript compilation
- Pico CSS for almost classless styling
- esbuild javascript bundler
- Wagtail CMS v6.3
Required:
- Python >= 3.10 (developemnt and deployment)
- Docker (for local development)
- Docker Compose (for local development)
- Node.js (for frontend build tools) (for frontend build tools in development)
Optional:
- Git (optional, for version control)
- Make (optional, for running commands)
- NVM (optional, for managing Node versions)
- pre-commit (optional, for running code checks)
- UV (optional, for managing Python dependencies)
- Clone this repository https://github.com/wagtail-examples/wagtail-starter-kit.git to a location on your computer
- Change into the project directory
- Run
make buildto build the Docker containers - Run
make upto start the Docker containers - Run
make migrateto apply database migrations - Run
make superuserto create a superuser - Run
make runto start the Django development server
There is a make command to run most of the steps above in one go:
make quickstartYou'll need to run make superuser separately.
If you haven't made changes to the configuration the app will have available the following services for use in development:
- Use sqlite as the database
- A mail utility will be available at http://localhost:8025
- A database management utility will be available at http://localhost:8080
The project uses Pico CSS for styling. It's a minmal setup that you can build on.
When you first run the project you may notice that no styling is applied. This is because the first time you run the project with make up the compiled frontend files might not be available. Just run the frontend build script and refresh the page. Read on
The project uses Docker for local development. The Wagtail project is in the app directory. The project is set up to use a SQLite database by default. You can change this to use Mysql or Postgres. Read on
The site will be available at http://localhost:8000.
The Wagtail admin interface will be available at http://localhost:8000/admin.
Currenyly there is no deployment setup included in this project. You could try this Wagtail deployment guide for some ideas.
- How to deploy a Wagtail site to PythonAnywhere, this does need you to have a paid account with PythonAnywhere.
- This example is a fork of this starter kit which has documentation on how to deploy to PythonAnywhere, using a free account.
There are 2 branches that you can use to explore more features of the project:
- Wagtail 'Getting Started Tutorial' PR Is a run through of the official Wagtail Getting Started tutorial where a simple blog is created.
- Wagtail 'Extended Tutorial' Is a run through of the official Wagtail Extended Tutorial where the Getting Started Tutorial is extended to include more features.
If you have any suggestions or improvements, please open an issue or a pull request.
This project is licensed under the MIT License - see the LICENSE file for details.
