2026-09-01 14:04:00 -03:00
2025-05-30 15:50:16 -03:00
2026-10-23 11:33:46 -06:00
2026-10-22 17:40:29 -03:00
2026-08-05 16:12:05 -03:00
2026-10-29 16:23:54 +00:00
2026-08-14 17:47:24 -06:00
2025-04-04 09:32:59 -03:00
2025-03-03 14:08:48 -03:00
2026-09-01 14:04:00 -03:00
2026-06-17 16:02:21 -03:00
2026-08-05 16:14:39 -03:00
2025-03-03 14:10:06 -03:00
2026-08-18 16:54:24 -03:00
2025-03-05 18:11:19 -03:00
2025-03-03 17:54:25 -03:00
2026-09-14 14:21:17 -03:00
2025-12-17 16:45:32 -03:00

Co-op Cloud Website

Jekyll site and theme for the Co-op Cloud Federation, based on Sutty Base Bootstrap 5.

What is in this repository

This repository contains both the theme and the site content:

  • Jekyll 4.4 with Bootstrap 5
  • English content in _en/ and Spanish content in _es/ (only English is currently enabled)
  • Page layouts in _layouts/ and reusable components in _includes/
  • Custom plugins in _plugins/, including generated recipe and taxonomy pages
  • Static search with Pagefind
  • ActivityPub support through jekyll-activity-pub
  • JavaScript built with esbuild, Stimulus, and Turbo

Content is normally written in the Sutty CMS, which commits to this repository.

Run locally with Docker

Requirements:

  • Docker with Compose v2, or Podman with podman-compose
  • Git LFS
git lfs install
git lfs pull
docker compose up --build

Open http://localhost:4000.

The first run takes a few minutes because it installs gems, compiles native extensions, and builds the site.

With rootless Podman:

podman-compose -f compose.yaml -f compose.podman.yaml up --build

Docker is for local development only. It does not deploy the site.

Common commands

docker compose logs -f          # follow logs
docker compose down             # stop
docker compose down -v          # stop and reset dependencies
docker compose run --rm setup   # reinstall after dependency changes

One-off build:

docker compose run --rm jekyll \
  bundle exec jekyll build --config _config.yml,_config.docker.yml

Repository layout

_en/, _es/      Site content
_data/          CMS schemas, translations, recipe data
_layouts/       Page templates
_includes/      Reusable Liquid components
_plugins/       Custom Jekyll plugins
_sass/, assets/ Styles, fonts, and JavaScript
docker/dev/     Docker image, setup script, and dev Gemfile
compose.yaml    Local development environment
_config.yml     Jekyll configuration

Notes

  • The production Gemfile.lock uses Sutty's gem server and musl-native gems that are not available on rubygems.org. The Docker setup therefore uses a separate docker/dev/Gemfile and lockfile. Some versions may differ from production.
  • Fonts, images, assets/js/pack.*, and _bin/pagefind are stored with Git LFS. The site will not build correctly without git lfs pull.
  • The setup service generates privkey.pem and pack.js. Do not commit privkey.pem.
  • The Fork Awesome subset is committed. Regenerate it with ./_bin/subset_fork_awesome.sh after changing _data/fa.yml, then commit it.
  • Change pack.js only through the js service; edit sources in _packs/.

Troubleshooting

  • LFS error during setup: run git lfs pull.
  • Connection refused from another machine: the server listens on 0.0.0.0:4000; allow TCP ports 4000 and 35729 in the host firewall.
  • Port already in use: change the host ports in compose.yaml.
  • Broken dependency state: run docker compose down -v and start again.

License

The theme is distributed under the Anti-Fascist MIT License. See LICENSE.txt.

S
Description
No description provided
Readme
38 MiB
Languages
HTML 36.9%
JavaScript 24.4%
SCSS 22%
Ruby 15.9%
Shell 0.8%