Tiny Content Management System. It's almost a static web site! There is no database. Navigation is generated on available content.
Content is in Twig format, using Bootstrap 5. It is located in the data/user_content/views
folder. The file index.twig
will be the default page, and will not be shown in nav. Other files will be shown in the nav. You can create folders to create sub menus. To use a space in a name, you can use an underscore (_).
Exemple:
- index.twig
- about_me.twig
- test/hello.twig
It is possible to host and refer to static files. They are located in data/user_content/static
. The url is /static/
. Those file are served directly by the HTTP server.
- Install docker
- Build the docker image and start it
make build
make up
- Install docker
- Create a new folder and use this doceker-compose
services:
php:
image: ghcr.io/sirber/tiny-cms:latest
environment:
- APP_ENV=dev
volumes:
- ./site:/app/data/user_content/:rw
ports:
- 80:80
- Run:
docker compose up -d
- start your site in
./site/views/index.twig
Production image will cache templates for increased performance. You can use this docker-compose.yml
:
services:
cms:
image: ghcr.io/sirber/tiny-cms:latest
environment:
- APP_ENV=prod
volumes:
- ./site:/app/data/user_content/:r
ports:
- 80:80
Add your site to ./site
.