Pre-heated Boilerplate with common defaults to get started quickly
- Pre-build Docker Image with DjangoCMS
- Pre-themed with Bootstrap-5, Font-Awesome and Simple-Icons
- minimal site configuration in yaml
config.yml
- teams
see Roadmap for planned features
minimal configuration can be found in example/
:
config.yml
: minimal configuration wrapperstatic
: static and theme files (theme.scss
,theme.js
)templates
: custom templates (page templates defined inconfig.yml
and overwrite defaults)
place templates in config/templates/
defaults that can be overwritten:
- base.html: defined blocks `title`, `css`, `content`, `js`
- css.html:
- header.html
- navigation.html
- nav-items.html
- languages.html
- footer.html
default.html
single-page.html
(render all plugins of sub-pages)
<img alt="logo" src="{% static 'logo.png' %}" class="logo" data-logo-light="{% static 'logo.png' %}" data-logo-dark="{% static 'logo-dark.png' %}" />
theme.scss
/* custom theme */
// custom css
@import "../../node_modules/bootstrap/scss/bootstrap";
logo.png
favicon.ico
theme.scss
extras.css
theme.js
cp -R example/ config/
docker compose up -d
docker compose exec cms poetry run python /app/src/manage.py migrate
docker compose exec cms poetry run python /app/src/manage.py boil
demo
:demo
Update UserSettings
see docker-compose-test.yml
for orientation (do not use in production)
poetry install
npm install
cp -R example/ config
./manage.py migrate
./manage.py cms check
./manage.py boil
docker compose up postgres
docker compose up redis
docker compose build --no-cache
docker compose -f docker-compose-test.yml up
docker compose -f docker-compose-test.yml run job-migrate
docker compose -f docker-compose-test.yml run job-once
docker compose -f docker-compose-test.yml exec static ls /usr/share/nginx/html/{static,media}
docker compose -f docker-compose-test.yml exec cms poetry run python /app/manage.py boil
docker compose -f docker-compose-test.yml exec cms bash
if at any point you decide to break out of the constraints of this projects or remove it as a dependency to bake your own, you can follow these vague steps (untested):
- fork repository
- remove use of
env()
andconfig()
insettings.py
- migrate values of
config.yml
tosettings.py
- move templates from
config/templates
tosrc/templates/
- move static files from
config/static
tosrc/static/
- create and publish your own docker image
- update
image:
in your deployment
this project wouldn't be possible without open source
for a full list see pyproject.toml
for a full list see package.json