Install EasyWeb 2.0 with Docker

This guide runs EasyWeb 2.0 with PostgreSQL using Docker Compose.

Navigation:

Docker Package

The EasyWeb Docker package is published via GitHub Packages:

Choose the desired tag (e.g. latest).

1) Create a docker-compose.yml

Use examples/docker-compose.yml from this repository.

It uses:

  • ghcr.io/easysystems-gmbh/easyweb:latest

If you want a pinned release, change latest to a specific tag.

You can also copy it quickly:

cp examples/docker-compose.yml docker-compose.yml

Direct link:

2) Start services

docker compose up -d

3) Open EasyWeb

Default admin login:

  • Email: admin@easyweb.local
  • Password: EasyWeb!2026

Use the CMS to edit pages (WYSIWYG), manage page sliders, upload images, and edit navigation. See CMS admin.

4) Theme and site content

The compose example sets Themes__DefaultRootPath=/app/Themes/site. On first start the container entrypoint seeds the bundled demo theme into that folder on the easyweb_themes volume.

# Install CLI first — see docs/cli.md
easyweb create-theme MySite ./workspace
cd ./workspace
easyweb validate .

Organize a deployable site repo:

my-site/
  theme/    # from create-theme output (move files into theme/)
  pages/

Publish to the running instance:

export EASYWEB_BASE_URL=http://localhost:5055
export EASYWEB_USERNAME=admin
export EASYWEB_PASSWORD=EasyWebRemote!2026
export EASYWEB_ADMIN_EMAIL=admin@easyweb.local
export EASYWEB_ADMIN_PASSWORD=EasyWeb!2026

easyweb publish . --default-culture de

After editing in the CMS admin, pull changes back to git:

easyweb pull .

Option B — Basic Demo Theme repository

Clone EasyWeb 2.0 Basic Demo Theme and publish its theme/ and pages/ folders with easyweb publish ..

Notes

  • For production, change secrets and switch to secure credentials and environment values.
  • WebDAV uses RemoteEditing__* credentials; CMS pull uses Seed__AdminEmail / Seed__AdminPassword (see CLI).