Migració d'una wiki a una altra dockeritzada

De things.cat
La revisió el 12:57, 28 ago 2021 per Jordi Binefa (discussió | contribucions) (Arxiu docker-compose.yml per al 2n pas)
Salta a: navegació, cerca

1) Prova del contenidor docker a migrar

Es cerca la versió actual del wiki en funcionament a l'enllaç "Pàgines especials" / "Versió". En el cas d'aquest exemple és la versió 1.29.0

Es prova el funcionament, sense volums associats ni base de dades, a un domini secundari de prova (Aquest domini ha d'estar configurat a la configuració DNS del nostre proveïdor de nom de domini):

docker run --name wiki_binefa_cat --network net -e VIRTUAL_HOST="wiki2.binefa.cat" -e LETSENCRYPT_HOST="wiki2.binefa.cat" -d mediawiki:1.29.0

Un cop provat que funciona el servei web de la mediawiki, es desactiva el servei:

docker stop wiki_binefa_cat
docker rm wiki_binefa_cat

2) Connexió amb la base de dades

Arxiu docker-compose.yml per al 2n pas

### Based on https://kindalame.com/2020/11/25/self-hosting-mediawiki-with-docker/
### Docker Compose Example for Kinda Lame
### Created October 2020
### Modified August 2021 by Jordi Binefa
###
version: '3.3'
services:
 web:
###
### We suggest using the LTS, long term support images
###
   image: mediawiki:1.29.0
   ports:
     - 80:80
     - 443:443
     - 3309:3306
   links:
     - database
   restart: unless-stopped
   volumes:
    - /home/jordi/bin/wikis/binefa_cat/wikibinefacat/images:/var/www/html/images
#     - /home/jordi/bin/wikis/binefa_cat/wikibinefacat/LocalSettings.php:/var/www/html/LocalSettings.php
#     - /home/jordi/bin/wikis/binefa_cat/wikibinefacat:/var/www/html
#     - /home/jordi/bin/wikis/binefa_cat/php:/usr/local/etc/php
   networks: 
     - "net"      
 database:
   container_name: binefa_cat_db_docker
   image: mysql:5.6.48
   ports:
     - 3309:3306
   environment:
     MYSQL_DATABASE: 'nom_base_de_dades_sql'
     MYSQL_USER: 'usuari_sql'
#
# Generate a secure password and place it in the area below
#
     MYSQL_PASSWORD: 'contrasenya_usuari_sql'
     MYSQL_ROOT_PASSWORD: 'contrasenya_mestra_sql'
     MYSQL_RANDOM_ROOT_PASSWORD: 'no'
   volumes:
     - /home/jordi/bin/wikis/binefa_cat/database:/var/lib/mysql
   restart: unless-stopped
   networks: 
     - "net"

volumes:
 certs:
 html:
 vhost:
 dhparam:
     
networks:
 net:
   external: true

En marxa

Des del directori a on hi ha l'arxiu docker-compose.yml (per exemple ~/bin/wikis/things_cat):

docker-compose run --name wiki_things_cat -e VIRTUAL_HOST="wiki.things.cat" -e LETSENCRYPT_HOST="wiki.things.cat" -d web

Des del directori a on hi ha l'arxiu docker-compose.yml (per exemple ~/bin/wikis/binefa_com):

docker-compose run --name wiki_binefa_com -e VIRTUAL_HOST="wiki.binefa.com" -e LETSENCRYPT_HOST="wiki.binefa.com" -d web

docker-compose.yml de things.cat

### Based on https://kindalame.com/2020/11/25/self-hosting-mediawiki-with-docker/
### Docker Compose Example for Kinda Lame
### Created October 2020
### Modified August 2021 by Jordi Binefa
###
version: '3.3'
services:
 web:
#    image: mediawiki:lts # Es recomana la versió LTS per a wikis a partir de zero
   image: mediawiki:1.31.3 # Aquesta versió era l'original. Recomanen fer servir la mateixa per a la migració
   ports:
### We are running the server behind NGINX which we
### recommend all users doing. And due to the need to
### login to the site we recommend running Certbot
### on your domain and putting the proxy behind 
### an SSL certificate to keep your passwords safe!
###
     - 80:80
     - 443:443
     - 3307:3306 # Es connecta amb la base de dades de sota mitjançant el port 3307. Això ens permet posar diferents bases de dades
   links:
     - database
   restart: unless-stopped
   volumes:
    - /home/jordi/bin/wikis/things_cat/www_things_cat_segur/images:/var/www/html/images
    - /home/jordi/bin/wikis/things_cat/www_things_cat_segur/LocalSettings.php:/var/www/html/LocalSettings.php
    - /home/jordi/bin/wikis/things_cat/www_things_cat_segur:/var/www/html
#     - /home/jordi/bin/wikis/things_cat/php:/usr/local/etc/php
   networks: 
     - "net"      
 database:
   container_name: things_cat_db_docker
   image: mysql:5.6.48
   ports:
     - 3307:3306  # Es connecta amb la wiki de dalt mitjançant el port 3307. Això ens permet posar diferents bases de dades
   environment:
     MYSQL_DATABASE: 'wiki_things_cat'
     MYSQL_USER: 'usuari_BD_things'
#
# Generate a secure password and place it in the area below
#
     MYSQL_PASSWORD: 'contrasenya_BD_things'
     MYSQL_ROOT_PASSWORD: 'alguna'
     MYSQL_RANDOM_ROOT_PASSWORD: 'no'
   volumes:
     - /home/jordi/bin/wikis/things_cat/database:/var/lib/mysql
   restart: unless-stopped
   networks: 
     - "net"

volumes:
 certs:
 html:
 vhost:
 dhparam:
     
networks:
 net:
   external: true

docker-compose.yml de binefa.com

### Based on https://kindalame.com/2020/11/25/self-hosting-mediawiki-with-docker/
### Docker Compose Example for Kinda Lame
### Created October 2020
### Modified August 2021 by Jordi Binefa
###
version: '3.3'
services:
 web:
###
### We suggest using the LTS, long term support images
###
#    image: mediawiki:lts # Es recomana la versió LTS per a wikis a partir de zero
   image: mediawiki:1.33.0 # Aquesta versió era l'original. Recomanen fer servir la mateixa per a la migració
   ports:
     - 80:80
     - 443:443
     - 3308:3306  # Es connecta amb la base de dades de sota mitjançant el port 3308. Això ens permet posar diferents bases de dades
   links:
     - database
   restart: unless-stopped
   volumes:
    - /home/jordi/bin/wikis/binefa_com/www_binefa_com/images:/var/www/html/images
    - /home/jordi/bin/wikis/binefa_com/www_binefa_com/LocalSettings.php:/var/www/html/LocalSettings.php
    - /home/jordi/bin/wikis/binefa_com/www_binefa_com:/var/www/html
#     - /home/jordi/bin/wikis/binefa_com/php:/usr/local/etc/php
   networks: 
     - "net"      
 database:
   container_name: binefa_com_db_docker
   image: mysql:5.6.48
   ports:
     - 3308:3306  # Es connecta amb la wiki de dalt mitjançant el port 3308. Això ens permet posar diferents bases de dades
   environment:
     MYSQL_DATABASE: 'wiki_binefa_com'
     MYSQL_USER: 'usuari_BD_binefa_com'
#
# Generate a secure password and place it in the area below
#
     MYSQL_PASSWORD: 'contrasenya_BD_binefa_com'
     MYSQL_ROOT_PASSWORD: 'algunaAltra'
     MYSQL_RANDOM_ROOT_PASSWORD: 'no'
   volumes:
     - /home/jordi/bin/wikis/binefa_com/database:/var/lib/mysql
   restart: unless-stopped
   networks: 
     - "net"

volumes:
 certs:
 html:
 vhost:
 dhparam:
     
networks:
 net:
   external: true