WordPress v docker na ubuntu 22.04


Nainštalujte si Ubuntu 22.04 buď server (bez GUI, alebo Ubuntu 22.04 desktop)

Po naištalovaní servera ak ste zvolili ubuntu server, tak sa prihláste prostrednítvom ssh na daný server v tvare

ssh užívateľske_meno@X.X.X.X

ak ste naištalovali Ubuntu desktop, tak môžete pracovať priamo na ňom

Urobte ako prvé update a upgrade

sudo apt update
sudo apt upgrade

Nainštalujte požadované balíky, aby apt mohol používať úložisko cez HTTPS:

sudo apt install apt-transport-https ca-certificates curl software-properties-common

Pridajte oficialny Docker GPG key

curl-fsSL https://download.docker.com/linux/debian/gpg |sudo gpg --dearmor-o /usr/share/keyrings/docker-archive-keyring.gpg

Pridajte úložisko Docker do svojho systému:

echo"deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian bullseye stable"|sudotee /etc/apt/sources.list.d/docker.list > /dev/null

Urobte update a nainštalujte Docker Engine:

sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io -y

Pozrite si verziu docker

docker version

Otestujte Docker jednoduchým príkazom:

sudo docker run hello-world

Nainštalujte Docker compose

Stiahnite si najnovšiu verziu Docker Compose (nahraďte 1.29.2 najnovšou dostupnou verziou):

sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

Urobte ho binárne spustiteľným:

sudo chmod +x /usr/local/bin/docker-compose

Skontrolujte inštaláciu Docker Compose:

docker-compose version

Nasaďte WordPress s Docker Compose

Vytvorte folder pre Váš WordPress

mkdir wordpress-docker &&cd wordpress-docker

Vytvorte docker-pompose.yml

Na vytvorenie textového súboru zvoľte nejaký textový editor, nano, vi, alebo vim (vim je potrebného niekedy doinštalovať)

sudo apt install vim

Príklad syntaxu

nano docker-compose.yml

Následne tieto riadky skopírujte a vložte do súboru docker-compose.yml

version: '3.8'

services:
db:
image: mysql:5.7
volumes:
- db_data:/var/lib/mysql
environment:
MYSQL_ROOT_PASSWORD: wordpress
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: wordpress

wordpress:
depends_on:
- db
image: wordpress:latest
ports:
- "8000:80"
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_PASSWORD: wordpress
volumes:
- wordpress_data:/var/www/html

volumes:
db_data: {}
wordpress_data: {}

Teraz ho uložte:

  • ak používate nano tak kombinacia: CTRL + X a následne Y (yes)
  • ak vim alebo vi tak kombínácia: :wq

Nano

vim, nano

Tento súbor Compose vytvára službu WordPress a službu MySQL.

Spustite služby pomocou Docker Compose:

sudo docker-compose up -d

Nastavte WordPress:

Choďte cez webový prehliadač a otvorte web v tvare IP adresa X.X.X.X:8000

Zvoľte si jazyk:

Vypíšte si údaje

Zvoľte Inštalvoať WodPress

V Ďalšom kroku zvoľte prihlásiť

Úspešné prihlásenie

Docker – Rockat.chat

Urobre update a upgrade

sudo apt update
sudo apt upgrade

Je potrebné stiahnúť docker-compose2

sudo curl -SL https://github.com/docker/compose/releases/download/v2.9.0/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose2

Zmeňte práva užívateľovi

sudo chmod +x /usr/local/bin/docker-compose2

Môžete si overiť verziu docker-compose

sudo docker-compose2 –version

Vytvorte priečinok

mkdir rocketchat

Teraz choďte do priečinka rocketchat

cd rocketchat

teraz stiahnite súbor z github

curl -L https://raw.githubusercontent.com/RocketChat/Docker.Official.Image/master/compose.yml -o docker-compose.yml

Otvorte si cez textový editor docker-compose.yml a urobte úpravy

nano docker-compose.yml

Zmeňte

services:                                                                                                                                                                                                                                   │
  rocketchat:                                                                                                                                                                                                                               │
    image: registry.rocket.chat/rocketchat/rocket.chat:${RELEASE:-latest}

Na

services:                                                                                                                                                                                                                                   │
  rocketchat:                                                                                                                                                                                                                               │
    image: registry.rocket.chat/rocketchat/rocket.chat

Teraz v tomto dokumente zmeňte ROOT_URL

ROOT_URL: ${ROOT_URL:-http://localhost:${HOST_PORT:-3000}}

Na IP a Port príklad konfigurácie

ROOT_URL: ${ROOT_URL:-http://10.10.8.17:${HOST_PORT:-8000}}

A ešte

ports:                                                                                                                                                                                                                                  │
      - "${BIND_IP:-0.0.0.0}:${HOST_PORT:-3000}:${PORT:-3000}"

Na daný port 8000

ports:                                                                                                                                                                                                                                  │
      - "${BIND_IP:-0.0.0.0}:${HOST_PORT:-8000}:${PORT:-3000}"

Teraz konfiguráciu uložte

Pre overenie môžete pozrieť, či sa docker spustí

docker-compose2 up

Mala by sa Vám spustiť služba

Teraz, aby sa Vám automaticky spúšťala služba tak, vytvorte priečinok napr. rocketchat.service

nano /etc/systemd/system/rocketchat.service
[Unit]
Description=rocketchat
After=network.target

[Service]
Type=simple
ExecStart= /usr/local/bin/docker-compose2 -f /root/rocketchat/docker-compose.yml up -d
Restart=always
User=root

[Install]
WantedBy=multi-user.target

Konfiguráciu uložte

Docker – Wikijs

Ako prvé pre istotu urobte update a pgrade

apt update 
apt upgrade

Nainštalujeme dockercompose

apt install docker docker-compose

Vytvorte priečinok napr. wikijs

mkdir wikijs

Vojdite do priečinka wikijs

cd wikijs

prostredníctvom textového editora nano, vi, vim vytvoríme dokument v danom priečinku vo wikijs. Napr cez nano

nano docker-compose.yml

Vložte tam tento text

version: "3"
services:

  db:
    image: postgres:11-alpine
    environment:
      POSTGRES_DB: wiki
      POSTGRES_PASSWORD: wikijsrocks
      POSTGRES_USER: wikijs
    logging:
      driver: "none"
    restart: unless-stopped
    volumes:
      - db-data:/var/lib/postgresql/data

  wiki:
    image: ghcr.io/requarks/wiki:2
    depends_on:
      - db
    environment:
      DB_TYPE: postgres
      DB_HOST: db
      DB_PORT: 5432
      DB_USER: wikijs
      DB_PASS: wikijsrocks
      DB_NAME: wiki
    restart: unless-stopped
    ports:
      - "80:3000"

volumes:
  db-data:

Pozn.: momentálne je v txt urobený user wikijs, heslo a databáza je definované wikijsrocks, ak nechcete mať tieto parametrom tak si to zmeňte. Port 3000 portforwarding je v rámci docru, čiže ak chceme ísť z inej siete na daný server zadávame to v tvare X.X.X.X:80

Na test spustite daný docker či funguje

docker-compose up

Keď zadáte IP adresu serververa do webového prehliadača v tvare http://X.X.X.X , tak Vám nabehne wikijs

Spustiť, by sa mal, ako náhle danú službu zavriete, ctrl+ C, tak službu zastavíte.

Tento problém vyriešite s tým, že vytvoríte narp. dokument v tvare wiki.service

nano /etc/systemd/system/wiki.service

Do neho skopírujte a doplňte

[Unit]
Description=Wiki.js
After=network.target

[Service]
Type=simple
ExecStart= /usr/bin/docker-compose -f /root/wikijs/docker-compose.yml up -d
Restart=always
# Consider creating a dedicated user for Wiki.js here:
User=root

[Install]
WantedBy=multi-user.target

Daný dokument uložte

A danú službu spustite priamo pri boote

systemctl start wiki.service
systemctl enable wiki.service

Dodatočné príkazy

S príkazom up aplikáciu spustime

docker-compose.yml up

S príkazom aplikáciu zastavíme

docker-compose.yml down

Urobte update novej verzie prostredníctvom týchto krokov a príkazom docker-compose.yml up

  1. Zastavte službu
  2. Urobte update
  3. Spustite službu
docker-compose.yml down
docker-compose pull
docker-compose.yml up