Coder Social home page Coder Social logo

kaliop / ezdocker-stack Goto Github PK

View Code? Open in Web Editor NEW
27.0 12.0 11.0 56.98 MB

A complete Docker stack to run eZPublish 5+

License: GNU General Public License v2.0

Shell 8.55% HTML 0.49% CSS 1.62% JavaScript 8.15% XSLT 3.88% Java 0.53% PHP 55.51% Smarty 20.65% VCL 0.62%
ezpublish ezplatform docker docker-compose

ezdocker-stack's People

Contributors

brunoauger avatar ericlery avatar erilan avatar iegorka avatar nickyaub avatar rdalvernyk avatar sbressey avatar screamz 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

Watchers

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

ezdocker-stack's Issues

Too many symbolink links

Hi,

When mounting /mnt/ containing whole workspace and potential internal symbolic links, there is an issue acceding to /mnt//workspace from inside the docker. The error is the following one :

bash: cd: /mnt//workspace/: Trop de niveaux de liens

Apache not starting in web container

Hi there. I've just done a new clone and build. Everything ok. Problem is starting. looks apache of web container is not starting. entering the container and trying to manually start it i get this error

docker exec -ti web su site
root@crevillo_web:/var/www# /etc/init.d/apache2 start
Starting web server: apache2 failed!
The apache2 configtest failed. ... (warning).
Output of config test was:
AH00526: Syntax error on line 109 of /etc/apache2/apache2.conf:
Error:\tApache has not been designed to serve pages while\n\trunning as root.  There are known race conditions that\n\twill allow any local user to read any file on the system.\n\tIf you still desire to serve pages as root then\n\tadd -DBIG_SECURITY_HOLE to the CFLAGS env variable\n\tand then rebuild the server.\n\tIt is strongly suggested that you instead modify the User\n\tdirective in your httpd.conf file to list a non-root\n\tuser.\n
Action 'configtest' failed.
The Apache error log may have more information.

A question about... it's normal that when diong this looks i'm logged as root instead of site?
Further more, if i do a id site in the container i'm getting
root@crevillo_web:/var/www# id site
uid=0(root) gid=0(root) grupos=0(root)


one thing to know if it helps... i did the build with root user... don't know if this is a problem... 

Windows + Git Bash: issues with ssh forwarding

Running a ssh-agent inside Git Bash on Windows seems to work alright. I'm using this script to make sure I have a ssh-gent inside each Bash session, and to reuse the same agent if it's already running:
https://help.github.com/articles/working-with-ssh-key-passphrases/#auto-launching-ssh-agent-on-msysgit

I also enabled SSH agent forwarding, and verified on an unrelated SSH server that it does work.

But after (re)starting the stack and logging into the cli container, the agent forwarding is not working:

site@project_cli:~$ echo $SSH_AUTH_SOCK
/ssh-agent

site@project_cli:~$ cat /ssh-agent
!<socket >50523 s D26E7C74-CE61963F-EB71618D-8A8D3C12

site@project_cli:~$ ssh-add -L
Could not open a connection to your authentication agent.

site@project_cli:~$ echo $SSH_AUTH_PID


site@project_cli:~$ ssh-agent -a /ssh-agent
bind: Address already in use
unix_listener: cannot bind to path: /ssh-agent

It seems that there is no running ssh-agent. And running ssh-agent -a /ssh-agent doesn't seem to work either. So far, no luck.

For the record, my current hackish solution is to mount ~/.ssh in read-only mode:

  cli:
    volumes:
      - ~/.ssh:/home/site/ssh:ro

Not pretty, but it works.

config/web/php5/timezone.ini: No such file or directory

Running stack.sh in Bash on Windows (living on the edge):

./stack.sh: line 138: config/web/php5/timezone.ini: No such file or directory

Indeed that file doesn't exist. There is a config/cli/php5/timezone.ini, and no timezone.ini in config/apache/php5.

Seen on latest master (826659d).

"No DOCKER_WEB_SERVER defined!" after aborted setup

If the setup aborts after buildDockerComposeConfigFileIfNeeded (e.g. in configurePhpVersion or configureWebServer), then there will be a docker-compose.config.sh in the folder and users can get stuck when trying to restart the setup:

$ ./stack.sh start
No DOCKER_WEB_SERVER defined! Please run script with option web_server_switch

nginx logs not in gitignore

After setup with the nginx option, the logs/nginx directory is created, but it's not included in .gitignore so its contents show up on git status.

I tried editing .gitignore and creating logs/nginx/.gitkeep for a PR, but it looks like Docker took over the permissions on this directory so I can't touch it.

phpmemadmin not working for me

hi again. i have almost everything running it seems. great work, btw :).
The only thing i still don't have is phpmemadmin.
I go to http://localhost:88 and see all those links. All of them work except the phpmemadmin. Clicking on it i get a error 500 saying
PHP Fatal error: require_once(): Failed opening required 'Clickalicious/PhpMemAdmin/Bootstrap.php' (include_path='.:/usr/share/php:/usr/share/pear:/home/site/controlpanel/phpmemadmin/') in /home/site/controlpanel/phpmemadmin/web/index.php on line 73, referer: http://localhost:88/

May it be that there's the need to execute a composer install inside that folder to get these dependencies?

Cheers.

Should volumes to the user’s host config be marked as read only (:ro)?

I’m thinking about the volumes pointing to local user config, e.g.

  volumes:
    - ~/.gitconfig:/home/site/.gitconfig
    - ~/.ssh/config:/home/site/.ssh/config

is there a need for those to be writeable? or should they be marked as read-only?

  volumes:
    - ~/.gitconfig:/home/site/.gitconfig:ro
    - ~/.ssh/config:/home/site/.ssh/config:ro

jpegoptim

Installer jpegoptim sur le container CLI et Web.

Windows + Git Bash: volume path woes

To follow up on issues we've discussed with @supasteev0, about user-configurable paths on Windows, we're using:

When trying to define Windows paths for volumes in docker-compose.config.sh and use them dynamically in docker-compose.yml, with this syntax:

  volumes:
    - "$DOCKER_WWW_ROOT:/var/www"

We're getting this error:

ERROR: for cli Cannot create container for service cli: Invalid volume spec "C": Invalid volume destination path: 'C' mount path must be absolute.

I set out to find how docker-compose resolves the config. In start.sh, I'm adding a "showconf" command:

    showconf)
        $DOCKER_COMPOSE --verbose config
        ;;

For this config:

  volumes:
    - 'd:/Dev/www:/var/www'
    # Both variables set to the values show above
    - "$DOCKER_WWW_ROOT:$DOCKER_WWW_DEST"
    # In Git Bash, that variable is, e.g.: /tmp/ssh-cJ59v8lPx0K4/agent.4640
    # (Knowing that Windows doesn't have a "/tmp" path, that's a virtual path of sorts.)
    - "$SSH_AUTH_SOCK:/ssh-agent"

Once resolved, the config is:

  volumes:
    - /d/Dev/www:/var/www:rw
    - /d/Dev/www:C:/Program Files/Git/var/www/
    - /c/Users/USERNA~1/AppData/Local/Temp/ssh-cJ59v8lPx0K4/agent.4640:/ssh-agent:rw

Lessons:

  • docker-compose adds the default ":rw" flag if another one (e.g. ":ro") was not set already.
  • 'd:/Dev/www' gets resolved to /d/Dev/www. Alright.
  • Apparently in Git Bash the /tmp directory is an alias for ~/AppData/Local/Temp
  • Finally, Git Bash resolves our $DOCKER_WWW_DEST var as C:/Program Files/Git/var/www/, which is a compatibility feature it has for other reasons. And that's the part that was breaking our config!

So if I change our config to:

  volumes:
    - "$DOCKER_WWW_ROOT:/var/www"

Everything works fine.

Maybe changing the frontend template to hardcode container-side paths would be enough to fix this?

Missing mbstrings in apache_php7?

Using Apache + PHP7.0, I’m getting this error with Parsedown:

Call to undefined function mb_convert_encoding()

A phpinfo() shows no mention of the mbstring extension.

It works alright when switching back to PHP 5.6.

Choose php version by URL

Add the possibility to choose the php version to use in the URL, like *.php55.dock
It possible, with PHP FPM, to have one docker by php vesion and configure in apache vhost the docker to use.

Schema Solr ezplatform

Créer un 2ème core avec le schema de base ezplatform.
En prévision d'une future utilisation de cette stack pour ezplatform

cli french language

Hi,

when I login to docker exec -ti cli su site the language is french. How can I change that? I think it should be english by default.

greetz

php_switch command fails on macOS

Apparently the syntax used for sed commands is specific to the GNU sed and fails for macOS’s built-in sed:

$ ./stack.sh php_switch
[?] Which PHP version do you want to use? 5.4, [5.6], 7 or 7.1:
sed: 1: "docker-compose.config.sh": extra characters at the end of d command
sed: 1: "docker-compose.config.sh": extra characters at the end of d command
Selected php56 as PHP version

(Despite the message, the docker-compose.config.sh is not updated.)

I was able to work around this issue by installing gnu-sed with Homebrew:

$ brew install gnu-sed --with-default-names

Consider adding Node.js to CLI container

Use case: we have configuration files and scripts for Node.js tools committed in projects and used by front-end developers to compile CSS, SVG sprites, and more. Currently these tools are only used by front-end developers. We would like to enable other developers to use them reliably, especially (but not only) for devs from our Maintenance/Support team.

Could we maybe install Node.js in the CLI container?
Something like:

# Node.js - https://nodejs.org/en/download/package-manager/#debian-and-ubuntu-based-linux-distributions
RUN curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -
RUN apt-get install -y nodejs

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.