chevereto / docker

Template project for deploying Chevereto V4 based applications using Docker
https://v4-docs.chevereto.com/guides/docker/
MIT License
55 stars 16 forks source link
chevereto container docker

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

Requirements

To follow this guide, make sure you have:

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. 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.

Manual setup

git clone https://github.com/chevereto/docker.git
make install-docker

You may also check Docker for Desktop and Docker Engine (servers) instructions.

make env
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.

make image

Create a NAMESPACE

make namespace NAMESPACE=yourproject HOSTNAME=yourdomain.tld

Documentation