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

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

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