All Projects → yobasystems → alpine-php-wordpress

yobasystems / alpine-php-wordpress

Licence: other
Wordpress running on Alpine Linux [Docker]

Programming Languages

Dockerfile
14818 projects
shell
77523 projects

Projects that are alternatives of or similar to alpine-php-wordpress

alpine-prestashop
Prestashop running on Alpine Linux [Docker]
Stars: ✭ 13 (-56.67%)
Mutual labels:  alpine, alpine-linux, yobasystems
http-server
A Java HTTP server in 35MB Docker image
Stars: ✭ 17 (-43.33%)
Mutual labels:  alpine, alpine-linux
gitlab-runner
Gitlab Runner on Alpine Linux [Docker]
Stars: ✭ 17 (-43.33%)
Mutual labels:  alpine, yobasystems
docker-alpine-sshd
A lightweight OpenSSH Docker Image built atop Alpine Linux.
Stars: ✭ 108 (+260%)
Mutual labels:  alpine, alpine-linux
Docker Oidc Proxy
Docker Image built on Alpine Linux for secure OpenID Connect (OIDC) proxy authentication
Stars: ✭ 91 (+203.33%)
Mutual labels:  alpine, alpine-linux
Pieman
Script for creating custom OS images for single-board computers
Stars: ✭ 149 (+396.67%)
Mutual labels:  alpine, alpine-linux
docker-node-ci
The Docker image based on the official "node" image optimized for a CI environment
Stars: ✭ 18 (-40%)
Mutual labels:  alpine, alpine-linux
alpine-vagrant
This builds an up-to-date Vagrant Alpine Linux Base Box
Stars: ✭ 22 (-26.67%)
Mutual labels:  alpine, alpine-linux
headless-chrome-alpine
A Docker container running headless Chrome
Stars: ✭ 26 (-13.33%)
Mutual labels:  alpine, alpine-linux
docker-dind-awscli
A Docker image for Docker-in-Docker (dind) with AWS CLI v2 awscli tool included
Stars: ✭ 36 (+20%)
Mutual labels:  alpine, alpine-linux
docker flutter
Alpine Linux image for Flutter & Dart with helpful utils and web build support.
Stars: ✭ 33 (+10%)
Mutual labels:  alpine, alpine-linux
Docker Ruby Node
🐳 Alpine Docker Image with latest versions of Ruby, Node.js and yarn installed. This Docker Image is actively maintained and updated regularly.
Stars: ✭ 74 (+146.67%)
Mutual labels:  alpine, alpine-linux
Socat
Run socat command in alpine container
Stars: ✭ 53 (+76.67%)
Mutual labels:  alpine, alpine-linux
Termuxalpine
Use TermuxAlpine.sh calling to install Alpine Linux in Termux on Android. This setup script will attempt to set Alpine Linux up in your Termux environment.
Stars: ✭ 224 (+646.67%)
Mutual labels:  alpine, alpine-linux
Dockerfiles
Discontinued. Fork at your will.
Stars: ✭ 384 (+1180%)
Mutual labels:  alpine, alpine-linux
alpine-qbittorrent-openvpn
qBittorrent docker container with OpenVPN client running as unprivileged user on alpine linux
Stars: ✭ 230 (+666.67%)
Mutual labels:  alpine, alpine-linux
docker-aws-s3-sync
Docker container to sync a folder to Amazon S3
Stars: ✭ 21 (-30%)
Mutual labels:  alpine, alpine-linux
rails5-docker-alpine
Lightweight Docker development environment for Rails using Alpine Linux
Stars: ✭ 71 (+136.67%)
Mutual labels:  alpine, alpine-linux
pi-factory
Bootstrap a bitcoin lightning box for Raspberry Pi 3 based on Alpine Linux
Stars: ✭ 17 (-43.33%)
Mutual labels:  alpine, alpine-linux
alpine-php-fpm
Lightweight and optimised PHP-FPM (PHP 7.4, 8.0, 8.1) Docker images with essential extensions on top of latest Alpine Linux.
Stars: ✭ 53 (+76.67%)
Mutual labels:  alpine, alpine-linux

Wordpress Docker image running on Alpine Linux

Docker Automated build Docker Pulls Docker Stars

Alpine Version Wordpress Version

This Docker image (yobasystems/alpine-php-wordpress) is based on the minimal Alpine Linux ready for running WordPress. (Requires external database)

Alpine Version 3.14.0 (Released 2021-06-15)
Wordpress Version latest
PHP Version 7.4.21
Nginx Version 1.20.1

What is Alpine Linux?

Alpine 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 Docker images.

What is Wordpress?

WordPress is an online, open source website creation tool written in PHP. But in non-geek speak, it's probably the easiest and most powerful blogging and website content management system (or CMS) in existence today.

Features

  • Minimal size only, minimal layers
  • Memory usage is minimal on a simple install

Architectures

  • :amd64, :x86_64 - 64 bit Intel/AMD (x86_64/amd64)
  • :arm64v8, :aarch64 - 64 bit ARM (ARMv8/aarch64)
  • :arm32v7, :armhf - 32 bit ARM (ARMv7/armhf)
PLEASE CHECK TAGS BELOW FOR SUPPORTED ARCHITECTURES, THE ABOVE IS A LIST OF EXPLANATION

Tags

  • :latest latest branch based (Automatic Architecture Selection)
  • :amd64, :x86_64 amd64 based on latest tag but amd64 architecture
  • :aarch64, :arm64v8 Armv8 based on latest tag but arm64 architecture
  • :armhf, :arm32v7 Armv7 based on latest tag but arm32 architecture

Layers & Sizes

Version MicroBadger Layers (tag) MicroBadger Size (tag)

Version MicroBadger Layers (tag) MicroBadger Size (tag)

Version MicroBadger Layers (tag) MicroBadger Size (tag)

Volume structure

  • /usr/html: Webroot

Creating an instance

Make sure you create the folder on the host before starting the container and obtain the correct permissions.

mkdir -p /data/{domain}/html

docker run -e VIRTUAL_HOST={domain}.com,www.{domain}.com -v /data/{domain}/html:/usr/html -p 80:80 yobasystems/alpine-php-wordpress

E.G

mkdir -p /data/yobasystems/html

docker run -e VIRTUAL_HOST=yobasystems.co.uk,www.yobasystems.co.uk -v /data/yobasystems/html:/usr/html -p 80:80 yobasystems/alpine-php-wordpress

The following user and group id are used, the files should be set to this: User ID: Group ID:

chown -R 100:101 /data/{domain}/html

E.G

chown -R 100:101 /data/yobasystems/html

Populate /data/{domain}/html with your WP files.

The following user and group id are used, the files should be set to this:

User ID:

Group ID:

chown -R 100:101 /data/{domain}/html

WP-CLI

This image now includes WP-CLI wpcli.org baked in... Its best to su nginx before executing anything or else you can potentially compromise your host.

docker exec -it <container_name> bash
su nginx
cd /usr/html
wp-cli core download --locale=en_GB

Redis Cache

Edit the wp-config.php file and include the line;

define('WP_REDIS_HOST', 'redis');

The next thing is to install the plugin Redis Object Cache

SSL behind a proxy

If using SSL and running behind a proxy like HAproxy then the following needs to be added to the wp-config.php file (to stop infinite redirect);

define('FORCE_SSL_ADMIN', true);
if (strpos($_SERVER['HTTP_X_FORWARDED_PROTO'], 'https') !== false)
   $_SERVER['HTTPS']='on';

Upload limit

The upload limit is 128 Megabytes.

Change php.ini value

modify files/php-fpm.conf

To modify php.ini variable, simply edit php-fpm.ini and add php_flag[variable] = value.

php_flag[display_errors] = on

PHP Modules

List of available modules in Alpine Linux, not all these are installed.

In order to install a php module do, (leave out the version number i.e. -5.6.11-r0
docker exec <image_id> apk add <pkg_name>
docker restart <image_name>

Example:

docker exec <image_id> apk add php7-soap
docker restart <image_name>
php7-common
php7-pdo_sqlite
php7-pear
php7-ftp
php7-imap
php7-mysqli
php7-json
php7-mbstring
php7-soap
php7-litespeed
php7-sockets
php7-bcmath
php7-opcache
php7-dom
php7-zlib
php7-gettext
php7-fpm
php7-intl
php7-openssl
php7-session
php7-mcrypt
php7-pdo_mysql
php7-embed
php7-xmlrpc
php7-wddx
php7-dba
php7-ldap
php7-xsl
php7-exif
php7-pdo_dblib
php7-bz2
php7-pdo
php7-pspell
php7-sysvmsg
php7-gmp
php7-apache2
php7-pdo_odbc
php7-shmop
php7-ctype
php7-phpdbg
php7-enchant
php7-sysvsem
php7-sqlite3
php7-odbc
php7-pcntl
php7-calendar
php7-xmlreader
php7-snmp
php7-zip
php7-posix
php7-iconv
php7-curl
php7-doc
php7-gd
php7-xml
php7-dev
php7-cgi
php7-sysvshm
php7-pgsql
php7-tidy
php7-pdo_pgsql
php7-phar
php7-mysqlnd

Docker Compose example:

wordpress:
  image: yobasystems/alpine-php-wordpress
  environment:
    VIRTUAL_HOST: example.co.uk
  expose:
    - "80"
  volumes:
    - /data/example/www:/usr/html
  restart: always
  links:
    - mysql:mysql
mysql:
  environment:
    MYSQL_DATABASE: wordpressdb
    MYSQL_PASSWORD: wordpresspass
    MYSQL_ROOT_PASSWORD: ''
    MYSQL_USER: wordpressuser
  image: yobasystems/alpine-mariadb

Source Repositories

Container Registries

Links

Donation

BMAC

BITCOIN

ETHEREUM

STELLAR

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].