🔔 Subscribe to don't miss any update regarding Chevereto.
Dockerfile driven template project for building images and manage containers for Chevereto V4 projects. Go to GitHub Container Registry or Docker Hub for ready to use tagged images/versions.
Warning: Do not publish Docker images to a public registry when using a paid Chevereto edition as its commercial license restricts re-distribution rights.
We offer a paid installation service for this guide. We will install Chevereto Docker for you, including all the requirements and configurations.
- One-click commands using
make
- Built-in HTTP ingress using nginx-proxy for multiple instances
- Automatic renewable HTTPS using Let's Encrypt
- One-click Chevereto updates
- Integrated with CloudFlare API (automatic sub-domain handling)
- Pure Docker instructions
To follow this guide, make sure you have:
- Ubuntu server with shell access and public IP address.
- Domain managed by CloudFlare (if using this integration)
- Chevereto license (required for the paid edition)
Run the following command to install this project and all its dependencies in your brand new Ubuntu 24.04 server.
bash <(curl -s https://chevereto.com/sh/ubuntu/24.04/docker.sh)
Create configuration file at .env
by running this command.
make env
Run the following command to setup the system.
make setup
If using Chevereto paid edition, build the Chevereto image by running this command.
make image
To deploy a new website use the following command format.
make deploy NAMESPACE=yourproject ADMIN_EMAIL=admin@domain.tld
Replace yourproject
with the desired project name and admin@domain.tld
with the admin email for the website.
To destroy a website use the following command format.
make destroy NAMESPACE=yourproject
Replace yourproject
with the desired project name to destroy.
To alter a website edit ./namespace/yourproject
to reflect the new variables and run the following commands.
make down NAMESPACE=yourproject
make up-d NAMESPACE=yourproject
Note
If you can't build the paid image you can use the free edition image and upgrade to paid within the application itself. To do this, pass the environment CHEVERETO_SERVICING=server
to the container runtime and go to /dashboard?license
to enter the license and proceed with the upgrading process.
If you want full control of the container provisioning you can get the container running with the following command.
docker run -d \
--name chevereto \
-p 80:80 \
-e CHEVERETO_DB_HOST=database \
-e CHEVERETO_DB_USER=chevereto \
-e CHEVERETO_DB_PASS=user_database_password \
-e CHEVERETO_DB_PORT=3306 \
-e CHEVERETO_DB_NAME=chevereto \
-e CHEVERETO_ASSET_STORAGE_TYPE=local \
-e CHEVERETO_ASSET_STORAGE_URL=/images/_assets/ \
-e CHEVERETO_ASSET_STORAGE_BUCKET=/var/www/html/images/_assets/ \
-e CHEVERETO_MAX_POST_SIZE=2G \
-e CHEVERETO_MAX_UPLOAD_SIZE=2G \
-e CHEVERETO_SERVICING=server \
-v /var/www/html/images/ \
ghcr.io/chevereto/chevereto:latest
See PURE-DOCKER for a complete pure Docker command reference, including how to run Chevereto paid edition.
- Clone this repository chevereto/docker (see SETUP)
git clone https://github.com/chevereto/docker.git
- Get Docker in your Ubuntu server
make install-docker
You may also check Docker for Desktop and Docker Engine (servers) instructions.
- Create
.env
configuration file
make env
- Create Cron (see SETUP)
make cron
- Create nginx-proxy
make proxy EMAIL_HTTPS=mail@yourdomain.tld
Omit this step when using free edition as the image is available at GHCR.
- Create Chevereto image (see SETUP)
make image
- Setup a NAMESPACE for your website project
make namespace NAMESPACE=yourproject HOSTNAME=yourdomain.tld