Git Product home page Git Product logo

wordpress's Introduction

WordPress Docker Installer

Docker WordPress 5 with Nginx, PHP-FPM, MariaDB and Redis

  • Are you tired of slow, inefficient WordPress hosts?
  • Struggling with barebones "default" installs that leave all the tweaking and optimizations to figure out?
  • Frustrated with slow page loading time and slow server response times?
  • Dealing with missing functions, a plugin blacklist and limits on customizations or themes?
  • Annoyed by having to use an army of cache plugins to get a functioning site?
  • Sick of being in a shared server with a dozen other WordPress sites?

This is a perfect opportunity to get a WordPress Stack that provides an automated, super fast solution for those who want to maximize performance and prefer dedicated WordPress installs.

Why the Docker Wordpress Stack?

A high-performance Docker WordPress micro-services stack is based on lightweight, secure, up-to-date, and highly optimized set Docker services. We fuse a best of breed collection of Docker services from NGINX, PHP-FPM, MariaDB and Redis. Together they create a performance driven, flexible environment that delivers reliability, security, and scale.

Powerful NGINX and PHP optimizations ensure optimal WordPress performance, reducing or eliminating the need of WordPress plugins that create unnecessary overhead. As a result you can easily serve millions of requests a day with minimal CPU, RAM and disk resources.

This is the only WordPress Docker service that combined Nginx, PHP-FPM, MariaDB and Redis have been combined to deliver the following features:

  • Reverse Proxy
  • SEO optimizations
  • Customizable configurations
  • SSL with support for Lets Encrypt SSL certificates
  • Mime-type based caching
  • Redis LRU cache
  • Fastcgi cache
  • Proxy cache
  • tmpfs file cache
  • Brotli and Gzip compression
  • Redirects for moved content
  • Security & Bot Protection
  • Builtin monitoring of processes, ports, permissions... with Monit
  • Standardized UID/GID and Permissions (www-data)
  • Support GeoIP
  • Rate limited connections to slow down attackers
  • CDN support
  • Cache purge
  • Opcache
  • Paired with high performance PHP-FPM container
  • Cerbot
  • ACME: The simplest shell script for Let's Encrypt free certificate client (https://github.com/Neilpang/acme.sh)

There are many, many other benefits to this system.

Wordpress PageSpeed Benchmark

This Wordpress speed test was run using PageSpeed. This was running a full Wordpress stack and the default WP theme as detailed here: https://github.com/openbridge/wordpress

The install scored a 100, including exceptional performance on all the infrastructure benchmarks

Pagespeed-wordpress

User Guide

Getting Started

Step 1: Order Your Wordpress Installer

First, you need to order your installer. You can get that here!

WordPress Installer Order

LIMITED TIME OFFER: Get 75% off your order with coupon code SPECIAL75.

Your Installer

Once your order is complete you will receive an installer link. It will have the following format:

curl -sSL https://get.wordpressapp.sh/<your-token>.sh | DOMAIN=<yourdomain> sh

You will notice two parts to your WordPress installer link. The first part is is <your-token>.sh. The token reflects your specific purchase key. We will automatically create a unique token for your installer. The final link will look like this:

curl -sSL https://get.wordpressapp.sh/ch_12ASDKASKJKA2312213.sh | DOMAIN=<yourdomain> sh

Next, you will need to add your actual domain name. This means DOMAIN= should reference DNS you attached to your IP address. Replace the placeholder with your actual domain. It should look like this:

curl -sSL https://get.wordpressapp.sh/ch_12ASDKASKJKA2312213.sh | DOMAIN=www.mywebsite.com sh

All set? Lets move to Step 2 and get your hosting environment setup

Step 2: Getting Your Hosting Environment Setup

Within your hosting provider, make sure you have done some preparation in advance of running the installer. The following are three key areas to care for:

  • IP and DNS: Make sure your IP address and domain name are configured. This means the DNS you are using can get resolved to an IP address. If this is not setup, the Letsencrypt process will not be able to provision your SSL certs. The installer will fallback to self-signed SSL certs. If your IP (x.x.x.x) does not point to a DNS A Record ( yourhost.com or www.yourhost.com ) then you will need to manually adjust this later.

  • Host Operating System: The installer will work with CentOS 7 x64, Amazon Linux 1/2 x64 and Ubuntu 18/16 x64. Ideally for CentOS you will use the latest release. The same is for Ubuntu. For Amazon Linux, you can use Amazon Linux or Amazon Linux 2.

Here are some examples of using Amazon Lightsail:

Amazon Linux

Amazon OS

Ubuntu

Ubuntu

CentOS

CentOS

  • Firewall: Make sure ports 80 and 443 are open. Also, if you SSH into your server make sure 22 is also open.

  • Server Ram: We suggest a server with no less than 1 GB of ram. Can things run with 512 MB, yes. However, there is a risk of hitting memory constraints. The difference between an instance with 512 MB of ram and one with 1 GB of ram on Amazon Lightsail is $1.50 USD a month. Let's put it this way, the risk of hitting memory limits is not worth $1.50 in savings you might realize.

Lightsail Pricing

All set with these? You are ready to move to Step 3.

Step 3: Launch Your Server

Within your preferred hosting provided, launch a server instance that will host WordPress. Remember, make sure the server meets prerequisites we listed earlier for operating system, memory, firewall and DNS.

Running Your Installer

There are two options for running the WordPress installer:

  • A: USERDATA: preloading the installer via your hosting provider admin console USERDATA function
  • B: SSH: connecting to your server via SSH and running the installer via command line

A. USERDATA Approach

If your hosting provider supports USERDATA you can simply cut and paste your installer into the form field they provide. We normally suggest setting #!/usr/bin/env sh in the first line to properly set the runtime context for the installer. This is an example:

#!/usr/bin/env sh
curl -sSL https://get.wordpressapp.sh/ch_12ASDKASKJKA2312213.sh | DOMAIN=www.mywebsite.com sh

Here is what it looks like within Lightsail: Amazon Lightsail userdata

Thats it! When your host provisions the server the installer will get run automatically. Once complete, your server will be ready to go!

For reference, here are Amazon and Digital Ocean describe the USERDATA process in more detail:

Note: USERDATA ONLY applies when launching your server the first time, not during a start/stop of an instance.

Are you using the Amazon Marketplace image?

Take me to [Amazon AMI instructions](## I'm using the Amazon Marketplace AMI. How do I set the USERDATA for it?)

B. SSH Approach

Is the use of USERDATA required? NO! You can SSH your server and run the same command:

[root@ip-222-21-2-11 ec2-user]: curl -sSL https://get.wordpressapp.sh/<your-token>.sh | DOMAIN=<yourdomain> sh

NOTE: Timing to complete the install...

The installer needs configure the host, download a set of Docker images, Wordpress and connect to Letsencrypt. It will take from 1-5 minutes to complete the full install process depending on the instance type and network latency.

Step 4: Welcome! Your new WordPress install is activated

Congratulations! If you have run the installer you will have your default WordPress site up and running in a few minutes.

To verify your server is active visit the test page here: https://yourhost.com/index.html. If you did not set a domain, use the default Amazon EC2 address would look like this: https://ec2-22-123-98-217.compute-1.amazonaws.com/index.html

Once your WordPress install is complete, or if you set your hostname via USERDATA, then you can connect to it like https://yourhost.com.

Note: You will want to delete the test index.html.

The default WordPress 5 install visually looks like:

Image of Default WordPress Site

If you want to log into the /wp-admin/ console, you need to get your password. You can also get it from AWS console by looking at the Get System Logs and scrolling for WORDPRESS_ADMIN_PASSWORD. You can also SSH into your instance and get the creds. You can also SSH into your instance. The user/pass is located in a file called wordpress-login.txt. You will likely want to change this and remove the wordpress-login.txt after your first login.

Please note: You MUST use /wp-admin/, not /wp-admin to log into the admin console. NGINX will attempt to internally redirect /wp-adminwhich will result in an error.

Image of Default WordPress Admin

Frequently Asked Questions

Why do I need to setup DNS or a Domain name?

We require you use the a domain (yourhost.com or www.yourhost.com). This will ensure that everything is correctly auto configured on your behalf. For example, if you set www.yourhost.com NGINX will set it a server as www.yourhost.com. Please note: The domain yourhost.com is a placeholder, an example, Do not blindly use yourhost.com!

Remember, if you decide not to set DNS in advance you will need to manually configure SSL. We will install self-signed SSL certs as a temporary solution until you can configure everything according to the process outlined below.

DNS/IP setup must be done in advance of starting installer else the setup process and letsencrypt will not be able to resolve the name to your instance.. In this example we pasted the IP address as an A record for our target domain like this:

Image of setting up DNS A record

What is the wordpress.env file?

When you SSH into your server go to your HOME directory. In there you will see a wordpress.env file that was created for you. This is used by your Docker containers to initialize various container settings.

Here is what is resident in the file:

# Nginx Server
NGINX_SERVER_NAME=ec2-54-162-77-237.compute-1.amazonaws.com or yourhost.com
NGINX_APP_PLUGIN=WordPress
NGINX_CONFIG=php
NGINX_DEV_INSTALL=
NGINX_DOCROOT=/usr/share/nginx/html

# WordPress Settings
WORDPRESS_DB_PASSWORD=YechHICDZS3rhEAR41zeqnusIUxjJTew
WORDPRESS_DB_NAME=WordPress
WORDPRESS_DB_USER=WordPress
WORDPRESS_ADMIN=admin
WORDPRESS_VERSION=latest
WORDPRESS_ADMIN_PASSWORD=zPGW747e7XMazvt2
[email protected]

# PHP Configuration
APP_DOCROOT=/usr/share/nginx/html
PHP_START_SERVERS=16
PHP_MIN_SPARE_SERVERS=8
PHP_MAX_SPARE_SERVERS=16
PHP_MEMORY_LIMIT=256
PHP_OPCACHE_ENABLE=1
PHP_OPCACHE_MEMORY_CONSUMPTION=96
PHP_MAX_CHILDREN=16

# Upstream Servers
WORDPRESS_DB_HOST=mariadb:3306
WORDPRESS_REDIS_HOST=redis:6379
NGINX_PROXY_UPSTREAM=localhost:8080
REDIS_UPSTREAM=redis:6379
PHP_FPM_UPSTREAM=php-fpm:9000
PHP_FPM_PORT=9000

If you did not set DNS via USERDATA then there is only one place you will need to edit, which is NGINX_SERVER_NAME. You will likely see the AWS default. We default to the name assigned by AWS which would look like ec2-22-123-98-217.compute-1.amazonaws.com. You need to change this to reflect your actual domain name (not the AWS one). You do this by setting NGINX_SERVER_NAME.

  • NGINX_SERVER_NAME sets the default server name in nginx.conf and a few other locations. If you do not set this it will default to localhost. Typically this will be your domain name like www.openbridge.com. Note: Incorrectly setting a server name can create issues as many parts of the service rely on this matching your domain.

Also, you will also want to take note of the WORDPRESS_ADMIN_PASSWORD. This is the password you would use to login to WordPress via the wp-admin console. The default username is set via WORDPRESS_ADMIN and is admin.

As always, keep your ENV file safe and secure.

Only change these if you know what you are doing

Don't change any of the defaults for these unless you are a pro and understand what you are doing:

  • NGINX_DOCROOT sets the default www directory. The containers default to /usr/share/nginx/html so it is best left unchanged.
  • NGINX_CONFIG sets the default configuration director for your image. See the /conf directory to review a html and php configuration. Since WordPress is a PHP based application leave this as php.
  • PHP_FPM_UPSTREAM sets the upstream server(s) to connect with to php-fpm:9000. The PHP_FPM_PORT should also remain unchanged as PHP_FPM_PORT=9000.
  • NGINX_PROXY_UPSTREAM sets the upstream server(s) for the reverse proxy to connect with. Since the proxy is local to the container we use localhost.com:8080.
  • REDIS_UPSTREAM sets the Redis LRU cache to redis:6379.
  • The WORDPRESS_DB_HOST and WORDPRESS_REDIS_HOST mirror the same settings above. These will be WORDPRESS_DB_HOST=mariadb:3306 and WORDPRESS_REDIS_HOST=redis:6379.

You can set a collection of dummy files and certs for local testing:

  • NGINX_DEV_INSTALL Set to true if you want self-signed SSL certs installed and "hello world" HTML and PHP pages installed. This is useful for testing.
  • NOTE: Self-signed SSL certificates are always installed if the system does not detect here in the default cert location at /etc/letsencrypt/live/{HOST}/

If the rest of the wordpress.env variables don't look familiar, don't touch them ; )

Where do I set USERDATA?

On Amazon it will look like this:

Image of Amazon userdata

Do you offer an Amazon Marketplace AMI?

Yes, the Amazon Marketplace AMI is here: https://aws.amazon.com/marketplace/pp/B07FCV1BPF

I'm using the Amazon Marketplace AMI. How do I set the USERDATA for it?

Are you using our AWS AMI: https://aws.amazon.com/marketplace/pp/B07FCV1BPF? If so read on...

Setting USERDATA will set the host name in your AMI instance. If you do not set the USERDATA. we will use the instance host name set by AWS.

Make sure when launching your AMI you are setting this (replace "yourhost.com" with your actual domain)

#!/bin/bash
echo "SERVER_HOSTNAME=yourhost.com" > /home/ec2-user/host.sh

It will look like this:

Image of Amazon userdata

I see "Not Secure" in my browser

This happens if you forgot to setup or misconfigured the IP and DNS before running the installer You need to set your domain name and get your SSL setup.

Image of SSL

How are SSL certs organized?

To keep things organized we default to using letsencrypt pathing and naming conventions. Even if you are using your own certs, follow the naming conventions detailed below.

In keeping with the letsencrypt conventions the certs are using this path and naming scheme:

/etc/letsencrypt/live/${NGINX_SERVER_NAME}/;
├── server
│   ├── cert.pem
│   ├── chain.pem
│   ├── fullchain.pem
│   └── privkey.pem

The path /etc/letsencrypt/live is on your host.

lets assume your server name was www.mywebsite.com. The certs should be located here /etc/letsencrypt/live/www.mywebsite.com/

In the wordpress.yml file you need to make sure that pathing aligns. It should look like this:

volumes:
  - wordpress_data:/usr/share/nginx/html
  - /etc/letsencrypt/live/www.mywebsite.com/fullchain.pem:/etc/letsencrypt/live/www.mywebsite.com/fullchain.pem
  - /etc/letsencrypt/live/www.mywebsite.com/privkey.pem:/etc/letsencrypt/live/www.mywebsite.com/privkey.pem
  - /etc/letsencrypt/live/www.mywebsite.com/chain.pem:/etc/letsencrypt/live/www.mywebsite.com/chain.pem

How does NGINX know where to find the SSL certs?

NGINX will look for the mounted certs according the path set in the wordpress.yml. This aligns with the the default locations for the SSL certs within Docker NGINX here /etc/nginx/conf.d/ssl.conf.

ssl_certificate /etc/letsencrypt/live/www.mywebsite.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/www.mywebsite.com/privkey.pem;
ssl_trusted_certificate /etc/letsencrypt/live/www.mywebsite.com/chain.pem;

Can I manually run certbot for letsencrypt SSL certs?

On your host, not in the Docker image, we pre-installed the certbot Docker image.

First, make sure your NGINX is not running. You need to do this because cerbot needs to have post 80 and 443 open. If NGINX is running, there will be a port conflict. This will gracefully close down everything:

/usr/local/bin/docker-compose -f /home/ec2-user/wordpress.yml down --remove-orphans

Next, provision your SSL certificates:

docker pull certbot/certbot

docker run -it --rm -p 80:80 -p 443:443 --name certbot -v "/etc/letsencrypt:/etc/letsencrypt" -v "/var/lib/letsencrypt:/var/lib/letsencrypt" certbot/certbot certonly -n --debug --agree-tos --email [email protected] --standalone -d ${SERVER_HOSTNAME}

Then start up all your services again:

/usr/local/bin/docker-compose -f /home/ec2-user/wordpress.yml up -d --remove-orphans

NOTE: /home/ec2-user/ is the directory you ran the installer. Replace this with your actual directory. Normally this will be the HOME directory for the user account you used for the install. For example, for AWS it is likely that /home/ec2-user/ may be the path. Just do not copy this blindly as it is dependent on your unique environment.

Can I automate letsencrypt SSL renewals

Yes, you can setup a renewal process. The letsencrypt docs say check twice a day for changes. The the renewal process with cron will look something like this:

cat << EOF > /tmp/crontab.conf
55 4,16 * * * /opt/eff.org/certbot/venv/local/bin/pip install --upgrade certbot
59 4,16 * * * certbot-auto certonly -n --debug --agree-tos --pre-hook="docker stop nginx" --post-hook="docker start nginx" --standalone -d *.yourhost.com > /dev/null
EOF

Lastly, add everything to cron via cat /tmp/crontab.conf | crontab - && crontab -l

Here is another variant:

#!/usr/bin/env bash

# Stop Nginx first
docker kill nginx
# Run the renew function
docker run -it --rm -p 80:80 -p 443:443 --name certbot -v "/etc/letsencrypt:/etc/letsencrypt" -v "/var/lib/letsencrypt:/var/lib/letsencrypt" certbot/certbot renew
# Startup the service again
/usr/local/bin/docker-compose -f ./prod.yml up -d --remove-orphans

Depending on your Operating system, this may vary. Please do not copy as is. Test it first to make sure cron can run the process correctly within your host OS.

Check the docs to find an approach that works best for your host and OS: https://certbot.eff.org/docs/using.html

Do you already have SSL certs from another source?

As we mentioned SSL certs are mounted from directory on the host to the NGINX container: /etc/letsencrypt/live/<yourdomain>. If you need to set SSL certs manually because you have them already via some other third party, then read on.

Edit wordpress.yml

First, make sure you place your certs on the host in this path: /etc/letsencrypt/live/<yourdomain>.

Next, we want to add the path to your certs into the Docker compose wordpress.yml file. In the compose yml file see the SSL certs under the NGINX block. You want to add/edit the following into the compose file. Remember to put use the actual domain you want to use in place of <yourdomain>:

volumes:
  - wordpress_data:/usr/share/nginx/html
  - /etc/letsencrypt/live/<yourdomain>/fullchain.pem:/etc/letsencrypt/live/<yourdomain>/fullchain.pem
  - /etc/letsencrypt/live/<yourdomain>/privkey.pem:/etc/letsencrypt/live/<yourdomain>/privkey.pem
  - /etc/letsencrypt/live/<yourdomain>/chain.pem:/etc/letsencrypt/live/<yourdomain>/chain.pem

If you do not have a chain.pem, simply copy the fullchain.pem over.

cp /etc/letsencrypt/live/<yourdomain>/fullchain.pem  /etc/letsencrypt/live/<yourdomain>/chain.pem

After making the change to the compose file, save it. Then run this command to start everything:

/usr/local/bin/docker-compose -f /home/ec2-user/wordpress.yml up -d --remove-orphans

How do I Start and Stop Docker Services

If you want to start all your services, the command is:

/usr/local/bin/docker-compose -f /home/ec2-user/wordpress.yml up -d --remove-orphans

If you want to stop all your services, the command is:

/usr/local/bin/docker-compose -f /home/ec2-user/wordpress.yml down --remove-orphans

Can I use WP-CLI to manage my WordPress install?

Yes, WP-CLI is installed. It is the command-line interface for WordPress. You can update plugins, configure multisite installs and much more, without using a web browser.

WP-CLI is installed at /usr/bin/wp. To run WP-CLI commands make sure you are located in the WordPress root directory. In this case it is /usr/share/nginx/html

Here is just one example of using WP-CLI to activate plugins:

wp --allow-root plugin install amp antispam-bee nginx-helper wp-mail-smtp WordPress-seo redis-cache --activate

For a full list of commands, check out the WP-CLI docs.

I got a Bad Gateway error. What does that mean?

If you happen to see a bad gateway error, hard reload your browser. It is possible you have something in your browser cache that is causing this OR the system is still installing the WordPress application. It can take up to 5-10 minutes after initializing your instance for the site to appear. Normally it is much faster than that, but depending on a variety of factors it is best to wait for everything to settle:

Image of Bad Gateway

Customization

This WordPress services builds upon the community (free) versions of our NGINX and PHP-FPM images. You are free to customize these services and this WordPress service as you feel is appropriate. However, we can only provide support to systems that use the default installs.

Looking for customizations, configuration or enhancement based on your specific requirements? here are a few example engagements:

  • Performance Audit / Consult
  • Plugin Configuration
  • Docker optimizations
  • Elastic Load Balancers
  • SSL Performance Setup
  • CDN Configuration: Full-Site Delivery
  • Hosting Environment Troubleshooting
  • Redis, PHP-FPM Clustering
  • Using Amazon RDS
  • Backups
  • Investigate compatibility issues

Contact us and we are happy to discuss a professional services engagement.

Logs

You will likely want to dispatch logs to a service like Amazon Cloudwatch. This will allow you to setup alerts and triggers to perform tasks based on container activity.

Versioning

Wordpress Installer AMI

Docker Tag Wordpress Installer Alpine Version
latest 1.0.0 3.8

Amazon Marketplace AMI

Docker Tag AMI ID AMI Version Alpine Version
latest ami-deb3eea1 1.0.2 3.8
latest ami-deb3eea1 1.0.1 3.8

Issues

If you have any problems with or questions about this image, please contact us through a GitHub issue.

Contributing

You are invited to contribute new features, fixes, or updates, large or small; we are always thrilled to receive pull requests, and do our best to process them as fast as we can.

Before you start to code, we recommend discussing your plans through a GitHub issue, especially for more ambitious contributions. This gives other contributors a chance to point you in the right direction, give you feedback on your design, and help you find out if someone else is working on the same thing.

References

Lets Encrypt References

WordPress

Cache

PHP

License

This project is licensed under the MIT License - see the LICENSE file for details

wordpress's People

Contributors

tspicer avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

wordpress's Issues

How many sites limit?

Hey, how many sites limit?

And if it doesn't work as expected, do you have a refund policy?

Credit card got declined

I was trying to purchase a license and I've got a decline. The credit card is valid and done major payments with him.
Screenshot 2020-11-11 at 21 27 54 (3)

WooCommerce Caching Problems

Hi,

everything working fine except woocommerce cart functions. I cant edit cart, add and remove new items. I tried several caching plugins to exclude these site from caching but I think the nginx container is ignoring this.

So my question for now is, how I disable cache for specific subpages or queries in the nginx config files?

Regards

Demo?

Hi there,

this whole project looks really nice. Is there maybe a way to test the performance?
If i install a default wordpress with docker i get a 100 pagespeed as well on desktop.
It would be interesting to see it perform with my other sites that get only like 80 even tho they are optimised etc.

So my question would be if there is some kind of limited demo to test it out? And second, if i purchase a license is it for 1 server or unlimited?

Best

WooCommerce Cache Settings

Hello team, thank you very much for this great setup!

To support you i bought the setup from your website. The installation works without problems!

I have a question about WooCommerce compatibility. I would like to use your stack for a WooCommerce shop. Unfortunately, the shopping carts and all other data-relevant pages are cached. Is the problem with the NGINX cache or the Redis object cache? Or vll both?

Do you have an idea how I can set up the whole thing within your stack for use with WooCommerce? Do you see any further setting needs?

Thank you very much, - looking forward to hear from you!

wp admin toolbar cached

Hi @tspicer
i'm using your php nginx configuration with redis + php fpm images from openbridge git, in many cases when i visit any site page, the cache save also the wp admin toolbar header , by visiting in incognito i can see the cached wp admin toolbar.
this installer will fix my problem? can i use you installer in any vps ?

Question: Local Development & Deployment

Hey there,

thanks for this high-speed setup und all the support you gave on here. I was wondering how I would be able to do active development on the theme of this WordPress setup or write custom plugins and deploy it to the setup. As I saw at the moment it is using a volume (local driver), so I assume I would need to bind this volume to a directory on the server and maybe could then connect a git (bare) repo to update its code and have it inside the dockerized WordPress setup, or how do you do it at the moment? Any tips, hints, suggestions?

Appreciate your work though!

NGINX Docker Keeps Restarting

I've installed by the one-liner but here is the issue:

root@ubuntu:~# docker ps
CONTAINER ID        IMAGE                   COMMAND                  CREATED              STATUS                           PORTS                    NAMES
4b54111f86c0        openbridge/nginx        "/docker-entrypoint.…"   About a minute ago   Restarting (127) 2 seconds ago                            nginx
2dc6e325b0e3        openbridge/ob_php-fpm   "/docker-entrypoint.…"   About a minute ago   Up 59 seconds                    0.0.0.0:9000->9000/tcp   php-fpm
73f14f7a0e65        mariadb:latest          "docker-entrypoint.s…"   About a minute ago   Up About a minute                3306/tcp                 mariadb
7086ef5881b6        redis:alpine            "docker-entrypoint.s…"   About a minute ago   Up About a minute                6379/tcp                 redis

Here is the logs of the issue:

2020-06-14 09:37:53 (69.0 MB/s) - written to stdout [1675/1675]

--2020-06-14 09:37:53--  https://letsencrypt.org/certs/letsencryptauthorityx1.pem
Reusing existing connection to letsencrypt.org:443.
HTTP request sent, awaiting response... 200 OK
Length: 1986 (1.9K) [application/x-x509-ca-cert]
Saving to: 'STDOUT'

-                   100%[===================>]   1.94K  --.-KB/s    in 0s      

2020-06-14 09:37:53 (57.6 MB/s) - written to stdout [1986/1986]

--2020-06-14 09:37:53--  https://www.identrust.com/certificates/trustid/root-download-x3.html
Resolving www.identrust.com (www.identrust.com)... 192.35.177.67
Connecting to www.identrust.com (www.identrust.com)|192.35.177.67|:443... connected.
HTTP request sent, awaiting response... 301 Moved Permanently
Location: https://www.identrust.com/support/downloads [following]
--2020-06-14 09:37:54--  https://www.identrust.com/support/downloads
Reusing existing connection to www.identrust.com:443.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [text/html]
Saving to: 'STDOUT'

-                       [ <=>                ]  45.21K   241KB/s    in 0.2s    

2020-06-14 09:37:55 (241 KB/s) - written to stdout [46297]

FINISHED --2020-06-14 09:37:55--
Total wall clock time: 1.9s
Downloaded: 4 files, 51K in 0.2s (270 KB/s)
CDN was not set
sending incremental file list
mime.type
nginx.conf
bots.d/
bots.d/blockbots.conf
bots.d/ddos.conf
bots.d/whitelist-domains.conf
bots.d/whitelist-ips.conf
conf.d/
conf.d/.DS_Store
conf.d/botblocker-nginx-settings.conf
conf.d/brotli.conf
conf.d/cdn.conf
conf.d/error.conf
conf.d/failed.conf
conf.d/globalblacklist.conf
conf.d/gzip.conf
conf.d/health.conf
conf.d/location.conf
conf.d/monit.conf
conf.d/pagespeed-server.conf
conf.d/pagespeed.conf
conf.d/proxy.conf
conf.d/purge.conf
conf.d/secure.conf
conf.d/seo.conf
conf.d/ssl.conf
fastcgi.d/
fastcgi.d/fastcgi.conf
geo.d/
geo.d/purge.conf
geo.d/ratelimit.conf
geo.d/whitelist.conf
header.d/
header.d/fastcgi.conf
header.d/httpd.conf
header.d/proxy.conf
map.d/access/
map.d/access/access.map
map.d/cache/
map.d/cache/expires.map
map.d/cache/phpsession.map
map.d/header/
map.d/header/canonical.map
map.d/header/port.map
map.d/header/proto.map
map.d/header/robot.map
map.d/header/scheme.map
map.d/header/upgrade.map
map.d/logs/
map.d/logs/ip.map
map.d/logs/ua.map
map.d/nocache/
map.d/nocache/cookie.map
map.d/nocache/nocache.map
map.d/purge/
map.d/purge/purge.map
map.d/redirects/
map.d/redirects/example.map
map.d/referrer/
map.d/referrer/bot.map
map.d/referrer/crawler.map
map.d/srcache/
map.d/srcache/srcache.map
redis.d/
redis.d/cache.conf
redis.d/location.conf
sites-available/
sites-available/default.vhost
status.d/
status.d/status.conf
upstream.d/
upstream.d/php-fpm.conf
upstream.d/proxy.conf
upstream.d/redis.conf

sent 50,499 bytes  received 1,165 bytes  103,328.00 bytes/sec
total size is 46,450  speedup is 0.90
sending incremental file list
check_nginx

sent 2,204 bytes  received 35 bytes  4,478.00 bytes/sec
total size is 2,113  speedup is 0.94
BOTS was not set
set daemon 10
    with START DELAY 15
set pidfile /run/monit.pid
set statefile /run/monit.state
set httpd port 2849 and
    use address localhost
    allow localhost
set logfile syslog
set eventqueue
    basedir /var/run
    slots 100
include /etc/monit.d/*
Starting Monit 5.26.0 daemon with http interface at [localhost]:2849
Error loading shared library libpcre.so.1: No such file or directory (needed by /usr/sbin/nginx)
Error relocating /usr/sbin/nginx: pcre_exec: symbol not found
Error relocating /usr/sbin/nginx: pcre_config: symbol not found
Error relocating /usr/sbin/nginx: pcre_fullinfo: symbol not found
Error relocating /usr/sbin/nginx: pcre_compile: symbol not found
Error relocating /usr/sbin/nginx: pcre_study: symbol not found
Error relocating /usr/sbin/nginx: pcre_free_study: symbol not found
Error relocating /usr/sbin/nginx: pcre_free: symbol not found
Error relocating /usr/sbin/nginx: pcre_malloc: symbol not found
--2020-06-14 09:38:03--  https://letsencrypt.org/certs/isrgrootx1.pem
Resolving letsencrypt.org (letsencrypt.org)... 68.183.215.91, 2a03:b0c0:3:d0::d19:7001
Connecting to letsencrypt.org (letsencrypt.org)|68.183.215.91|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1939 (1.9K) [application/x-x509-ca-cert]
Saving to: 'STDOUT'

-                   100%[===================>]   1.89K  --.-KB/s    in 0s      

2020-06-14 09:38:03 (81.4 MB/s) - written to stdout [1939/1939]

--2020-06-14 09:38:03--  https://letsencrypt.org/certs/lets-encrypt-x1-cross-signed.pem
Reusing existing connection to letsencrypt.org:443.
HTTP request sent, awaiting response... 200 OK
Length: 1675 (1.6K) [application/x-x509-ca-cert]
Saving to: 'STDOUT'

-                   100%[===================>]   1.64K  --.-KB/s    in 0s      

2020-06-14 09:38:03 (29.4 MB/s) - written to stdout [1675/1675]

--2020-06-14 09:38:03--  https://letsencrypt.org/certs/letsencryptauthorityx1.pem
Reusing existing connection to letsencrypt.org:443.
HTTP request sent, awaiting response... 200 OK
Length: 1986 (1.9K) [application/x-x509-ca-cert]
Saving to: 'STDOUT'

-                   100%[===================>]   1.94K  --.-KB/s    in 0s      

2020-06-14 09:38:03 (31.9 MB/s) - written to stdout [1986/1986]

--2020-06-14 09:38:03--  https://www.identrust.com/certificates/trustid/root-download-x3.html
Resolving www.identrust.com (www.identrust.com)... 192.35.177.67
Connecting to www.identrust.com (www.identrust.com)|192.35.177.67|:443... connected.
HTTP request sent, awaiting response... 301 Moved Permanently
Location: https://www.identrust.com/support/downloads [following]
--2020-06-14 09:38:04--  https://www.identrust.com/support/downloads
Reusing existing connection to www.identrust.com:443.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [text/html]
Saving to: 'STDOUT'

-                       [ <=>                ]  45.21K   248KB/s    in 0.2s    

2020-06-14 09:38:04 (248 KB/s) - written to stdout [46297]

FINISHED --2020-06-14 09:38:04--
Total wall clock time: 1.9s
Downloaded: 4 files, 51K in 0.2s (278 KB/s)
CDN was not set
sending incremental file list
mime.type
nginx.conf
bots.d/
bots.d/blockbots.conf
bots.d/ddos.conf
bots.d/whitelist-domains.conf
bots.d/whitelist-ips.conf
conf.d/
conf.d/.DS_Store
conf.d/botblocker-nginx-settings.conf
conf.d/brotli.conf
conf.d/cdn.conf
conf.d/error.conf
conf.d/failed.conf
conf.d/globalblacklist.conf
conf.d/gzip.conf
conf.d/health.conf
conf.d/location.conf
conf.d/monit.conf
conf.d/pagespeed-server.conf
conf.d/pagespeed.conf
conf.d/proxy.conf
conf.d/purge.conf
conf.d/secure.conf
conf.d/seo.conf
conf.d/ssl.conf
fastcgi.d/
fastcgi.d/fastcgi.conf
geo.d/
geo.d/purge.conf
geo.d/ratelimit.conf
geo.d/whitelist.conf
header.d/
header.d/fastcgi.conf
header.d/httpd.conf
header.d/proxy.conf
map.d/access/
map.d/access/access.map
map.d/cache/
map.d/cache/expires.map
map.d/cache/phpsession.map
map.d/header/
map.d/header/canonical.map
map.d/header/port.map
map.d/header/proto.map
map.d/header/robot.map
map.d/header/scheme.map
map.d/header/upgrade.map
map.d/logs/
map.d/logs/ip.map
map.d/logs/ua.map
map.d/nocache/
map.d/nocache/cookie.map
map.d/nocache/nocache.map
map.d/purge/
map.d/purge/purge.map
map.d/redirects/
map.d/redirects/example.map
map.d/referrer/
map.d/referrer/bot.map
map.d/referrer/crawler.map
map.d/srcache/
map.d/srcache/srcache.map
redis.d/
redis.d/cache.conf
redis.d/location.conf
sites-available/
sites-available/default.vhost
status.d/
status.d/status.conf
upstream.d/
upstream.d/php-fpm.conf
upstream.d/proxy.conf
upstream.d/redis.conf

sent 50,495 bytes  received 1,161 bytes  103,312.00 bytes/sec
total size is 46,450  speedup is 0.90
sending incremental file list
check_nginx

sent 2,204 bytes  received 35 bytes  4,478.00 bytes/sec
total size is 2,113  speedup is 0.94
BOTS was not set
set daemon 10
    with START DELAY 15
set pidfile /run/monit.pid
set statefile /run/monit.state
set httpd port 2849 and
    use address localhost
    allow localhost
set logfile syslog
set eventqueue
    basedir /var/run
    slots 100
include /etc/monit.d/*
Starting Monit 5.26.0 daemon with http interface at [localhost]:2849
Error loading shared library libpcre.so.1: No such file or directory (needed by /usr/sbin/nginx)
Error relocating /usr/sbin/nginx: pcre_exec: symbol not found
Error relocating /usr/sbin/nginx: pcre_config: symbol not found
Error relocating /usr/sbin/nginx: pcre_fullinfo: symbol not found
Error relocating /usr/sbin/nginx: pcre_compile: symbol not found
Error relocating /usr/sbin/nginx: pcre_study: symbol not found
Error relocating /usr/sbin/nginx: pcre_free_study: symbol not found
Error relocating /usr/sbin/nginx: pcre_free: symbol not found
Error relocating /usr/sbin/nginx: pcre_malloc: symbol not found
--2020-06-14 09:38:18--  https://letsencrypt.org/certs/isrgrootx1.pem
Resolving letsencrypt.org (letsencrypt.org)... 167.99.137.12, 2a03:b0c0:3:d0::d19:7001
Connecting to letsencrypt.org (letsencrypt.org)|167.99.137.12|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1939 (1.9K) [application/x-x509-ca-cert]
Saving to: 'STDOUT'

-                   100%[===================>]   1.89K  --.-KB/s    in 0s      

2020-06-14 09:38:19 (34.2 MB/s) - written to stdout [1939/1939]

--2020-06-14 09:38:19--  https://letsencrypt.org/certs/lets-encrypt-x1-cross-signed.pem
Reusing existing connection to letsencrypt.org:443.
HTTP request sent, awaiting response... 200 OK
Length: 1675 (1.6K) [application/x-x509-ca-cert]
Saving to: 'STDOUT'

-                   100%[===================>]   1.64K  --.-KB/s    in 0s      

2020-06-14 09:38:19 (15.2 MB/s) - written to stdout [1675/1675]

--2020-06-14 09:38:19--  https://letsencrypt.org/certs/letsencryptauthorityx1.pem
Reusing existing connection to letsencrypt.org:443.
HTTP request sent, awaiting response... 200 OK
Length: 1986 (1.9K) [application/x-x509-ca-cert]
Saving to: 'STDOUT'

-                   100%[===================>]   1.94K  --.-KB/s    in 0s      

2020-06-14 09:38:19 (81.3 MB/s) - written to stdout [1986/1986]

--2020-06-14 09:38:19--  https://www.identrust.com/certificates/trustid/root-download-x3.html
Resolving www.identrust.com (www.identrust.com)... 192.35.177.67
Connecting to www.identrust.com (www.identrust.com)|192.35.177.67|:443... connected.
HTTP request sent, awaiting response... 301 Moved Permanently
Location: https://www.identrust.com/support/downloads [following]
--2020-06-14 09:38:20--  https://www.identrust.com/support/downloads
Reusing existing connection to www.identrust.com:443.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [text/html]
Saving to: 'STDOUT'

-                       [ <=>                ]  45.21K   240KB/s    in 0.2s    

2020-06-14 09:38:20 (240 KB/s) - written to stdout [46297]

FINISHED --2020-06-14 09:38:20--
Total wall clock time: 2.0s
Downloaded: 4 files, 51K in 0.2s (269 KB/s)
CDN was not set
sending incremental file list
mime.type
nginx.conf
bots.d/
bots.d/blockbots.conf
bots.d/ddos.conf
bots.d/whitelist-domains.conf
bots.d/whitelist-ips.conf
conf.d/
conf.d/.DS_Store
conf.d/botblocker-nginx-settings.conf
conf.d/brotli.conf
conf.d/cdn.conf
conf.d/error.conf
conf.d/failed.conf
conf.d/globalblacklist.conf
conf.d/gzip.conf
conf.d/health.conf
conf.d/location.conf
conf.d/monit.conf
conf.d/pagespeed-server.conf
conf.d/pagespeed.conf
conf.d/proxy.conf
conf.d/purge.conf
conf.d/secure.conf
conf.d/seo.conf
conf.d/ssl.conf
fastcgi.d/
fastcgi.d/fastcgi.conf
geo.d/
geo.d/purge.conf
geo.d/ratelimit.conf
geo.d/whitelist.conf
header.d/
header.d/fastcgi.conf
header.d/httpd.conf
header.d/proxy.conf
map.d/access/
map.d/access/access.map
map.d/cache/
map.d/cache/expires.map
map.d/cache/phpsession.map
map.d/header/
map.d/header/canonical.map
map.d/header/port.map
map.d/header/proto.map
map.d/header/robot.map
map.d/header/scheme.map
map.d/header/upgrade.map
map.d/logs/
map.d/logs/ip.map
map.d/logs/ua.map
map.d/nocache/
map.d/nocache/cookie.map
map.d/nocache/nocache.map
map.d/purge/
map.d/purge/purge.map
map.d/redirects/
map.d/redirects/example.map
map.d/referrer/
map.d/referrer/bot.map
map.d/referrer/crawler.map
map.d/srcache/
map.d/srcache/srcache.map
redis.d/
redis.d/cache.conf
redis.d/location.conf
sites-available/
sites-available/default.vhost
status.d/
status.d/status.conf
upstream.d/
upstream.d/php-fpm.conf
upstream.d/proxy.conf
upstream.d/redis.conf

sent 50,499 bytes  received 1,165 bytes  103,328.00 bytes/sec
total size is 46,450  speedup is 0.90
sending incremental file list
check_nginx

sent 2,204 bytes  received 35 bytes  4,478.00 bytes/sec
total size is 2,113  speedup is 0.94
BOTS was not set
set daemon 10
    with START DELAY 15
set pidfile /run/monit.pid
set statefile /run/monit.state
set httpd port 2849 and
    use address localhost
    allow localhost
set logfile syslog
set eventqueue
    basedir /var/run
    slots 100
include /etc/monit.d/*
Starting Monit 5.26.0 daemon with http interface at [localhost]:2849
Error loading shared library libpcre.so.1: No such file or directory (needed by /usr/sbin/nginx)
Error relocating /usr/sbin/nginx: pcre_exec: symbol not found
Error relocating /usr/sbin/nginx: pcre_config: symbol not found
Error relocating /usr/sbin/nginx: pcre_fullinfo: symbol not found
Error relocating /usr/sbin/nginx: pcre_compile: symbol not found
Error relocating /usr/sbin/nginx: pcre_study: symbol not found
Error relocating /usr/sbin/nginx: pcre_free_study: symbol not found
Error relocating /usr/sbin/nginx: pcre_free: symbol not found
Error relocating /usr/sbin/nginx: pcre_malloc: symbol not found
--2020-06-14 09:38:47--  https://letsencrypt.org/certs/isrgrootx1.pem
Resolving letsencrypt.org (letsencrypt.org)... 167.99.129.42, 2a03:b0c0:3:d0::d19:7001
Connecting to letsencrypt.org (letsencrypt.org)|167.99.129.42|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1939 (1.9K) [application/x-x509-ca-cert]
Saving to: 'STDOUT'

-                   100%[===================>]   1.89K  --.-KB/s    in 0s      

2020-06-14 09:38:48 (83.1 MB/s) - written to stdout [1939/1939]

--2020-06-14 09:38:48--  https://letsencrypt.org/certs/lets-encrypt-x1-cross-signed.pem
Reusing existing connection to letsencrypt.org:443.
HTTP request sent, awaiting response... 200 OK
Length: 1675 (1.6K) [application/x-x509-ca-cert]
Saving to: 'STDOUT'

-                   100%[===================>]   1.64K  --.-KB/s    in 0s      

2020-06-14 09:38:48 (77.0 MB/s) - written to stdout [1675/1675]

--2020-06-14 09:38:48--  https://letsencrypt.org/certs/letsencryptauthorityx1.pem
Reusing existing connection to letsencrypt.org:443.
HTTP request sent, awaiting response... 200 OK
Length: 1986 (1.9K) [application/x-x509-ca-cert]
Saving to: 'STDOUT'

-                   100%[===================>]   1.94K  --.-KB/s    in 0s      

2020-06-14 09:38:48 (96.0 MB/s) - written to stdout [1986/1986]

--2020-06-14 09:38:48--  https://www.identrust.com/certificates/trustid/root-download-x3.html
Resolving www.identrust.com (www.identrust.com)... 192.35.177.67
Connecting to www.identrust.com (www.identrust.com)|192.35.177.67|:443... connected.
HTTP request sent, awaiting response... 301 Moved Permanently
Location: https://www.identrust.com/support/downloads [following]
--2020-06-14 09:38:49--  https://www.identrust.com/support/downloads
Reusing existing connection to www.identrust.com:443.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [text/html]
Saving to: 'STDOUT'

-                       [ <=>                ]  45.21K   244KB/s    in 0.2s    

2020-06-14 09:38:49 (244 KB/s) - written to stdout [46297]

FINISHED --2020-06-14 09:38:49--
Total wall clock time: 1.9s
Downloaded: 4 files, 51K in 0.2s (273 KB/s)
CDN was not set
sending incremental file list
mime.type
nginx.conf
bots.d/
bots.d/blockbots.conf
bots.d/ddos.conf
bots.d/whitelist-domains.conf
bots.d/whitelist-ips.conf
conf.d/
conf.d/.DS_Store
conf.d/botblocker-nginx-settings.conf
conf.d/brotli.conf
conf.d/cdn.conf
conf.d/error.conf
conf.d/failed.conf
conf.d/globalblacklist.conf
conf.d/gzip.conf
conf.d/health.conf
conf.d/location.conf
conf.d/monit.conf
conf.d/pagespeed-server.conf
conf.d/pagespeed.conf
conf.d/proxy.conf
conf.d/purge.conf
conf.d/secure.conf
conf.d/seo.conf
conf.d/ssl.conf
fastcgi.d/
fastcgi.d/fastcgi.conf
geo.d/
geo.d/purge.conf
geo.d/ratelimit.conf
geo.d/whitelist.conf
header.d/
header.d/fastcgi.conf
header.d/httpd.conf
header.d/proxy.conf
map.d/access/
map.d/access/access.map
map.d/cache/
map.d/cache/expires.map
map.d/cache/phpsession.map
map.d/header/
map.d/header/canonical.map
map.d/header/port.map
map.d/header/proto.map
map.d/header/robot.map
map.d/header/scheme.map
map.d/header/upgrade.map
map.d/logs/
map.d/logs/ip.map
map.d/logs/ua.map
map.d/nocache/
map.d/nocache/cookie.map
map.d/nocache/nocache.map
map.d/purge/
map.d/purge/purge.map
map.d/redirects/
map.d/redirects/example.map
map.d/referrer/
map.d/referrer/bot.map
map.d/referrer/crawler.map
map.d/srcache/
map.d/srcache/srcache.map
redis.d/
redis.d/cache.conf
redis.d/location.conf
sites-available/
sites-available/default.vhost
status.d/
status.d/status.conf
upstream.d/
upstream.d/php-fpm.conf
upstream.d/proxy.conf
upstream.d/redis.conf

sent 50,499 bytes  received 1,165 bytes  103,328.00 bytes/sec
total size is 46,450  speedup is 0.90
sending incremental file list
check_nginx

sent 2,204 bytes  received 35 bytes  4,478.00 bytes/sec
total size is 2,113  speedup is 0.94
BOTS was not set
set daemon 10
    with START DELAY 15
set pidfile /run/monit.pid
set statefile /run/monit.state
set httpd port 2849 and
    use address localhost
    allow localhost
set logfile syslog
set eventqueue
    basedir /var/run
    slots 100
include /etc/monit.d/*
Starting Monit 5.26.0 daemon with http interface at [localhost]:2849
Error loading shared library libpcre.so.1: No such file or directory (needed by /usr/sbin/nginx)
Error relocating /usr/sbin/nginx: pcre_exec: symbol not found
Error relocating /usr/sbin/nginx: pcre_config: symbol not found
Error relocating /usr/sbin/nginx: pcre_fullinfo: symbol not found
Error relocating /usr/sbin/nginx: pcre_compile: symbol not found
Error relocating /usr/sbin/nginx: pcre_study: symbol not found
Error relocating /usr/sbin/nginx: pcre_free_study: symbol not found
Error relocating /usr/sbin/nginx: pcre_free: symbol not found
Error relocating /usr/sbin/nginx: pcre_malloc: symbol not found
--2020-06-14 09:39:42--  https://letsencrypt.org/certs/isrgrootx1.pem
Resolving letsencrypt.org (letsencrypt.org)... 134.209.226.211, 2a03:b0c0:3:e0::26f:c001
Connecting to letsencrypt.org (letsencrypt.org)|134.209.226.211|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1939 (1.9K) [application/x-x509-ca-cert]
Saving to: 'STDOUT'

-                   100%[===================>]   1.89K  --.-KB/s    in 0s      

2020-06-14 09:39:42 (14.3 MB/s) - written to stdout [1939/1939]

--2020-06-14 09:39:42--  https://letsencrypt.org/certs/lets-encrypt-x1-cross-signed.pem
Reusing existing connection to letsencrypt.org:443.
HTTP request sent, awaiting response... 200 OK
Length: 1675 (1.6K) [application/x-x509-ca-cert]
Saving to: 'STDOUT'

-                   100%[===================>]   1.64K  --.-KB/s    in 0s      

2020-06-14 09:39:42 (43.8 MB/s) - written to stdout [1675/1675]

--2020-06-14 09:39:42--  https://letsencrypt.org/certs/letsencryptauthorityx1.pem
Reusing existing connection to letsencrypt.org:443.
HTTP request sent, awaiting response... 200 OK
Length: 1986 (1.9K) [application/x-x509-ca-cert]
Saving to: 'STDOUT'

-                   100%[===================>]   1.94K  --.-KB/s    in 0s      

2020-06-14 09:39:42 (78.8 MB/s) - written to stdout [1986/1986]

--2020-06-14 09:39:42--  https://www.identrust.com/certificates/trustid/root-download-x3.html
Resolving www.identrust.com (www.identrust.com)... 192.35.177.67
Connecting to www.identrust.com (www.identrust.com)|192.35.177.67|:443... connected.
HTTP request sent, awaiting response... 301 Moved Permanently
Location: https://www.identrust.com/support/downloads [following]
--2020-06-14 09:39:43--  https://www.identrust.com/support/downloads
Reusing existing connection to www.identrust.com:443.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [text/html]
Saving to: 'STDOUT'

-                       [ <=>                ]  45.21K   257KB/s    in 0.2s    

2020-06-14 09:39:44 (257 KB/s) - written to stdout [46297]

FINISHED --2020-06-14 09:39:44--
Total wall clock time: 1.9s
Downloaded: 4 files, 51K in 0.2s (288 KB/s)
CDN was not set
sending incremental file list
mime.type
nginx.conf
bots.d/
bots.d/blockbots.conf
bots.d/ddos.conf
bots.d/whitelist-domains.conf
bots.d/whitelist-ips.conf
conf.d/
conf.d/.DS_Store
conf.d/botblocker-nginx-settings.conf
conf.d/brotli.conf
conf.d/cdn.conf
conf.d/error.conf
conf.d/failed.conf
conf.d/globalblacklist.conf
conf.d/gzip.conf
conf.d/health.conf
conf.d/location.conf
conf.d/monit.conf
conf.d/pagespeed-server.conf
conf.d/pagespeed.conf
conf.d/proxy.conf
conf.d/purge.conf
conf.d/secure.conf
conf.d/seo.conf
conf.d/ssl.conf
fastcgi.d/
fastcgi.d/fastcgi.conf
geo.d/
geo.d/purge.conf
geo.d/ratelimit.conf
geo.d/whitelist.conf
header.d/
header.d/fastcgi.conf
header.d/httpd.conf
header.d/proxy.conf
map.d/access/
map.d/access/access.map
map.d/cache/
map.d/cache/expires.map
map.d/cache/phpsession.map
map.d/header/
map.d/header/canonical.map
map.d/header/port.map
map.d/header/proto.map
map.d/header/robot.map
map.d/header/scheme.map
map.d/header/upgrade.map
map.d/logs/
map.d/logs/ip.map
map.d/logs/ua.map
map.d/nocache/
map.d/nocache/cookie.map
map.d/nocache/nocache.map
map.d/purge/
map.d/purge/purge.map
map.d/redirects/
map.d/redirects/example.map
map.d/referrer/
map.d/referrer/bot.map
map.d/referrer/crawler.map
map.d/srcache/
map.d/srcache/srcache.map
redis.d/
redis.d/cache.conf
redis.d/location.conf
sites-available/
sites-available/default.vhost
status.d/
status.d/status.conf
upstream.d/
upstream.d/php-fpm.conf
upstream.d/proxy.conf
upstream.d/redis.conf

sent 50,499 bytes  received 1,165 bytes  103,328.00 bytes/sec
total size is 46,450  speedup is 0.90
sending incremental file list
check_nginx

sent 2,204 bytes  received 35 bytes  4,478.00 bytes/sec
total size is 2,113  speedup is 0.94
BOTS was not set
set daemon 10
    with START DELAY 15
set pidfile /run/monit.pid
set statefile /run/monit.state
set httpd port 2849 and
    use address localhost
    allow localhost
set logfile syslog
set eventqueue
    basedir /var/run
    slots 100
include /etc/monit.d/*
Starting Monit 5.26.0 daemon with http interface at [localhost]:2849
Error loading shared library libpcre.so.1: No such file or directory (needed by /usr/sbin/nginx)
Error relocating /usr/sbin/nginx: pcre_exec: symbol not found
Error relocating /usr/sbin/nginx: pcre_config: symbol not found
Error relocating /usr/sbin/nginx: pcre_fullinfo: symbol not found
Error relocating /usr/sbin/nginx: pcre_compile: symbol not found
Error relocating /usr/sbin/nginx: pcre_study: symbol not found
Error relocating /usr/sbin/nginx: pcre_free_study: symbol not found
Error relocating /usr/sbin/nginx: pcre_free: symbol not found
Error relocating /usr/sbin/nginx: pcre_malloc: symbol not found

OS: Ubuntu 18.04

Increase Max Upload Size

Hello,
How can I increase this WordPress implementation's default max-upload size?
It is currently set at 50mb and none of the methods found online work.
Thank you

installation problem

Hello, i run the code with the server IP. dont have the domain yet. I will point it later.

The installation was successful apart ssl errors.

I open the ip on browsers on chrome says the SITE CANNOT BE REACHED.

I am new with docker and dont know how to initate the website.

I did run service nginx status it says the nginx.status could not be found
In the /var theres no html or www folder to see the wordpress file.

How do I start thee website?

nginx.conf

Hi! Where is nginx.conf file to change?

No WP-CLI and Admin password is not working

Hey there,

I bought and installed this stack recently and I have a problem with the setup. So far it worked and the sh script run through as expected. But not the credentials generated in the wordpress-login.txt are not set correctly, so I can't log in with the given password there. Is this due to this setup?

Furthermore, I went into the containers for php-fpm and nginx and there is no installed wp-cli inside the usr/bin. I'm a bit confused because in the repo it said there is everything set up properly and working. So I could install it manually of course and change the image but as I bought this setup I assume everything should be installed correctly as stated in the docs. Could you help me out with this?

Oh, and I didn't change anything on the sh script or similar. I just ran it, and I worked through it properly without errors. Installed it on a clean fresh Ubuntu instance on my own root server. Letsecnrpyt and Domain DNS are setup fine and working correctly. I can see the frontend without any problem.

No Wordpress?

Hey,

just pruchased, the default nginx index.html with certficate is working but I cant see any wordpress instance, the docker volume (wordpress_data) containts just :

50x.html index.html

The env files and credentials created well.

Seems like WP get not downloaded. How I can fix that?

If I repeat the install command its says me WP installed already. Skipping.

Regards

Wrong redirect when access "/wp-admin"

Hi,

the backend redirects me to port 8080 when I access my backend trought "domain.tld/wp-admin" without an slash at the end. With slash or /admin working well.

Regards

Nginx container keep restarting

Hi!

I am trying to deploy a local wordpress site with your product, but the nginx container keeps restarting.

I ran docker logs nginx and I found this error:

2021/01/05 12:19:52 [emerg] 1#1: cannot load certificate "/etc/letsencrypt/live/www.mysite.com/fullchain.pem": PEM_read_bio_X509_AUX() failed (SSL: error:0909006C:PEM routines:get_name:no start line:Expecting: TRUSTED CERTIFICATE)
nginx: [emerg] cannot load certificate "/etc/letsencrypt/live/www.mysite.com/fullchain.pem": PEM_read_bio_X509_AUX() failed (SSL: error:0909006C:PEM routines:get_name:no start line:Expecting: TRUSTED CERTIFICATE)

What shoud I do? Did I missed something at installation?

bugs (directive is duplicate & recv() failed (104: Connection reset by peer) )

Hello @tspicer
i installed Wordpress Accelerated in amazonaws but i got 2 problems

first problem

2019/06/28 13:16:49 [emerg] 1#1: "variables_hash_max_size" directive is duplicate in /etc/nginx/conf.d/botblocker-nginx-settings.conf:18
nginx      | nginx: [emerg] "variables_hash_max_size" directive is duplicate in /etc/nginx/conf.d/botblocker-nginx-settings.conf:18

i fix it by commenting variables_hash_max_size & variables_hash_max_size in nginx.conf

the second problem
The plugin "alidropship" require ioncube and chrome extension, when i try to import from extension to wordpress, i get 502, i tried to fix it but always same problem.
i contacted plugin support they said

The issue is with connection between Google Chrome Extention and nginx of your server, not AliDropship plugin. The Extention transfers the data from Chrome browser external environment to nginx and PHP modules and then to AliDropship plugin.

Our developers replied that Google Chrome Extention uses admin-ajax.php module, that is why there is a relation between the errors you got and Google Chrome Extention.

this is logs file

[error] 1051#1051: *73 recv() failed (104: Connection reset by peer) while reading response header from upstream, client: 127.0.0.1, server: mythicshop.com, request: "POST /wp-json/alids/v1/extension HTTP/1.1", upstream: "fastcgi://172.24.0.4:9000", host:

"remote_addr": "127.0.0.1", "remote_user": "-", "status": "502", "request": "POST /wp-json/alids/v1/extension HTTP/1.1", "request_uri": "/wp-json/alids/v1/extension", "request_method": "POST", "request_time": "0.100", "request_uri_query": "", "http_referrer": "-", "http_user_agent":

Installing without any SSL request behind a LB

Hi There,
We are planning on running the script behind a load balancer which will be requesting SSL certs for the domains during the setup, so there is no need for duplicate action, is there a way to omit SSL request from the script altogether without breaking any other part?
Thanks

Multiple WP sites?

Im trying to find a way to add another( or many) WordPress site. It seems that there is not an easy way to do it.
What I have thinked so far is:

  • Copy /etc/nginx/sites-available/default.vhost for the new sites and modify content accordingly
  • Create 2 new containers, 1 for MariaDB and 1 for PHP-FPM using a second yml file.
    But i get errors when creating the php fpm container

Cannot start service php-fpm: driver failed programming external connectivity on endpoint : Bind for 0.0.0.0:9000 failed: port is already allocated

Whats the best way to accomplish that (multiple WP instalations)?

DocRoot non existant

I am trying to find out how to access the www document root for ssh uploads etc. The documented "/usr/share/nginx/html" does not even exist. Please advise where that might be found and how to access.

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.