Este é um template que deverá ser utilizado na criação de novos repositórios em Wordpress.
O intúito é facilitar a vida, porém alguams alterações precisam ser feitas após a criação do repositório:
COMPOSE_PROJECT_NAME=project_name
# PROJECT_NAME - DOCKER
Lista oficial: https://hub.docker.com/_/wordpress?tab=tags&page=1&ordering=last_updated
O que devemos levar em consideração aqui é: se projeto existe, fixa inicialmente
a versão do projeto, caso contrário, iremos buscar a numeração da última versão
No arquivo wordpress/Dockerfile
FROM wordpress:5.7.2-php7.4-apache
docker compose up
Aqui costumamos utilizar o nome do repositório como nome do tema na pasta themes
git submodule add git_repo_url ./wordpress/wp-content/themes/git_repo_name
Se o projeto for muito grande, podemos remover arquivos de upload
Este processo garante que o domínio será localhost
docker compose exec mysql sh -c 'mysqldump -psecret default > /docker-entrypoint-initdb.d/createdb.sql'
Caso dump tenha ficado acima de 50MB, compactá-lo com gzip. Isso definirá se teremos a etapa 2 do README abaixo ou não. Se mesmo após a compactação ficar muito grande, devemos utilizar um link externo ou remover registros do banco
gzip mysql//docker-entrypoint-initdb.d/createdb.sql
git ...ah, você sabe ;)
git clone project_git_url --recurse-submodules
gunzip mysql/docker-entrypoint-initdb.d/createdb.sql.gz
docker compose up
git checkout dev
Pronto!
Neste momento já deve ser possível acessar o site em http://localhost
Talvez você precise trabalhar com dump do banco de dados para exportar/importar. Ambos comandos trabalham com o dump em: mysql/docker-entrypoint-initdb.d/createdb.sql.
Exportar:
docker compose exec mysql sh -c 'mysqldump -psecret default > /docker-entrypoint-initdb.d/createdb.sql'
Importar:
docker compose exec mysql sh -c 'mysql -psecret default < /docker-entrypoint-initdb.d/createdb.sql'
Arquivos na pasta wp-content deverão ser commitados sim, pois a idéia é facilitar a vida do próximo desenvolvedor ou de você mesmo no futuro quando pegar este projeto e ele ter o mínimo de assets e plugins para poder trabalhar.
Também devemos commitar o banco na pasta mysql/docker-entrypoint-initdb.d/createdb.sql, ou seja, rodando um comando de exportação sempre que houver alteração e salvando no git enquanto este dump é menor do que 50MB. Quando ele atinge este tamanho, devemos removê-lo do git e trabalhar com links externos aqui no README.