Installation

Docker on the server, one compose file, one command. No database server, no build chain, no dependence on third-party services.

In three steps

Create the compose file

Create a docker-compose.yml on your server with the content below.

Start

docker compose up -d pulls the image and starts MatCMS.

Sign in

Open the address in your browser, sign in and follow the setup wizard.

docker-compose.yml

services:
  matcms:
    image: ghcr.io/real-ttx/matcms:latest
    container_name: matcms
    restart: unless-stopped
    ports:
      - "9101:8080"
    volumes:
      - matcms-data:/app/appdata   # database, keys, media, backups

volumes:
  matcms-data:
docker compose up -d

Afterwards MatCMS is reachable at http://your-server:9101. The first sign-in is admin / admin — change the password right away in the setup wizard. For your own domain with HTTPS, put a reverse proxy such as Caddy or Nginx in front.

Frequent questions

What do I need on the server?

Docker with Compose. MatCMS brings everything else: the database is SQLite and sits as a file in the volume, a separate database server is not needed.

How do I update MatCMS?

docker compose pull and then docker compose up -d. Content, settings and keys stay in the volume; changes to the database are applied by MatCMS itself on start. With the optional cloud the update is a single click.

Where is my data?

All in one volume: database, keys, uploaded media and scheduled backups. Whoever backs up the volume backs up the whole website.

Can I run several websites?

Yes. One installation is one website; further websites run as further containers side by side. The MatCMS Cloud helps you maintain many of them centrally — but it is not a must.

How do I move an existing website?

Under “Backup” you export the website as a ZIP and import it into the new installation — completely or only selected parts.

More questions about the installation?

We're glad to help.

Contact