{"id":20682243,"url":"https://github.com/yobasystems/alpine-grav","last_synced_at":"2025-04-22T12:20:49.989Z","repository":{"id":53918400,"uuid":"80882443","full_name":"yobasystems/alpine-grav","owner":"yobasystems","description":"Grav running on Alpine Linux [Docker]","archived":false,"fork":false,"pushed_at":"2025-02-25T20:35:52.000Z","size":87,"stargazers_count":14,"open_issues_count":0,"forks_count":12,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-29T15:04:34.272Z","etag":null,"topics":["alpine","alpine-grav","docker-image","dockerfile","grav","yobasystems"],"latest_commit_sha":null,"homepage":"https://hub.docker.com/r/yobasystems/alpine-grav/","language":"Dockerfile","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/yobasystems.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-02-04T00:56:54.000Z","updated_at":"2024-08-19T21:20:44.000Z","dependencies_parsed_at":"2024-08-20T01:12:27.329Z","dependency_job_id":"385ec204-fbd9-4cb0-b5fb-64849612ef8f","html_url":"https://github.com/yobasystems/alpine-grav","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yobasystems%2Falpine-grav","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yobasystems%2Falpine-grav/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yobasystems%2Falpine-grav/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yobasystems%2Falpine-grav/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/yobasystems","download_url":"https://codeload.github.com/yobasystems/alpine-grav/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250237851,"owners_count":21397403,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["alpine","alpine-grav","docker-image","dockerfile","grav","yobasystems"],"created_at":"2024-11-16T22:13:06.480Z","updated_at":"2025-04-22T12:20:49.900Z","avatar_url":"https://github.com/yobasystems.png","language":"Dockerfile","funding_links":["https://www.buymeacoffee.com/dominictayloruk?new=1"],"categories":[],"sub_categories":[],"readme":"# Grav container image running on Alpine Linux\n\n[![Docker Automated build](https://img.shields.io/docker/automated/yobasystems/alpine-grav.svg?style=for-the-badge\u0026logo=docker)](https://hub.docker.com/r/yobasystems/alpine-grav/)\n[![Docker Pulls](https://img.shields.io/docker/pulls/yobasystems/alpine-grav.svg?style=for-the-badge\u0026logo=docker)](https://hub.docker.com/r/yobasystems/alpine-grav/)\n[![Docker Stars](https://img.shields.io/docker/stars/yobasystems/alpine-grav.svg?style=for-the-badge\u0026logo=docker)](https://hub.docker.com/r/yobasystems/alpine-grav/)\n\n[![Alpine Version](https://img.shields.io/badge/Alpine%20version-v3.20.2-green.svg?style=for-the-badge)](https://alpinelinux.org/)\n[![Grav Version](https://img.shields.io/badge/grav%20version-v1.7.46-green.svg?style=for-the-badge)](https://getgrav.org/)\n\n\nThis container image [(yobasystems/alpine-grav)](https://hub.docker.com/r/yobasystems/alpine-grav/) is based on the minimal [Alpine Linux](https://alpinelinux.org/) ready for running [Grav](https://getgrav.org/) (Flat file CMS)\n\n### Alpine Version 3.20.2 (Released 2024-07-22)\n##### Grav Version 1.7.46\n\n----\n\n## Table of Contents\n\n- [What is Alpine Linux?](#what-is-alpine-linux)\n- [Features](#features)\n- [Architectures](#architectures)\n- [Tags](#tags)\n- [Layers \u0026 Sizes](#layers--sizes)\n- [How to use this image](#how-to-use-this-image)\n- [Image contents \u0026 Vulnerability analysis](#image-contents--vulnerability-analysis)\n- [Source Repositories](#source-repositories)\n- [Container Registries](#container-registries)\n- [Links](#links)\n- [Donation](#donation)\n\n\n## 🏔️ What is Alpine Linux?\nAlpine Linux is a Linux distribution built around musl libc and BusyBox. The image is only 5 MB in size and has access to a package repository that is much more complete than other BusyBox based images. This makes Alpine Linux a great image base for utilities and even production applications. Read more about Alpine Linux here and you can see how their mantra fits in right at home with container images.\n\n## ✨ Features\n\n* Minimal size only, minimal layers\n* Memory usage is minimal on a simple install.\n\n\n## 🏗️ Architectures\n\n* ```:amd64```, ```:x86_64``` - 64 bit Intel/AMD (x86_64/amd64)\n* ```:arm64v8```, ```:aarch64``` - 64 bit ARM (ARMv8/aarch64)\n* ```:arm32v7```, ```:armhf``` - 32 bit ARM (ARMv7/armhf)\n\n#### 📝 PLEASE CHECK TAGS BELOW FOR SUPPORTED ARCHITECTURES, THE ABOVE IS A LIST OF EXPLANATION\n\n## 🏷️ Tags\n\n* ```:latest``` latest branch based (Automatic Architecture Selection)\n* ```:master``` master branch usually inline with latest\n* ```:deliver-site``` deliver-site branch based (Automatic Architecture Selection)\n* ```:one-page``` one-page branch based (Automatic Architecture Selection)\n* ```:amd64```, ```:x86_64```  amd64 based on latest tag but amd64 architecture\n* ```:aarch64```, ```:arm64v8``` Armv8 based on latest tag but arm64 architecture\n* ```:armhf```, ```:arm32v7``` Armv7 based on latest tag but arm32 architecture\n\n## 📏 Layers \u0026 Sizes\n\n![Version](https://img.shields.io/badge/version-amd64-blue.svg?style=for-the-badge)\n![MicroBadger Layers (tag)](https://img.shields.io/docker/layers/yobasystems/alpine-grav/amd64.svg?style=for-the-badge)\n![MicroBadger Size (tag)](https://img.shields.io/docker/image-size/yobasystems/alpine-grav/amd64.svg?style=for-the-badge)\n\n![Version](https://img.shields.io/badge/version-aarch64-blue.svg?style=for-the-badge)\n![MicroBadger Layers (tag)](https://img.shields.io/docker/layers/yobasystems/alpine-grav/aarch64.svg?style=for-the-badge)\n![MicroBadger Size (tag)](https://img.shields.io/docker/image-size/yobasystems/alpine-grav/aarch64.svg?style=for-the-badge)\n\n![Version](https://img.shields.io/badge/version-armhf-blue.svg?style=for-the-badge)\n![MicroBadger Layers (tag)](https://img.shields.io/docker/layers/yobasystems/alpine-grav/armhf.svg?style=for-the-badge)\n![MicroBadger Size (tag)](https://img.shields.io/docker/image-size/yobasystems/alpine-grav/armhf.svg?style=for-the-badge)\n\n## 🚀 How to use this image\n## Environment Variables:\n\n## Creating an instance\n\n```bash\nmkdir -p /data/{domain}/html\n\ndocker run -e VIRTUAL_HOST={domain}.com,www.{domain}.com -v /data/{domain}/html:/usr/html -p 80:80 yobasystems/alpine-grav\n```\n\nE.G\n\n```bash\nmkdir -p /data/yobasystems/html\n\ndocker run -e VIRTUAL_HOST=www.yobasystems.co.uk -v /data/yobasystems/html:/usr/html -p 80:80 yobasystems/alpine-grav\n```\n\nMake sure you create the folder on the host before starting the container and obtain the correct permissions.\n\n```bash\n\nmkdir -p /data/{domain}/html\n\ndocker run -e VIRTUAL_HOST={domain}.com,www.{domain}.com -v /data/{domain}/html:/usr/html -p 80:80 yobasystems/alpine-grav\n\nE.G\n\nmkdir -p /data/yobasystems/html\n\ndocker run -e VIRTUAL_HOST=www.yobasystems.co.uk -v /data/yobasystems/html:/usr/html -p 80:80 yobasystems/alpine-grav\n```\n\nThe following user and group id are used, the files should be set to this:\nUser ID:\nGroup ID:\n\n```bash\nchown -R 100:101 /data/{domain}/html\n\nE.G\n\nchown -R 100:101 /data/yobasystems/html\n```\n\nThe container image will auto create the folder and populate with files if it doesn't exist. Make sure to mount /data/{domain}/html with your Backup files.\n\n\nThe following user and group id are used, the files should be set to this:\nUser ID:\nGroup ID:\n\n```bash\nchown -R 100:101 /data/{domain}/html\n```\n\n\n### Volume structure\n\n* `/usr/html`: Webroot\n\n\n### GRAV CLI GPM\n\nGrav includes a GPM (Grav Package Manager) which allows you to install, update, uninstall and list all the themes and plugins available on the Grav repository, as well as upgrade Grav itself to the latest version. Its best to `su nginx` before executing anything or else you can potentially compromise your host.\n\n```bash\ndocker exec -it \u003ccontainer_name\u003e bash\nsu nginx\ncd /usr/html\nbin/gpm list\n\n```\n\n### Upload limit\n\nThe upload limit is 128 Megabytes.\n\n### Change php.ini value\nmodify files/php-fpm.conf\n\nTo modify php.ini variable, simply edit php-fpm.ini and add php_flag[variable] = value.\n\n```php\nphp_flag[display_errors] = on\n```\n\n### PHP Modules\n#### List of available modules in Alpine Linux, not all these are installed.\n##### In order to install a php module do, (leave out the version number i.e. -8.1.01-r0\n```bash\ndocker exec \u003cimage_id\u003e apk add \u003cpkg_name\u003e\ndocker restart \u003cimage_name\u003e\n```\nExample:\n\n```bash\ndocker exec \u003cimage_id\u003e apk add php83-soap\ndocker restart \u003cimage_name\u003e\n```\n\n```\nphp83-common\nphp83-pdo_sqlite\nphp83-pear\nphp83-ftp\nphp83-imap\nphp83-mysqli\nphp83-json\nphp83-mbstring\nphp83-soap\nphp83-litespeed\nphp83-sockets\nphp83-bcmath\nphp83-opcache\nphp83-dom\nphp83-zlib\nphp83-gettext\nphp83-fpm\nphp83-intl\nphp83-openssl\nphp83-session\nphp83-pecl-mcrypt\nphp83-pdo_mysql\nphp83-embed\nphp83-xmlrpc\nphp83-wddx\nphp83-dba\nphp83-ldap\nphp83-xsl\nphp83-exif\nphp83-pdo_dblib\nphp83-bz2\nphp83-pdo\nphp83-pspell\nphp83-sysvmsg\nphp83-gmp\nphp83-apache2\nphp83-pdo_odbc\nphp83-shmop\nphp83-ctype\nphp83-phpdbg\nphp83-enchant\nphp83-sysvsem\nphp83-sqlite3\nphp83-odbc\nphp83-pcntl\nphp83-calendar\nphp83-xmlreader\nphp83-snmp\nphp83-zip\nphp83-posix\nphp83-iconv\nphp83-curl\nphp83-doc\nphp83-gd\nphp83-xml\nphp83-dev\nphp83-cgi\nphp83-sysvshm\nphp83-pgsql\nphp83-tidy\nphp83-pdo_pgsql\nphp83-phar\nphp83-mysqlnd\n```\n\n## Docker Compose example:\n\n```yalm\ngrav:\n  image: yobasystems/alpine-grav:latest\n  environment:\n    VIRTUAL_HOST: www.example.co.uk\n  expose:\n    - \"80\"\n  volumes:\n    - /data/example/www:/usr/html\n  restart: always\n```\n\n## 🔍 Image contents \u0026 Vulnerability analysis\n\n| PACKAGE NAME          | PACKAGE VERSION | VULNERABILITIES |\n|-----------------------|-----------------|-----------------|\n\n\n## 📚 Source Repositories\n\n* [Github - yobasystems/alpine-grav](https://github.com/yobasystems/alpine-grav)\n\n* [Gitlab - yobasystems/alpine-grav](https://gitlab.com/yobasystems/alpine-grav)\n\n* [Bitbucket - yobasystems/alpine-grav](https://bitbucket.org/yobasystems/alpine-grav/)\n\n\n## 🐳 Container Registries\n\n* [Dockerhub - yobasystems/alpine-grav](https://hub.docker.com/r/yobasystems/alpine-grav/)\n\n* [Quay.io - yobasystems/alpine-grav](https://quay.io/repository/yobasystems/alpine-grav)\n\n\n## 🔗 Links\n\n* [Yoba Systems](https://www.yobasystems.co.uk/)\n\n* [Github - Yoba Systems](https://github.com/yobasystems/)\n\n* [Dockerhub - Yoba Systems](https://hub.docker.com/u/yobasystems/)\n\n* [Quay.io - Yoba Systems](https://quay.io/organization/yobasystems)\n\n* [Maintainer - Dominic Taylor](https://github.com/dominictayloruk)\n\n## 💰 Donation\n\n[![BMAC](https://img.shields.io/badge/BUY%20ME%20A%20COFFEE-£5-blue.svg?style=for-the-badge\u0026logo=buy-me-a-coffee)](https://www.buymeacoffee.com/dominictayloruk?new=1)\n\n[![BITCOIN](https://img.shields.io/badge/BTC-bc1q7hy8qmyvq7rw6slrna7yffcdnj9rcg4e9xjecc-blue.svg?style=for-the-badge\u0026logo=bitcoin)](bitcoin:bc1q7hy8qmyvq7rw6slrna7yffcdnj9rcg4e9xjecc)\n\n[![ETHEREUM](https://img.shields.io/badge/ETH-0xb6bE2e4da3d86b50Bdae1F9B6960c23dd87C532C-blue.svg?style=for-the-badge\u0026logo=ethereum)](ethereum:0xb6bE2e4da3d86b50Bdae1F9B6960c23dd87C532C)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyobasystems%2Falpine-grav","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fyobasystems%2Falpine-grav","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyobasystems%2Falpine-grav/lists"}