copy-service not working as expected
I am running this container in a Docker swarm setting.
The following is my compose config
---
version: '3.5'
networks:
management_enterprise_overlay:
external: true
configs:
ssl.crt:
file: ./ssl_certs/my-cert.cer
ssl.csr:
file: ./ssl_certs/my-cert.csr
secrets:
ssl.key:
file: ./ssl_certs/my-cert.key
phpadminldapconfig:
file: ./config/phpadminldapconfig.env
services:
phpldapadmin_server:
image: osixia/phpldapadmin
networks:
management_enterprise_overlay:
aliases:
- phpldapadmin
ports:
- "9001:443"
command: "--copy-service --loglevel debug"
configs:
- source: ssl.crt
target: /ssl.crt
- source: ssl.csr
target: /ssl.csr
secrets:
- source: ssl.key
target: /ssl.key
- source: phpadminldapconfig
target: /container/environment/01-custom/env.yaml
mode: 0664
My env file:
PHPLDAPADMIN_LDAP_HOSTS:
- mgmtldap.some.internal.domain:
- server:
- tls: true
- port: 636
- force_may: array('uidNumber','gidNumber','sambaSID')
- login:
- bind_id: cn=readonly,dc=some,dc=internal,dc=domain
- bind_pass: pass_here
PHPLDAPADMIN_HTTPS: true
PHPLDAPADMIN_LDAP_CLIENT_TLS_REQCERT: demand
PHPLDAPADMIN_HTTPS_CRT_FILENAME: ssl.crt
PHPLDAPADMIN_HTTPS_KEY_FILENAME: ssl.key
PHPLDAPADMIN_HTTPS_CA_CRT_FILENAME: ssl.csr
PHPLDAPADMIN_TRUST_PROXY_SSL: true
When launched, I am seeing:
phpldapadmin_phpldapadmin_server.1.j83jga452wvg@ec2-instance-1 | *** CONTAINER_LOG_LEVEL = 4 (debug)
phpldapadmin_phpldapadmin_server.1.j83jga452wvg@ec2-instance-1 | *** Copy /container/service to /container/run/service
phpldapadmin_phpldapadmin_server.1.ly2mz1qve3da@ec2-instance-2 | *** CONTAINER_LOG_LEVEL = 4 (debug)
phpldapadmin_phpldapadmin_server.1.x0rpjdicalmc@ec2-instance-2 | *** CONTAINER_LOG_LEVEL = 4 (debug)
phpldapadmin_phpldapadmin_server.1.x0rpjdicalmc@ec2-instance-2 | *** Copy /container/service to /container/run/service
phpldapadmin_phpldapadmin_server.1.j83jga452wvg@ec2-instance-1 | *** Run commands before finish...
phpldapadmin_phpldapadmin_server.1.ly2mz1qve3da@ec2-instance-2 | *** Copy /container/service to /container/run/service
phpldapadmin_phpldapadmin_server.1.ly2mz1qve3da@ec2-instance-2 | *** Run commands before finish...
phpldapadmin_phpldapadmin_server.1.x0rpjdicalmc@ec2-instance-2 | *** Run commands before finish...
phpldapadmin_phpldapadmin_server.1.x0rpjdicalmc@ec2-instance-2 | *** Killing all processes...
phpldapadmin_phpldapadmin_server.1.ly2mz1qve3da@ec2-instance-2 | *** Killing all processes...
phpldapadmin_phpldapadmin_server.1.j83jga452wvg@ec2-instance-1 | *** Killing all processes...
phpldapadmin_phpldapadmin_server.1.j83jga452wvg@ec2-instance-1 | Traceback (most recent call last):
phpldapadmin_phpldapadmin_server.1.j83jga452wvg@ec2-instance-1 | File "/container/tool/run", line 890, in <module>
phpldapadmin_phpldapadmin_server.1.j83jga452wvg@ec2-instance-1 | main(args)
phpldapadmin_phpldapadmin_server.1.j83jga452wvg@ec2-instance-1 | File "/container/tool/run", line 775, in main
phpldapadmin_phpldapadmin_server.1.j83jga452wvg@ec2-instance-1 | setup_run_directories(args)
phpldapadmin_phpldapadmin_server.1.j83jga452wvg@ec2-instance-1 | File "/container/tool/run", line 376, in setup_run_directories
phpldapadmin_phpldapadmin_server.1.j83jga452wvg@ec2-instance-1 | copy_service_to_run_dir()
phpldapadmin_phpldapadmin_server.1.ly2mz1qve3da@ec2-instance-2 | Traceback (most recent call last):
phpldapadmin_phpldapadmin_server.1.x0rpjdicalmc@ec2-instance-2 | Traceback (most recent call last):
phpldapadmin_phpldapadmin_server.1.x0rpjdicalmc@ec2-instance-2 | File "/container/tool/run", line 890, in <module>
phpldapadmin_phpldapadmin_server.1.ly2mz1qve3da@ec2-instance-2 | File "/container/tool/run", line 890, in <module>
phpldapadmin_phpldapadmin_server.1.ly2mz1qve3da@ec2-instance-2 | main(args)
phpldapadmin_phpldapadmin_server.1.x0rpjdicalmc@ec2-instance-2 | main(args)
phpldapadmin_phpldapadmin_server.1.x0rpjdicalmc@ec2-instance-2 | File "/container/tool/run", line 775, in main
phpldapadmin_phpldapadmin_server.1.ly2mz1qve3da@ec2-instance-2 | File "/container/tool/run", line 775, in main
phpldapadmin_phpldapadmin_server.1.ly2mz1qve3da@ec2-instance-2 | setup_run_directories(args)
phpldapadmin_phpldapadmin_server.1.x0rpjdicalmc@ec2-instance-2 | setup_run_directories(args)
phpldapadmin_phpldapadmin_server.1.x0rpjdicalmc@ec2-instance-2 | File "/container/tool/run", line 376, in setup_run_directories
phpldapadmin_phpldapadmin_server.1.ly2mz1qve3da@ec2-instance-2 | File "/container/tool/run", line 376, in setup_run_directories
phpldapadmin_phpldapadmin_server.1.ly2mz1qve3da@ec2-instance-2 | copy_service_to_run_dir()
phpldapadmin_phpldapadmin_server.1.x0rpjdicalmc@ec2-instance-2 | copy_service_to_run_dir()
phpldapadmin_phpldapadmin_server.1.x0rpjdicalmc@ec2-instance-2 | File "/container/tool/run", line 442, in copy_service_to_run_dir
phpldapadmin_phpldapadmin_server.1.ly2mz1qve3da@ec2-instance-2 | File "/container/tool/run", line 442, in copy_service_to_run_dir
phpldapadmin_phpldapadmin_server.1.ly2mz1qve3da@ec2-instance-2 | shutil.copytree(IMPORT_SERVICE_DIR, RUN_SERVICE_DIR)
phpldapadmin_phpldapadmin_server.1.x0rpjdicalmc@ec2-instance-2 | shutil.copytree(IMPORT_SERVICE_DIR, RUN_SERVICE_DIR)
phpldapadmin_phpldapadmin_server.1.x0rpjdicalmc@ec2-instance-2 | File "/usr/lib/python2.7/shutil.py", line 208, in copytree
phpldapadmin_phpldapadmin_server.1.ly2mz1qve3da@ec2-instance-2 | File "/usr/lib/python2.7/shutil.py", line 208, in copytree
phpldapadmin_phpldapadmin_server.1.ly2mz1qve3da@ec2-instance-2 | raise Error, errors
phpldapadmin_phpldapadmin_server.1.x0rpjdicalmc@ec2-instance-2 | raise Error, errors
phpldapadmin_phpldapadmin_server.1.x0rpjdicalmc@ec2-instance-2 | shutil.Error: [('/container/service/:runit/download.sh', '/container/run/service/:runit/download.sh', "[Errno 2] No such file or directory: '/container/service/:runit/download.sh'")]
phpldapadmin_phpldapadmin_server.1.ly2mz1qve3da@ec2-instance-2 | shutil.Error: [('/container/service/:runit/download.sh', '/container/run/service/:runit/download.sh', "[Errno 2] No such file or directory: '/container/service/:runit/download.sh'")]
phpldapadmin_phpldapadmin_server.1.j83jga452wvg@ec2-instance-1 | File "/container/tool/run", line 442, in copy_service_to_run_dir
phpldapadmin_phpldapadmin_server.1.j83jga452wvg@ec2-instance-1 | shutil.copytree(IMPORT_SERVICE_DIR, RUN_SERVICE_DIR)
phpldapadmin_phpldapadmin_server.1.j83jga452wvg@ec2-instance-1 | File "/usr/lib/python2.7/shutil.py", line 208, in copytree
phpldapadmin_phpldapadmin_server.1.j83jga452wvg@ec2-instance-1 | raise Error, errors
phpldapadmin_phpldapadmin_server.1.j83jga452wvg@ec2-instance-1 | shutil.Error: [('/container/service/:runit/download.sh', '/container/run/service/:runit/download.sh', "[Errno 2] No such file or directory: '/container/service/:runit/download.sh'")]
(note that the service was attempted to be started multiple times
This is possibly related to https://github.com/osixia/docker-phpLDAPadmin/issues/45
Like https://github.com/osixia/docker-phpLDAPadmin/issues/45 if I remove the --copy-serviceflag, I get past this issue
Hello, I have the same issue but if I remove the --copy-service I have the same issue as #15 I'm a bit stuck here and don't know what to do.
Here's what I've found works for me:
compose config...
---
version: '3.5'
networks:
management_enterprise_overlay:
external: true
configs:
ssl.crt:
file: ./ssl_certs/management-enterprise-services.internal.domain.cer
ssl.csr:
file: ./ssl_certs/ldap-ca.crt
ldap.crt:
file: ./ssl_certs/ldap.crt
ldap.csr:
file: ./ssl_certs/ldap.csr
secrets:
ssl.key:
file: ./ssl_certs/management-enterprise-services.internal.domain.key
ldap-ca.crt:
file: ./ssl_certs/ldap-ca.crt
ldap.key:
file: ./ssl_certs/ldap.key
phpadminldapconfig:
file: ./config/phpadminldapconfig.env
services:
phpldapadmin_server:
image: osixia/phpldapadmin
networks:
management_enterprise_overlay:
aliases:
- phpldapadmin
ports:
- "9001:443"
configs:
- source: ssl.crt
target: /container/service/phpldapadmin/assets/apache2/certs/ssl.crt
- source: ldap.crt
target: /ldap.crt
- source: ssl.csr
target: /container/service/phpldapadmin/assets/apache2/certs/ssl.csr
- source: ldap.csr
target: /ldap.csr
secrets:
- source: ssl.key
target: /container/service/phpldapadmin/assets/apache2/certs/ssl.key
- source: ldap.key
target: /ldap.key
- source: ldap-ca.crt
target: /ldap-ca.crt
- source: phpadminldapconfig
target: /container/environment/01-custom/env.yaml
mode: 0664
compose env file:
PHPLDAPADMIN_LDAP_HOSTS:
- mgmtldap.some.internal.domain:
- server:
- tls: true
- login:
- bind_id: cn=admin,dc=some,dc=internal,dc=domain
PHPLDAPADMIN_HTTPS: true
PHPLDAPADMIN_LDAP_CLIENT_TLS_REQCERT: allow
PHPLDAPADMIN_HTTPS_CRT_FILENAME: ssl.crt
PHPLDAPADMIN_HTTPS_KEY_FILENAME: ssl.key
PHPLDAPADMIN_HTTPS_CA_CRT_FILENAME: ssl.csr
PHPLDAPADMIN_TRUST_PROXY_SSL: true
PHPLDAPADMIN_LDAP_CLIENT_TLS_CA_CRT_FILENAME: ldap-ca.crt
PHPLDAPADMIN_LDAP_CLIENT_TLS_CRT_FILENAME: ldap.crt
PHPLDAPADMIN_LDAP_CLIENT_TLS_KEY_FILENAME: ldap.key