This post is to show the steps how to use Portainer to create a custom template to launch your WordPress stack if default stack template is not working.

The default template works well for x86 / x64 architecture. Since I am use Arm64 based VPS to do installation, I am having this error message:

“Deployment error
Status: no matching manifest for linux/arm64/v8 in the manifest list entries, code:1

It is because they could not find the arm64 based matching image under that linux repository. What we will need to do to fix this issue is to create a custom template to change image name to right one. 

 

Custom WordPress Template

Based on mysql/mysql-server’s supported tags to show, version 8.0 is supporting arm architecture. (https://ift.tt/3CiO5Vk)

 

Lets change db’s image from image: mysql:5.7 to image: mysql/mysql-server:8.0 


version: '2'

services:
   db:
     image: mysql/mysql-server:8.0
     volumes:
       - db_data:/var/lib/mysql
     restart: always
     environment:
       MYSQL_ROOT_PASSWORD: ${MYSQL_DATABASE_PASSWORD}
       MYSQL_DATABASE: wordpress
       MYSQL_USER: wordpress
       MYSQL_PASSWORD: wordpress

   wordpress:
     image: wordpress:latest
     ports:
       - 80
     restart: always
     environment:
       WORDPRESS_DB_HOST: db:3306
       WORDPRESS_DB_USER: wordpress
       WORDPRESS_DB_PASSWORD: wordpress

volumes:
    db_data:




Create subdomain for your new WordPress site

This is a simple step. Based on your domain name registrar, you can find out the management panel to add a new sub domain for your new workdpress site. Here is an example from my Cloudflare page. 

Change Docker Network

Previously, I have create a custom bridge network, which all of my Dockers joined in. 

 
Change WordPress dockers network to the same network as Nginx.

Nginx Configuration

 

Create Nginx configuration file for WordPress site:

root@560e40a1e1d2:/etc/nginx/conf.d# cat arm1wp.conf 
server {
    listen       80;
    server_name  arm1wp.51sec.eu.org;

location / {
    proxy_pass       http://mywp_wordpress_1;
    proxy_http_version         1.1;
    proxy_read_timeout 300;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
    proxy_set_header Host $http_host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Real-PORT $remote_port;
           }
}



YouTube Video:

from Blogger http://blog.51sec.org/2021/08/using-portainer-to-create-custom.html

By Jon

Leave a Reply

Ads Blocker Image Powered by Code Help Pro

Ads Blocker Detected!!!

We have detected that you are using extensions to block ads. Please support us by disabling these ads blocker.

%d