This is my docker-compose file
version: '3'
services:
nginx:
image: umputun/nginx-le:latest
hostname: nginx
restart: always
container_name: nginx
logging:
driver: json-file
options:
max-size: "10m"
max-file: "5"
volumes:
- ./nginx-le/etc/ssl:/etc/nginx/ssl
- ./nginx-le/etc/service-example.conf:/etc/nginx/service.conf
ports:
- "80:80"
- "443:443"
environment:
- TZ=sensitive_info
- LETSENCRYPT=false
- LE_EMAIL=sensitive_info
- LE_FQDN=sensitive_info
- SSL_CERT=ssl-cert.crt
- SSL_KEY=ssl-cert.key
- SSL_CHAIN_CERT=ca-bundle
owncloud:
image: owncloud/server:${VERSION}
restart: always
logging:
driver: "json-file"
options:
max-size: "300m"
max-file: "10"
ports:
- ${HTTP_PORT}:8080
depends_on:
- db
- redis
environment:
- OWNCLOUD_DOMAIN=${DOMAIN}
- OWNCLOUD_DB_TYPE=mysql
- OWNCLOUD_DB_NAME=owncloud
- OWNCLOUD_DB_USERNAME=owncloud
- OWNCLOUD_DB_PASSWORD=owncloud
- OWNCLOUD_DB_HOST=db
- OWNCLOUD_ADMIN_USERNAME=${ADMIN_USERNAME}
- OWNCLOUD_ADMIN_PASSWORD=${ADMIN_PASSWORD}
- OWNCLOUD_UTF8MB4_ENABLED=true
- OWNCLOUD_REDIS_ENABLED=true
- OWNCLOUD_REDIS_HOST=redis
healthcheck:
test: ["CMD", "/usr/bin/healthcheck"]
interval: 30s
timeout: 10s
retries: 5
volumes:
- ./data:/mnt/data
- ./apache2:/etc/apache2/sites-enabled/
db:
image: webhippie/mariadb:latest
restart: always
logging:
driver: "json-file"
options:
max-size: "300m"
max-file: "10"
environment:
- MARIADB_ROOT_PASSWORD=owncloud
- MARIADB_USERNAME=owncloud
- MARIADB_PASSWORD=owncloud
- MARIADB_DATABASE=owncloud
- MARIADB_MAX_ALLOWED_PACKET=128M
- MARIADB_INNODB_LOG_FILE_SIZE=64M
- MARIADB_INNODB_LARGE_PREFIX=ON
- MARIADB_INNODB_FILE_FORMAT=Barracuda
healthcheck:
test: ["CMD", "/usr/bin/healthcheck"]
interval: 30s
timeout: 10s
retries: 5
volumes:
- ./mysql:/var/lib/mysql
redis:
image: webhippie/redis:latest
restart: always
logging:
driver: "json-file"
options:
max-size: "300m"
max-file: "10"
environment:
- REDIS_MAXCONN=10000
- REDIS_DATABASES=1
healthcheck:
test: ["CMD", "/usr/bin/healthcheck"]
interval: 30s
timeout: 10s
retries: 5
volumes:
- ./redis:/var/lib/redis
This is my service-example.conf
server {
listen 443 ssl;
server_name 192.168.1.4;
root /srv/docroot/;
ssl_certificate /etc/nginx/ssl/ssl-cert.crt;
ssl_certificate_key /etc/nginx/ssl/ssl-cert.key;
ssl_trusted_certificate /etc/nginx/ssl/ca-bundle;
access_log off;
location / {
proxy_pass http://owncloud:8080/;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_redirect off;
proxy_buffering off;
}
}
When I follow log, I see
owncloud_1 | 172.18.0.3 - - [16/Jul/2020:11:05:36 +0000] "GET /ocs/v2.php/apps/notifications/api/v1/notifications?format=json HTTP/1.0" 200 810 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.116 Safari/537.36"
owncloud_1 | 127.0.0.1 - - [16/Jul/2020:11:05:46 +0000] "GET /status.php HTTP/1.1" 200 1068 "-" "curl/7.65.3"
Where 172.18.0.3 is IP of NGINX in docker, but should be real client IP.
Does anyone have working config for NGINX ?