No description
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-10-29 19:39:34 +01:00
.forgejo/workflows Use variable for registry url 2026-10-29 19:32:48 +01:00
README.md Update README.md 2026-10-29 19:39:34 +01:00

Overleaf CEP Builder

Automated build system for Overleaf Community Edition Plus (CEP) Docker images.

Overview

This repository provides automated CI/CD workflows that monitor the Kevin/overleaf-cep mirror repository and automatically build Docker images when new commits are detected.

Workflows

Poll Mirror (poll-mirror.yaml)

Runs every midnight to check for new commits in the upstream repository.

  • Compares the current SHA of the ext-ce branch in Kevin/overleaf-cep against the last successfully built SHA
  • If changes are detected, triggers the build workflow automatically
  • Requires no manual intervention

Build Docker (build-docker.yaml)

Builds and publishes Docker images for Overleaf CEP.

Trigger: Manually via workflow dispatch or automatically by the poll-mirror workflow

Inputs:

  • sha: Commit SHA from the mirror repository to build

Build Process:

  1. Checks out the Kevin/overleaf-cep repository at the specified commit SHA
  2. Builds the base Overleaf image
  3. Builds the community edition image
  4. Tags the CE image with both latest and date-based tags (format: YYYYMMDD)
  5. Pushes CE image to Harbor registry

Required Configuration

Secrets

  • GIT_TOKEN: Authentication token for Forgejo API access
  • HARBOR_USER: Harbor registry username
  • HARBOR_PASSWORD: Harbor registry password

Variables

  • GIT_URL: Base URL for the Forgejo instance
  • REGISTRY_URL: Base URL for the docker registry
  • SHARELATEX_IMAGE: Full image path for ShareLaTeX (e.g., harbor.kvbsystems.be/overleaf/sharelatex)

Built Image

This workflow produces the following Docker image:

  1. ShareLaTeX: Main Overleaf application server

Images are tagged with:

  • latest: Always points to the most recent build
  • YYYYMMDD: Date-stamped version for specific builds

Manual Trigger

To manually trigger a build:

curl -X POST \
  -H "Authorization: Bearer $GIT_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"ref": "main", "inputs": {"sha": "COMMIT_SHA_HERE"}}' \
  "$GIT_URL/api/v1/repos/Kevin/overleaf-cep-builder/actions/workflows/build-docker.yaml/dispatches"

Or use the Forgejo web interface to trigger the workflow with a specific commit SHA.