maxexcloo / docker Goto Github PK
View Code? Open in Web Editor NEWSee Readme
License: Other
See Readme
License: Other
Can you pls advice where are the certificates (server.crt, server.key) stored so it can be used for https access to the CouchPotato? thx
Using this, really great stuff. I'm quite new to Docker so it's nice to see some practises in use through other images. Took me a while to get the nginx-php
up and running going through logs and seeing what was referenced in configs etc. Perhaps would be helpful to add recommended directory structures.
/data
/conf
nginx-*.conf // included by nginx/host.d/default.conf
php-*.conf // included by php-fpm.conf
/http
index.php etc // web dir referenced in nginx/host.d/default.conf
/logs
nginx.log
php-fpm.log
Tiny Tiny RSS moved from github to its own hosted gitlab at https://tt-rss.org/gitlab/fox/tt-rss.git . The current tiny-tiny-rss image is broken.
root@d4ab265f15d7:/# nginx -t
nginx: [emerg] "pcre_jit" directive is not allowed here in /etc/nginx/nginx.conf:8
nginx: configuration file /etc/nginx/nginx.conf test failed
It will be nice to add for php-nginx docker:
# Add envvars to PHP-FPM configuration files
envs=`printenv`
for env in $envs
do
IFS== read name value <<< "$env"
echo "env[$name] = $value" >> /etc/php5/fpm/php-fpm.conf
done
Hello.
In the init script recursively change /data owner to core:core. The php5-fpm process is also executed under user core. This is insecure. Basically every script can change everything in /data, including config files. The /data/secure folder is not secure too. Every web script can access it.
I wonder is there any reason why you recursively update the owner of /data directory? I would suggest leaving file owners intact and only changing the file owner of logs directory. I also suggest to run php5-fpm under www-data user.
I have an image based on maxexcloo/nginx-php
and shared with a local directory. Everything seems to work fine but I cannot upload files over 4kb in size :( . I get the following error from nginx:
open() "/var/lib/nginx/body/0000000001" failed (13: Permission denied), client: 192.168.99.1, server: localhost, request: "POST /tools/upload.php HTTP/1.1", host: "192.168.99.100:32774", referrer: "http://192.168.99.100:32774/tools/upload.php"
docker run --name="tiny-tiny-rss" --env="VIRTUAL_HOST=rss.my.domain" --link="postgresql:postgresql" --volumes-from="tiny-tiny-rss-data" -it maxexcloo/tiny-tiny-rss
/config/init04: line 3: git: command not found
2015-04-12 19:39:31,269 CRIT Supervisor running as root (no user in config file)
2015-04-12 19:39:31,270 WARN Included extra file "/etc/supervisor/conf.d/tiny-tiny-rss.conf" during parsing
2015-04-12 19:39:31,270 WARN Included extra file "/etc/supervisor/conf.d/php-fpm.conf" during parsing
2015-04-12 19:39:31,271 WARN Included extra file "/etc/supervisor/conf.d/nginx.conf" during parsing
2015-04-12 19:39:31,397 INFO RPC interface 'supervisor' initialized
2015-04-12 19:39:31,398 WARN cElementTree not installed, using slower XML parser for XML-RPC
2015-04-12 19:39:31,398 CRIT Server 'unix_http_server' running without any HTTP authentication checking
2015-04-12 19:39:31,400 INFO supervisord started with pid 19
2015-04-12 19:39:32,405 INFO spawned: 'nginx' with pid 20
2015-04-12 19:39:32,411 INFO spawned: 'tiny-tiny-rss' with pid 21
2015-04-12 19:39:32,421 INFO spawned: 'nginx-config' with pid 22
2015-04-12 19:39:32,429 INFO spawned: 'php5-fpm' with pid 23
2015-04-12 19:39:32,447 INFO spawned: 'php5-fpm-config' with pid 24
2015-04-12 19:39:32,598 INFO exited: tiny-tiny-rss (exit status 1; not expected)
2015-04-12 19:39:33,642 INFO success: nginx entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2015-04-12 19:39:33,645 INFO spawned: 'tiny-tiny-rss' with pid 33
2015-04-12 19:39:33,646 INFO success: nginx-config entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2015-04-12 19:39:33,647 INFO success: php5-fpm entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2015-04-12 19:39:33,647 INFO success: php5-fpm-config entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2015-04-12 19:39:33,742 INFO exited: tiny-tiny-rss (exit status 1; not expected)
2015-04-12 19:39:35,751 INFO spawned: 'tiny-tiny-rss' with pid 35
2015-04-12 19:39:35,858 INFO exited: tiny-tiny-rss (exit status 1; not expected)
2015-04-12 19:39:38,867 INFO spawned: 'tiny-tiny-rss' with pid 37
2015-04-12 19:39:38,971 INFO exited: tiny-tiny-rss (exit status 1; not expected)
2015-04-12 19:39:39,974 INFO gave up: tiny-tiny-rss entered FATAL state, too many start retries too quickly
Run command :
docker run -d --name="xxxxx_DB" --volumes-from="xxxxx_DBDATA" -e "MARIADB_USER=xxxxx" -e "MARIADB_PASS=xxxxxxx" --restart=always maxexcloo/mariadb
MariaDB logs :
2016-09-26 12:09:47,104 INFO exited: mariadb (exit status 0; expected)
/usr/lib/python2.7/dist-packages/supervisor/options.py:296: UserWarning: Supervisord is running as root and it is searching for its configuration file in default locations (including its current working directory); you probably want to specify a "-c" argument specifying an absolute path to a configuration file for improved security.
'Supervisord is running as root and it is searching '
2016-09-26 12:23:26,874 CRIT Supervisor running as root (no user in config file)
2016-09-26 12:23:26,874 WARN Included extra file "/etc/supervisor/conf.d/mariadb.conf" during parsing
Unlinking stale socket /var/run/supervisor.sock
2016-09-26 14:17:38,386 CRIT Server 'unix_http_server' running without any HTTP authentication checking
My docker version :
➜ docker -v
Docker version 1.12.1, build 23cf638
why you don't append '/usr/bin/supervisord' to the end of 'docker run.............' when you starting container
Hi!
There is a problem using your image maxexcloo/nginx-php on Mac and mount the /data volume to the host system.
The php-fpm process quits with status code 78, cause it is not able to create the sock-file. I guess, cause of the host-file system.
I tryed to resolve the problem but the only way was to put the php-fpm.sock in another folder like /run. So, I decided to make an own Dockerfile based on your image and use updated conf-files. Maybe you had a good reason to put the sock-file inside the /data volume, but I have no clue why. If you like I can give you my working changes!?
Regards
https://github.com/maxexcloo/DNS-Tunnel
It would be great if there is a docker support!
It seems that the change to the /config/loop
script made in 8c87fde didn't cause a rebuild for nginx-php
.
When running:
docker run -it maxexcloo/nginx-php:latest cat /config/loop
I get:
#!/bin/bash
if [ "$(ls -A /config/init)" ]; then
for init in /config/init/*; do
bash "$init"
done
fi
if tty -s; then
supervisord
while true; do
echo "Exit supervisorctl with Ctrl-D. Detach with Ctrl-P + Ctrl-Q."
supervisorctl
echo "Exit shell with Ctrl-D. Detach with Ctrl-P + Ctrl-Q."
bash
done
fi
supervisord -n
Doesn't Docker rebuild when a file's contents changes?
Hey, first off - awesome packages, they have saved me a ton of time!
On one of the machines I'm experiencing a weird error - getting a 502 bad gateway when trying to open phpmyadmin
in the browser. Upon further investigation it looks like /data/secure/php5-fpm.sock
is owned by core:core
. As soon as I go inside the container & run chown www-data:www-data /data/secure/php5-fpm.sock
, it starts to work.
I tried extending your image by adding a new init script under /config/init/
to have it automatically change the owner. This won't work, because the owner seems to be overwritten when the supervisor is started.
I'm running docker v1.3.0 & fig v0.5.2. It's weird that another machine with a similar setup has no such problems and happily opens up phpMyAdmin.
What might be causing this?
Thanks,
Kristen
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.