/chevereto-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

Community

Dockerfile driven template project for building images and manage containers for Chevereto V4 projects.

Warning: Do not publish Docker images to a public registry when using a paid Chevereto edition as its commercial license restricts re-distribution rights.

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:

  • A Ubuntu server with shell access and public IP address.
  • A domain managed by CloudFlare (if using integration)
  • A 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 22.04 server.

bash <(curl -s https://chevereto.com/sh/ubuntu/22.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={namespace} ADMIN_EMAIL={email}

Replace {namespace} with the desired project name and {email} with the admin email for the website.

Destroying websites

To destroy a website use the following command format.

make destroy NAMESPACE={namespace}

Replace {namespace} with the desired project name to destroy.

Pure Docker

If you want full control of the container provisioning you can get our base image at:

ghcr.io/chevereto/chevereto:latest

You can get this 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/ \
  -v /var/www/html/images/ \
  ghcr.io/chevereto/chevereto:latest

See PURE-DOCKER for a complete pure Docker command reference.

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