Last active
October 18, 2019 11:59
-
-
Save max-peter/d112c3a3ab0601ae7bbd29582a983e6a to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# 2018-02-19 cironet.eu Ubuntu Server Docker on Azure with Wordpress MariaDB Letsencrypt | |
# check status docker | |
sudo systemctl status docker | |
Create swapfile | |
Create a swap file to prevent your MariaDB or WordPress containers from running out of memory under load. | |
sudo fallocate -l 1G /swapfile | |
sudo chmod 600 /swapfile | |
sudo mkswap /swapfile | |
sudo swapon /swapfile | |
sudo cp /etc/fstab /etc/fstab.bak | |
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab | |
Create non-root user account for Docker (recommended) | |
You can execute docker commands as root, but it’s recommended to create a normal user account and add that user to the docker group. For security reasons, you shouldn’t generally be performing tasks on your Linux box as root. Instead, add a regular user account to the sudo (Ubuntu) or wheel (CentOS) group so you can execute commands as sudo. | |
sudo useradd dockeruser | |
sudo usermod -aG docker dockeruser | |
sudo usermod -aG sudo dockeruser | |
login dockeruser | |
sudo useradd wp01user | |
sudo usermod -aG docker wp01user | |
sudo usermod -aG sudo wp01user | |
login wp01user | |
# Bash Script Setup Docker Images for NGINX Proxy with LetsEncrypt, Wordpress and MariaDB | |
mkdir $HOME/nginx | |
mkdir $HOME/certs | |
mkdir $HOME/vhost.d | |
mkdir $HOME/www.cironet.eu | |
... | |
mkdir yourdomain2com (optional) | |
cd $HOME/nginx | |
nano docker-compose.yml | |
proxy: | |
image: jwilder/nginx-proxy:latest | |
restart: always | |
ports: | |
- "80:80" | |
- "443:443" | |
volumes: | |
- /var/run/docker.sock:/tmp/docker.sock:ro | |
- /home/wp01root/vhost.d:/etc/nginx/vhost.d | |
- /home/wp01root/certs:/etc/nginx/certs:ro | |
- /usr/share/nginx/html | |
proxy-companion: | |
image: jrcs/letsencrypt-nginx-proxy-companion | |
restart: always | |
volumes: | |
- /home/wp01root/certs:/etc/nginx/certs:rw | |
- /var/run/docker.sock:/var/run/docker.sock:ro | |
volumes_from: | |
- proxy | |
cd $HOME/www.cironet.eu | |
nano docker-compose.yml | |
wordpress: | |
image: wordpress | |
restart: always | |
links: | |
- mariadb:mysql | |
environment: | |
- VIRTUAL_HOST=www.cironet.eu,cironet.eu | |
- LETSENCRYPT_HOST=www.cironet.eu,cironet.eu | |
- LETSENCRYPT_EMAIL=rootmessages@cironet.eu | |
expose: | |
- 80 | |
- 443 | |
volumes_from: | |
- cironeteu_wordpress_data | |
volumes: | |
- ./uploads.ini:/usr/local/etc/php/conf.d/uploads.ini | |
mariadb: | |
image: mariadb | |
restart: always | |
environment: | |
- MYSQL_ROOT_PASSWORD=#secret# | |
- MYSQL_DATABASE=wordpress | |
volumes_from: | |
- cironeteu_mariadb_data | |
# create data-only volumes and link to container:image | |
docker create --name cironeteu_mariadb_data -v /var/lib/mysql mariadb | |
docker create --name cironeteu_wordpress_data -v /var/www/html wordpress | |
# create vhost.d for nginx host | |
cd $HOME/vhost.d | |
nano www.cironet.eu | |
server_tokens off; | |
client_max_body_size 100m; | |
# create uploads.ini | |
cd $HOME/www.cironet.eu | |
nano uploads.ini | |
file_uploads = On | |
memory_limit = 64M | |
upload_max_filesize = 64M | |
post_max_size = 64M | |
max_execution_time = 1800 | |
# Start Container | |
cd $HOME/nginx | |
docker-compose up -d | |
cd $HOME/www.cironet.eu | |
docker-compose up -d |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment