/docker

Template project for deploying Chevereto V4 based applications using Docker

Primary LanguageShellMIT LicenseMIT

Docker

🔔 Subscribe to don't miss any update regarding Chevereto.

Chevereto

Chevereto Docs Chevereto Community Chevereto Discord Chevereto Demo

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.

Installation service available

We offer a paid installation service for this guide. We will install Chevereto Docker for you, including all the requirements and configurations.

Features

  • 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

Requirements

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)

Quick-start

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

Deploying websites

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.

Destroying websites

To destroy a website use the following command format.

make destroy NAMESPACE=yourproject

Replace yourproject with the desired project name to destroy.

Altering existing websites

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

Pure Docker

Note

If you can't build the paid image you can use the free edition image and upgrade to paid within the application itself. Go to PURE-DOCKER to learn how.

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_MAX_POST_SIZE=2G \
  -e CHEVERETO_MAX_UPLOAD_SIZE=2G \
  -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.

Manual 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
make proxy EMAIL_HTTPS=mail@yourdomain.tld

Build Chevereto image

Omit this step when using free edition as the image is available at GHCR.

  • Create Chevereto image (see SETUP)
make image

Create a NAMESPACE

make namespace NAMESPACE=yourproject HOSTNAME=yourdomain.tld

Documentation