GithubHelp home page GithubHelp logo

Comments (13)

xtjoeywx avatar xtjoeywx commented on June 5, 2024 1

Sorry, I haven't been able to get back to this until now. Yes, that did fix it. Thank you! 👍

from docker-wordpress.

Koerner avatar Koerner commented on June 5, 2024 1

Hi, I solved it by the following steps:

  1. Stop wordpress container (not the db)
  2. docker system prune
  3. docker-compose up -d (in correct folder)

from docker-wordpress.

xtjoeywx avatar xtjoeywx commented on June 5, 2024 1

I have an update on this.

I found out why I was having an issue in the first place.
I was installing the nginx files under the root user here: /nginx/data
Then I installed wordpress under the sudo user here: /home/myuser/wordpress_site

Therefore, I believe it was a permission problem. Wordpress wasn't able to access the webproxy's config files to read the uploadsize.conf file because it didn't have root permission.

The fix: I installed both the webproxy and wordpress under the sudo user and I had no more problems.

I hope this helps someone else.

from docker-wordpress.

evertramos avatar evertramos commented on June 5, 2024

Please check your nginx webproxy to see if you set the option on upload limit there.

Restart the proxy and let me know if it works.

from docker-wordpress.

xtjoeywx avatar xtjoeywx commented on June 5, 2024

I've set things up as is. I mean, I didn't change, enable, or add anything during my set up of the webproxy.
Do I need to uncomment anything? Maybe this?: USE_NGINX_CONF_FILES=true in the .env file so that it would use the uploadsize.conf file? Also, do I need to add anything to it other than this client_max_body_size 100m;

from docker-wordpress.

evertramos avatar evertramos commented on June 5, 2024

That´s correct. Please uncomment this option and set the upload size as you need and just restart the webproxy containrs.

If you are in production environment, you might want to try (on the webproxy):

docker-compose restart

So, it will not go off-line while restarting, if it does not work you will need to realod your webproxy with this command:

docker exec -it webproxy nginx -s reload

Let me know if it worked.

from docker-wordpress.

xtjoeywx avatar xtjoeywx commented on June 5, 2024

I did as you said. I uncommented that option and set the upload size. Then I restarted the webproxy containers as well as the wordpress containers. I used docker-compose restart within the folders. Then I tried uploading the plugin and I got the same "413 Request Entity Too Large" error.

I also tried reloading them with this:
docker exec -it nginx-web -s reload But I got this error in terminal: OCI runtime exec failed: exec failed: container_linux.go:348: starting container process caused "exec: \"-s\": executable file not found in $PATH": unknown

I then stopped all of the containers and started them again to see if that would work. Still the same result.

This is my .env file:

#
# docker-compose-letsencrypt-nginx-proxy-companion
# 
# A Web Proxy using docker with NGINX and Let's Encrypt
# Using the great community docker-gen, nginx-proxy and docker-letsencrypt-nginx-proxy-companion
#
# This is the .env file to set up your webproxy enviornment

#
# Your local containers NAME
#
NGINX_WEB=nginx-web
DOCKER_GEN=nginx-gen
LETS_ENCRYPT=nginx-letsencrypt

#
# Your external IP address
#
IP=0.0.0.0

#
# Default Network
#
NETWORK=webproxy

#
# Service Network (Optional)
#
# In case you decide to add a new network to your services containers you can set this
# network as a SERVICE_NETWORK
#
# [WARNING] This setting was built to use our `start.sh` script or in that special case
#           you could use the docker-composer with our multiple network option, as of:
#           `docker-compose -f docker-compose-multiple-networks.yml up -d`
#
#SERVICE_NETWORK=webservices

#
# NGINX file path
#
NGINX_FILES_PATH=/nginx/data

#
# NGINX use special conf files 
#
# In case you want to add some special configuration to your NGINX Web Proxy you could 
# add your files to ./conf.d/ folder as of sample file 'uploadsize.conf'
#
# [WARNING] This setting was built to use our `start.sh`.
#
# [WARNING] Once you set this options to true all your files will be copied to data
#           folder (./data/conf.d). If you decide to remove this special configuration
#           you must delete your files from data folder ./data/conf.d. 
#
USE_NGINX_CONF_FILES=true

#
# Docker Logging Config
#
# This section offers two options max-size and max-file, which follow the docker documentation
# as follow:
#
# logging:
#      driver: "json-file"
#      options:
#        max-size: "200k"
#        max-file: "10" 
#
#NGINX_WEB_LOG_MAX_SIZE=4m
#NGINX_WEB_LOG_MAX_FILE=10

#NGINX_GEN_LOG_MAX_SIZE=2m
#NGINX_GEN_LOG_MAX_FILE=10

#NGINX_LETSENCRYPT_LOG_MAX_SIZE=2m
#NGINX_LETSENCRYPT_LOG_MAX_FILE=10

This is my docker-compose.yml file:

version: '3'
services:
  nginx-web:
    image: nginx
    labels:
        com.github.jrcs.letsencrypt_nginx_proxy_companion.nginx_proxy: "true"
    container_name: ${NGINX_WEB:-nginx-web}
    restart: always
    ports:
      - "${IP:-0.0.0.0}:80:80"
      - "${IP:-0.0.0.0}:443:443"
    volumes:
      - ${NGINX_FILES_PATH:-./data}/conf.d:/etc/nginx/conf.d
      - ${NGINX_FILES_PATH:-./data}/vhost.d:/etc/nginx/vhost.d
      - ${NGINX_FILES_PATH:-./data}/html:/usr/share/nginx/html
      - ${NGINX_FILES_PATH:-./data}/certs:/etc/nginx/certs:ro
      - ${NGINX_FILES_PATH:-./data}/htpasswd:/etc/nginx/htpasswd:ro
    logging:
      options:
        max-size: ${NGINX_WEB_LOG_MAX_SIZE:-4m}
        max-file: ${NGINX_WEB_LOG_MAX_FILE:-10}

  nginx-gen:
    image: jwilder/docker-gen
    command: -notify-sighup ${NGINX_WEB:-nginx-web} -watch -wait 5s:30s /etc/docker-gen/templates/nginx.tmpl /etc/nginx/conf.d/default.conf
    container_name: ${DOCKER_GEN:-nginx-gen}
    restart: always
    volumes:
      - ${NGINX_FILES_PATH:-./data}/conf.d:/etc/nginx/conf.d
      - ${NGINX_FILES_PATH:-./data}/vhost.d:/etc/nginx/vhost.d
      - ${NGINX_FILES_PATH:-./data}/html:/usr/share/nginx/html
      - ${NGINX_FILES_PATH:-./data}/certs:/etc/nginx/certs:ro
      - ${NGINX_FILES_PATH:-./data}/htpasswd:/etc/nginx/htpasswd:ro
      - /var/run/docker.sock:/tmp/docker.sock:ro
      - ./nginx.tmpl:/etc/docker-gen/templates/nginx.tmpl:ro
    logging:
      options:
        max-size: ${NGINX_GEN_LOG_MAX_SIZE:-2m}
        max-file: ${NGINX_GEN_LOG_MAX_FILE:-10}

  nginx-letsencrypt:
    image: jrcs/letsencrypt-nginx-proxy-companion
    container_name: ${LETS_ENCRYPT:-nginx-letsencrypt}
    restart: always
    volumes:
      - ${NGINX_FILES_PATH:-./data}/conf.d:/etc/nginx/conf.d
      - ${NGINX_FILES_PATH:-./data}/vhost.d:/etc/nginx/vhost.d
      - ${NGINX_FILES_PATH:-./data}/html:/usr/share/nginx/html
      - ${NGINX_FILES_PATH:-./data}/certs:/etc/nginx/certs:rw
      - /var/run/docker.sock:/var/run/docker.sock:ro
    environment:
      NGINX_DOCKER_GEN_CONTAINER: ${DOCKER_GEN:-nginx-gen}
      NGINX_PROXY_CONTAINER: ${NGINX_WEB:-nginx-web}
    logging:
      options:
        max-size: ${NGINX_LETSENCRYPT_LOG_MAX_SIZE:-2m}
        max-file: ${NGINX_LETSENCRYPT_LOG_MAX_FILE:-10}

networks:
  default:
    external:
      name: ${NETWORK:-webproxy}

This is my uploadsize.conf file:

client_max_body_size 1000M

Now onto my wordpress files. Here is my wordpress docker-compose.yml file:

version: '3'

services:
   db:
     container_name: ${CONTAINER_DB_NAME}
     image: mariadb:latest
     restart: unless-stopped
     volumes:
        - ${DB_PATH}:/var/lib/mysql
     environment:
       MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}
       MYSQL_DATABASE: ${MYSQL_DATABASE}
       MYSQL_USER: ${MYSQL_USER}
       MYSQL_PASSWORD: ${MYSQL_PASSWORD}

   wordpress:
     depends_on:
       - db
     container_name: ${CONTAINER_WP_NAME}
     image: wordpress:latest
     restart: unless-stopped
     volumes:
       - ${WP_CORE}:/var/www/html
       - ${WP_CONTENT}:/var/www/html/wp-content
       - ./conf.d/uploadsize.ini:/usr/local/etc/php/conf.d/uploadsize.ini
     environment:
       WORDPRESS_DB_HOST: ${CONTAINER_DB_NAME}:3306
       WORDPRESS_DB_NAME: ${MYSQL_DATABASE}
       WORDPRESS_DB_USER: ${MYSQL_USER}
       WORDPRESS_DB_PASSWORD: ${MYSQL_PASSWORD}
       WORDPRESS_TABLE_PREFIX: ${WORDPRESS_TABLE_PREFIX}
       VIRTUAL_HOST: ${DOMAINS}
       LETSENCRYPT_HOST: ${DOMAINS}
       LETSENCRYPT_EMAIL: ${LETSENCRYPT_EMAIL} 

networks:
    default:
       external:
         name: ${NETWORK}

Here is my wordpress .env file:

# .env file to set up your wordpress site

#
# Network name
# 
# Your container app must use a network conencted to your webproxy 
# https://github.com/evertramos/docker-compose-letsencrypt-nginx-proxy-companion
#
NETWORK=webproxy

#
# Database Container configuration
# We recommend MySQL or MariaDB - please update docker-compose file if needed.
#
CONTAINER_DB_NAME=db

# Path to store your database
DB_PATH=/wordpress/database/data

# Root password for your database
MYSQL_ROOT_PASSWORD=mypassword

# Database name, user and password for your wordpress
MYSQL_DATABASE=mydatabasename
MYSQL_USER=myusername
MYSQL_PASSWORD=mypassword

#
# Wordpress Container configuration
#
CONTAINER_WP_NAME=wordpress

# Path to store your wordpress files
WP_CORE=/wordpress/core/data
WP_CONTENT=/wordpress/wp-content/data

# Table prefix
WORDPRESS_TABLE_PREFIX=wp_

# Your domain (or domains)
DOMAINS=mydomain.com,www.mydomian.com

# Your email for Let's Encrypt register
[email protected]

Here is my wordpress uploadsize.ini file:

file_uploads = On
memory_limit = 3000M
upload_max_filesize = 1000M
post_max_size = 2000M
max_execution_time = 1000

from docker-wordpress.

evertramos avatar evertramos commented on June 5, 2024

You miss the nginx command:

Try again coping and pasting this line:

    docker exec -it nginx-web nginx -s reload

from docker-wordpress.

evertramos avatar evertramos commented on June 5, 2024

I assume you have fixed that... if not open this issue again and comment.

Thanks!

from docker-wordpress.

Koerner avatar Koerner commented on June 5, 2024

Hi I had the same issue and fixed the ngnix limitation with the steps above, but I relaized that I forgot to add the conf.d folder to the wp folder. I added it, but now, if I run docker-compose restart I get the folowing error:

ERROR: for wordpress Cannot start service wordpress: OCI runtime create failed: container_linux.go:348: starting container process caused "process_linux.go:402: container init caused \"rootfs_linux.go:58: mounting \\\"/home/*/*/*/conf.d/uploadsize.ini\\\" to rootfs \\\"/var/lib/docker/overlay2/*/merged\\\" at \\\"/var/lib/docker/overlay2/*/merged/usr/local/etc/php/conf.d/uploadsize.ini\\\" caused \\\"not a directory\\\"\"": unknown: Are you trying to mount a directory onto a file (or vice-versa)? Check if the specified host path exists and is the expected type

How can I fix this?

from docker-wordpress.

evertramos avatar evertramos commented on June 5, 2024

@Koerner can you show how your docker-compose is looking?

from docker-wordpress.

Koerner avatar Koerner commented on June 5, 2024

`version: '3'

services:
db:
container_name: ${CONTAINER_DB_NAME}
image: mariadb:latest
restart: unless-stopped
volumes:
- ${DB_PATH}:/var/lib/mysql
environment:
MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}
MYSQL_DATABASE: ${MYSQL_DATABASE}
MYSQL_USER: ${MYSQL_USER}
MYSQL_PASSWORD: ${MYSQL_PASSWORD}

wordpress:
depends_on:
- db
container_name: ${CONTAINER_WP_NAME}
image: wordpress:latest
restart: unless-stopped
volumes:
- ${WP_CORE}:/var/www/html
- ${WP_CONTENT}:/var/www/html/wp-content
- ./conf.d/uploadsize.ini:/usr/local/etc/php/conf.d/uploadsize.ini
environment:
WORDPRESS_DB_HOST: ${CONTAINER_DB_NAME}:3306
WORDPRESS_DB_NAME: ${MYSQL_DATABASE}
WORDPRESS_DB_USER: ${MYSQL_USER}
WORDPRESS_DB_PASSWORD: ${MYSQL_PASSWORD}
WORDPRESS_TABLE_PREFIX: ${WORDPRESS_TABLE_PREFIX}
VIRTUAL_HOST: ${DOMAINS}
LETSENCRYPT_HOST: ${DOMAINS}
LETSENCRYPT_EMAIL: ${LETSENCRYPT_EMAIL}

networks:
default:
external:
name: ${NETWORK}`

.env: (extract)
# Path to store your wordpress files WP_CORE=/wp/wp-core WP_CONTENT=/wp/wp-content

from docker-wordpress.

evertramos avatar evertramos commented on June 5, 2024

Or you could have a www-data owner and group for the wp files.

from docker-wordpress.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.