<div class='ui dimmer modals page' style='display: none;'><div id='helpie-password-modal' class='pauple_helpie ui modal small' style='display: none;'><div class='ui header'><i class='circular lock icon'></i> Password Protected</div><div class='item-content'><br /><label for='password_check'>Enter Password : </label><p><input type='password' id='password_check' name='password_check' class='password' value='' required></p></div><div class='actions'><div class='ui black deny button'>Nope</div><div class='ui positive right labeled icon button'>Yep, that's right!<i class='checkmark icon'></i></div></div><div class='clear'></div></div></div>{"id":912,"date":"2025-12-29T01:54:44","date_gmt":"2025-12-29T01:54:44","guid":{"rendered":"https:\/\/mcawebservices.ca\/?post_type=pauple_helpie&#038;p=912"},"modified":"2025-12-29T02:04:54","modified_gmt":"2025-12-29T02:04:54","slug":"install-wordpress-in-docker","status":"publish","type":"pauple_helpie","link":"https:\/\/mcawebservices.ca\/?pauple_helpie=install-wordpress-in-docker","title":{"rendered":"Install WordPress in Docker"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-post\" data-elementor-id=\"912\" class=\"elementor elementor-912\">\n\t\t\t\t<div class=\"elementor-element elementor-element-a54de5b e-con-full e-flex e-con e-parent\" data-id=\"a54de5b\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-fd3e40c elementor-widget elementor-widget-oew-clipboard\" data-id=\"fd3e40c\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"oew-clipboard.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\n\t\t<div class=\"oew-clipboard-wrapper oew-clipboard-wrapper-textarea\">\n\t\t\t<button id=\"copybtn\" aria-label=\"Copy value to clipboard\" class=\"oew-clipboard-button elementor-button elementor-size-md button-position-top\">\n\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-icon elementor-align-icon-right\">\n\t\t\t\t\t\t<i aria-hidden=\"true\" class=\"far fa-clipboard\"><\/i>\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">Copy<\/span>\n\t\t\t\t<\/span>\n\t\t\t<\/button>\n\t\t\t<textarea id=\"copyvalue\" aria-labelledby=\"copybtn copyvalue\" class=\"oew-clipboard-value elementor-field-textual elementor-size-sm\" id=\"oew-clipboard-value\" readonly=\"\" data-clipboard-target=\"services:\n  example_com-db:\n    image: mariadb:latest\n    container_name: example_com-db\n    restart: unless-stopped\n    environment:\n      MYSQL_ROOT_PASSWORD: ${DB_ROOT_PASSWORD}\n      MYSQL_DATABASE: ${DB_NAME}\n      MYSQL_USER: ${DB_USER}\n      MYSQL_PASSWORD: ${DB_PASSWORD}\n    volumes:\n      - example_com_db_data:\/var\/lib\/mysql\n    networks:\n      - example_com-net # Only connected internally, no direct external access\n\n  example_com-wp:\n    image: wordpress:latest\n    container_name: example_com-wp\n    restart: unless-stopped\n    depends_on:\n      - example_com-db\n    environment:\n      WORDPRESS_DB_HOST: example_com-db:3306\n      WORDPRESS_DB_NAME: ${DB_NAME}\n      WORDPRESS_DB_USER: ${DB_USER}\n      WORDPRESS_DB_PASSWORD: ${DB_PASSWORD}\n    volumes:\n      - example_com_wp_data:\/var\/www\/html\n    networks:\n      - proxy_network # Network to connect to Caddy server\n      - example_com-net # Only connected internally, no direct external access\n\n  example_com-redis:\n    image: redis:latest\n    container_name: example_com-redis\n    restart: unless-stopped\n    command: redis-server --appendonly yes # Enable AOF persistence\n    volumes:\n      - example_com_redis_data:\/data # Persist Redis data\n    networks:\n      - example_com-net # Only connected internally, no direct external access\n\n\n  example_com-cli:\n    image: wordpress:cli\n    container_name: example_com-cli\n    restart: unless-stopped\n    depends_on:\n      - example_com-wp # Your WordPress service\n      - example_com-db # Your database service\n    user: 33:33 # Optional: run as your local user\n    command: tail -f \/dev\/null # Keeps the container running for interactive use\n    volumes:\n      - example_com_wp_data:\/var\/www\/html\n      - \/home\/mcadmin\/docker\/caddy\/wp-plugins-themes:\/var\/www\/wp-plugins-themes\n    environment:\n      WP_CLI_CACHE_DIR: \/tmp \n      WORDPRESS_DB_HOST: example_com-db:3306\n      WORDPRESS_DB_NAME: ${DB_NAME}\n      WORDPRESS_DB_USER: ${DB_USER}\n      WORDPRESS_DB_PASSWORD: ${DB_PASSWORD}\n    networks:\n      - example_com-net # Only connected internally, no direct external access\n      - proxy_network # Network to connect to Caddy server\n\nvolumes:\n  example_com_db_data:\n    external: true\n  example_com_wp_data:\n    external: true\n  example_com_redis_data:\n    external: true\n\nnetworks:\n  example_com-net:\n    name: example_com-net\n    driver: bridge\n    internal: true # This prevents external connectivity\n    external: false # If you want to use an existing external network\n  proxy_network:\n    external: true\n\">services:\n  example_com-db:\n    image: mariadb:latest\n    container_name: example_com-db\n    restart: unless-stopped\n    environment:\n      MYSQL_ROOT_PASSWORD: ${DB_ROOT_PASSWORD}\n      MYSQL_DATABASE: ${DB_NAME}\n      MYSQL_USER: ${DB_USER}\n      MYSQL_PASSWORD: ${DB_PASSWORD}\n    volumes:\n      - example_com_db_data:\/var\/lib\/mysql\n    networks:\n      - example_com-net # Only connected internally, no direct external access\n\n  example_com-wp:\n    image: wordpress:latest\n    container_name: example_com-wp\n    restart: unless-stopped\n    depends_on:\n      - example_com-db\n    environment:\n      WORDPRESS_DB_HOST: example_com-db:3306\n      WORDPRESS_DB_NAME: ${DB_NAME}\n      WORDPRESS_DB_USER: ${DB_USER}\n      WORDPRESS_DB_PASSWORD: ${DB_PASSWORD}\n    volumes:\n      - example_com_wp_data:\/var\/www\/html\n    networks:\n      - proxy_network # Network to connect to Caddy server\n      - example_com-net # Only connected internally, no direct external access\n\n  example_com-redis:\n    image: redis:latest\n    container_name: example_com-redis\n    restart: unless-stopped\n    command: redis-server --appendonly yes # Enable AOF persistence\n    volumes:\n      - example_com_redis_data:\/data # Persist Redis data\n    networks:\n      - example_com-net # Only connected internally, no direct external access\n\n\n  example_com-cli:\n    image: wordpress:cli\n    container_name: example_com-cli\n    restart: unless-stopped\n    depends_on:\n      - example_com-wp # Your WordPress service\n      - example_com-db # Your database service\n    user: 33:33 # Optional: run as your local user\n    command: tail -f \/dev\/null # Keeps the container running for interactive use\n    volumes:\n      - example_com_wp_data:\/var\/www\/html\n      - \/home\/mcadmin\/docker\/caddy\/wp-plugins-themes:\/var\/www\/wp-plugins-themes\n    environment:\n      WP_CLI_CACHE_DIR: \/tmp \n      WORDPRESS_DB_HOST: example_com-db:3306\n      WORDPRESS_DB_NAME: ${DB_NAME}\n      WORDPRESS_DB_USER: ${DB_USER}\n      WORDPRESS_DB_PASSWORD: ${DB_PASSWORD}\n    networks:\n      - example_com-net # Only connected internally, no direct external access\n      - proxy_network # Network to connect to Caddy server\n\nvolumes:\n  example_com_db_data:\n    external: true\n  example_com_wp_data:\n    external: true\n  example_com_redis_data:\n    external: true\n\nnetworks:\n  example_com-net:\n    name: example_com-net\n    driver: bridge\n    internal: true # This prevents external connectivity\n    external: false # If you want to use an existing external network\n  proxy_network:\n    external: true\n<\/textarea>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Copy services: example_com-db: image: mariadb:latest container_name: example_com-db restart: unless-stopped environment: MYSQL_ROOT_PASSWORD: ${DB_ROOT_PASSWORD} MYSQL_DATABASE: ${DB_NAME} MYSQL_USER: ${DB_USER} MYSQL_PASSWORD: ${DB_PASSWORD} volumes: &#8211; example_com_db_data:\/var\/lib\/mysql networks: &#8211; example_com-net # Only connected internally, no direct external access example_com-wp: image: wordpress:latest container_name: example_com-wp restart: unless-stopped depends_on: &#8211; example_com-db environment: WORDPRESS_DB_HOST: example_com-db:3306 WORDPRESS_DB_NAME: ${DB_NAME} WORDPRESS_DB_USER: ${DB_USER} WORDPRESS_DB_PASSWORD: ${DB_PASSWORD} volumes: &#8211; example_com_wp_data:\/var\/www\/html networks: [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"menu_order":0,"comment_status":"open","ping_status":"closed","template":"","format":"standard","meta":{"ocean_post_layout":"","ocean_both_sidebars_style":"","ocean_both_sidebars_content_width":0,"ocean_both_sidebars_sidebars_width":0,"ocean_sidebar":"","ocean_second_sidebar":"","ocean_disable_margins":"enable","ocean_add_body_class":"","ocean_shortcode_before_top_bar":"","ocean_shortcode_after_top_bar":"","ocean_shortcode_before_header":"","ocean_shortcode_after_header":"","ocean_has_shortcode":"","ocean_shortcode_after_title":"","ocean_shortcode_before_footer_widgets":"","ocean_shortcode_after_footer_widgets":"","ocean_shortcode_before_footer_bottom":"","ocean_shortcode_after_footer_bottom":"","ocean_display_top_bar":"default","ocean_display_header":"default","ocean_header_style":"","ocean_center_header_left_menu":"","ocean_custom_header_template":"","ocean_custom_logo":0,"ocean_custom_retina_logo":0,"ocean_custom_logo_max_width":0,"ocean_custom_logo_tablet_max_width":0,"ocean_custom_logo_mobile_max_width":0,"ocean_custom_logo_max_height":0,"ocean_custom_logo_tablet_max_height":0,"ocean_custom_logo_mobile_max_height":0,"ocean_header_custom_menu":"","ocean_menu_typo_font_family":"","ocean_menu_typo_font_subset":"","ocean_menu_typo_font_size":0,"ocean_menu_typo_font_size_tablet":0,"ocean_menu_typo_font_size_mobile":0,"ocean_menu_typo_font_size_unit":"px","ocean_menu_typo_font_weight":"","ocean_menu_typo_font_weight_tablet":"","ocean_menu_typo_font_weight_mobile":"","ocean_menu_typo_transform":"","ocean_menu_typo_transform_tablet":"","ocean_menu_typo_transform_mobile":"","ocean_menu_typo_line_height":0,"ocean_menu_typo_line_height_tablet":0,"ocean_menu_typo_line_height_mobile":0,"ocean_menu_typo_line_height_unit":"","ocean_menu_typo_spacing":0,"ocean_menu_typo_spacing_tablet":0,"ocean_menu_typo_spacing_mobile":0,"ocean_menu_typo_spacing_unit":"","ocean_menu_link_color":"","ocean_menu_link_color_hover":"","ocean_menu_link_color_active":"","ocean_menu_link_background":"","ocean_menu_link_hover_background":"","ocean_menu_link_active_background":"","ocean_menu_social_links_bg":"","ocean_menu_social_hover_links_bg":"","ocean_menu_social_links_color":"","ocean_menu_social_hover_links_color":"","ocean_disable_title":"default","ocean_disable_heading":"default","ocean_post_title":"","ocean_post_subheading":"","ocean_post_title_style":"","ocean_post_title_background_color":"","ocean_post_title_background":0,"ocean_post_title_bg_image_position":"","ocean_post_title_bg_image_attachment":"","ocean_post_title_bg_image_repeat":"","ocean_post_title_bg_image_size":"","ocean_post_title_height":0,"ocean_post_title_bg_overlay":0.5,"ocean_post_title_bg_overlay_color":"","ocean_disable_breadcrumbs":"default","ocean_breadcrumbs_color":"","ocean_breadcrumbs_separator_color":"","ocean_breadcrumbs_links_color":"","ocean_breadcrumbs_links_hover_color":"","ocean_display_footer_widgets":"default","ocean_display_footer_bottom":"default","ocean_custom_footer_template":"","ofc_meta_disable_footer_callout":"","ofc_meta_callout_button_url":"","ofc_meta_callout_button_txt":"","ofc_meta_callout_text":"","ofc_enable_fullscreen":"disable","ofc_fullscreen_speed":0,"ofc_fullscreen_nav":"enable","ofc_fullscreen_nav_pos":"right","ofc_fullscreen_nav_color":"","ofc_fullscreen_nav_tooltip_color":"","ofc_fullscreen_responsive":0,"osp_disable_panel":"default","osh_disable_topbar_sticky":"default","osh_disable_header_sticky":"default","osh_sticky_header_style":"default","osh_sticky_header_effect":"","osh_custom_sticky_logo":0,"osh_custom_retina_sticky_logo":0,"osh_custom_sticky_logo_height":0,"osh_background_color":"","osh_links_color":"","osh_links_hover_color":"","osh_links_active_color":"","osh_links_bg_color":"","osh_links_hover_bg_color":"","osh_links_active_bg_color":"","osh_menu_social_links_color":"","osh_menu_social_hover_links_color":"","footnotes":""},"helpdesk_category":[34,36],"helpie_tag":[],"helpie_add_tag":[],"helpie_up_tag":[],"class_list":["post-912","pauple_helpie","type-pauple_helpie","status-publish","format-standard","hentry","helpdesk_category-docker","helpdesk_category-ubuntu","entry"],"_links":{"self":[{"href":"https:\/\/mcawebservices.ca\/index.php?rest_route=\/wp\/v2\/pauple_helpie\/912","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mcawebservices.ca\/index.php?rest_route=\/wp\/v2\/pauple_helpie"}],"about":[{"href":"https:\/\/mcawebservices.ca\/index.php?rest_route=\/wp\/v2\/types\/pauple_helpie"}],"author":[{"embeddable":true,"href":"https:\/\/mcawebservices.ca\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/mcawebservices.ca\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=912"}],"version-history":[{"count":19,"href":"https:\/\/mcawebservices.ca\/index.php?rest_route=\/wp\/v2\/pauple_helpie\/912\/revisions"}],"predecessor-version":[{"id":931,"href":"https:\/\/mcawebservices.ca\/index.php?rest_route=\/wp\/v2\/pauple_helpie\/912\/revisions\/931"}],"wp:attachment":[{"href":"https:\/\/mcawebservices.ca\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=912"}],"wp:term":[{"taxonomy":"helpdesk_category","embeddable":true,"href":"https:\/\/mcawebservices.ca\/index.php?rest_route=%2Fwp%2Fv2%2Fhelpdesk_category&post=912"},{"taxonomy":"helpie_tag","embeddable":true,"href":"https:\/\/mcawebservices.ca\/index.php?rest_route=%2Fwp%2Fv2%2Fhelpie_tag&post=912"},{"taxonomy":"helpie_add_tag","embeddable":true,"href":"https:\/\/mcawebservices.ca\/index.php?rest_route=%2Fwp%2Fv2%2Fhelpie_add_tag&post=912"},{"taxonomy":"helpie_up_tag","embeddable":true,"href":"https:\/\/mcawebservices.ca\/index.php?rest_route=%2Fwp%2Fv2%2Fhelpie_up_tag&post=912"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}