Skip to main content

Multisites on Docker Container (Wordpress framework)

 Assalamualaikum.

 


 

Short story, i want to replicate https://4nutz.tk to https://kedaibiskut.tk 

and  i want them to keep running on docker containers. If you haven't know how did I setup the docker infrastructure for https://4nutz.tk you can read first my previous post.

 

I have to admit that i didn't study nginx proxy first to implement the multisites. this is more like a hack way ~


i'm just going to highlight what is important ya.


1) Created a new database in existing container mysql. dump 4nutz db to kedaibiskut. yeah i m doing this because i totally wants everything retains! later on i ll customize the data. this is due to basic configuration needed i already done all in 4nutz. for more details on  how to dump and retrieve wordpress db data checkout those posts!

2) i created a new wordpress container for the new website, for the content i copied all from 4nutz wordpress and of course change the wp-config.php settings~, note that i mapped both local volume of data/kedaibiskut with /var/www/html and /var/www/kedaibiskut. this is like the hack way because by default the wordpress image container will try to load website content at /var/www/html, i just failed to override the entrypoint.sh script. its so hard for me to make the changes. there's should be way but to much of time needed to dig that out! by trying and error at the end i decided to map the local path with two path from the container. and im utilizing the VIRTUAL_HOST directive to have individual url defined.sooner or later maybe we can see some issue but for the time being its quite OK.


  wordpress_kedaibiskut:
    depends_on:
      - db
    image: wordpress:5.1.1-fpm-alpine
    container_name: kedaibiskut_wordpress
    restart: unless-stopped
    env_file: .env
    environment:
      - WORDPRESS_DB_HOST=db:3306
      - WORDPRESS_DB_USER=$MYSQL_USER_KEDAIBISKUT
      - WORDPRESS_DB_PASSWORD=$MYSQL_PASSWORD_KEDAIBISKUT
      - WORDPRESS_DB_NAME=kedaibiskut
      - WORDPRESS_DB_PORT=3310
      - VIRTUAL_HOST=$KEDAIBISKUT_URL
    volumes:
      - ./data/kedaibiskut:/var/www/html
      - ./data/kedaibiskut:/var/www/kedaibiskut
      - ./php/uploads.ini:/usr/local/etc/php/conf.d/uploads.ini
    networks:
      - app-network

3) i also updated the nginx container settings to have the new wordpress_kedaibiskut registered!

    webserver:
        depends_on:
          - wordpress
          - wordpress_kedaibiskut
        image: nginx:1.15.12-alpine
        container_name: webserver
        restart: unless-stopped
        ports:
          - "80:80"
          - "443:443"
        volumes:
          - ./data/html:/var/www/html
          - ./data/kedaibiskut:/var/www/kedaibiskut
          - ./nginx-conf:/etc/nginx/conf.d
          - certbot-etc:/etc/letsencrypt
        networks:
          - app-network

 

4) updated nginx.conf file to have new server block of kedaibiskut.tk, i tested without using ssl port first eg only using http, after everything went well and cert generated i added the ssl block for it.

 

5) rerun certbot with new command to generate kedaibiskut ssl cert. ya i ve encountered out of memory issue. checkout this post for more details 

 

done baby done!

 


Comments

Popular posts from this blog

Tutorial on Min3D framework using Android Studio

Salam peeps, UPDATES***, the model on the old link is no longer working. so i have create a github repo, where i put the source code in a project, you guys can try to clone in and run on your android studio device emulator or directly on your phone, Ive replaced the model with a cube. https://github.com/aliaramli/Min3DTutorial Previously i ve posted tutorial on min3D using eclipse IDE, i believe most of us has moved to Android Studio IDE in developing android apps? As previous tutorial shows a lot of support from readers and among hot post in my blog, i ve decided to post the same tutorial but this time using Android Studio. For those who are familiar with Eclipse/Android Studio migration they might not have problem in running this tutorial . For more detail explanation on min3D please visit this website page Ok lets get started. Step One Create a new android project in android studio. you may name it as what you like, below are how i defined my project settings. ...

Get the last active time from users in woocommerce using sql query

To easily get the last active time from users (under Woocommerce extended plugin) we can easily query from database using the meta_key of "wc_last_active" example query: select user_id, meta_value from wp_usermeta where meta_key= "wc_last_active" and user_id in (11111,112222); results: +-------------+------------------+ | user_id    | meta_value | +-------------+-------------------+ |   11111   | 1556755200 | |   112222 | 1566518400 |

AWS Workspace Device is not Authorized Linux Client

Have you guys tried the AWS Workspace? They are offering the service for free from April - June 2020. For a limited time, in response to COVID-19 , starting April 1, 2020 through June 30, 2020, Amazon WorkSpaces Free Tier provides up to 50 WorkSpaces with Windows Standard bundle with 80 GB Root and 50 GB User Volumes, running in AutoStop mode for up to 10,000 hours of combined use per month across all AWS Regions where WorkSpaces Free Tier is currently available. Additionally, the Amazon WorkSpaces Free Tier provides one WorkSpace with Windows Performance bundle with 80 GB Root and 100 GB User Volumes, running in AutoStop mode for up to 200 hours, two WorkSpaces with Linux Standard bundle with 80 GB Root and 50 GB User Volumes, running in AutoStop mode for up to 400 hours, and one WorkSpace with Windows Value bundle with 80 GB Root and 10 GB User Volume, running in AutoStop mode for up to 200 hours. All new customers that start using WorkSpaces for the first time during ...