Direkt zum Hauptinhalt

installation via Docker

Beschreibung:

Docker installation mit mariadb caddy und Wordpress natürlich

Installation

Projektverzeichnis anlegen

mkdir /root/wordpress

Dort drin eine .env Datei anlegen

nano /root/wordpress/.env

Inhalt

# MariaDB Einstellungen
MYSQL_ROOT_PASSWORD=rootpassword
MYSQL_DATABASE=wordpress
MYSQL_USER=wordpress
MYSQL_PASSWORD=wordpresspass

# Domain/Hostname für Caddy
CADDY_HOST=shop.example.com

Die docker compose Datei

nano /root/wordpress/docker-compose.yml

Inhalt

version: '3.8'

services:
  mariadb:
    image: mariadb:latest
    restart: always
    volumes:
      - ./data/mariadb:/var/lib/mysql
    environment:
      MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}
      MYSQL_DATABASE: ${MYSQL_DATABASE}
      MYSQL_USER: ${MYSQL_USER}
      MYSQL_PASSWORD: ${MYSQL_PASSWORD}

  wordpress:
    image: wordpress:latest
    restart: always
    depends_on:
      - mariadb
    environment:
      WORDPRESS_DB_HOST: mariadb:3306
      WORDPRESS_DB_USER: ${MYSQL_USER}
      WORDPRESS_DB_PASSWORD: ${MYSQL_PASSWORD}
      WORDPRESS_DB_NAME: ${MYSQL_DATABASE}
    volumes:
      - ./data/wordpress:/var/www/html
      - ./php.ini:/usr/local/etc/php/conf.d/custom.ini

  caddy:
    image: caddy:latest
    restart: always
    ports:
      - "80:80"
      - "443:443"
    command: caddy reverse-proxy --from ${CADDY_HOST} --to wordpress:80
    volumes:
      - ./data/caddy/data:/data
      - ./data/caddy/config:/config

nun noch die php.ini anlegen für 512MB uploads

nano /root/wordpress/php.ini

Inhalt

upload_max_filesize = 512M
post_max_size = 2048M

nun den Container starten

docker-compose up -d

Nun noch die ufw Firewall regeln anpassen.

Da hier der Docker container sowieso von außen erreichbar sein soll, brauchen wir hier keine Anspassung für docker.
Aber ssh soll nur auf der lokalen Netzwerkkarte zur Verfügung stehen

ufw allow in on enp6s18 to any port 22
ufw enable

Cron Jobs richtig zum Laufen bringen Caddy Fehler:

Code Snippet hinzufügen über Plugin für die WP Cron Dienste um folgenden Fehler zu vermeiden
Sie Seite Fehler: cURL error 28: Operation timed out after 3000 milliseconds und Aktionsplaner: 90 überfällige Aktionen gefunden;