Director Alpine:18 doesn't start due to wrong URL
Closed this issue · 3 comments
opelx commented
Hi,
I'm using the docker-compose with alpine:18 ( bareos/docker-compose-alpine-v2.yml ). Starting the director shows in the logs:
Waiting for mysqld...
Waiting for mysqld...
Waiting for mysqld...
Waiting for mysqld...
mysqld is alive
...mysqld is alive
Info: unable to get "dbname" from config, using default value "bareos". Check /tmp/bareos-config.37.log
Info: unable to get "dbuser" from config, using default value "bareos". Check /tmp/bareos-config.37.log
Info: unable to get "dbdriver" from config, this is usually not an error. Check /tmp/bareos-config.37.log
Creating mysql database
Creating of bareos database succeeded.
Info: unable to get "dbname" from config, using default value "bareos". Check /tmp/bareos-config.57.log
Info: unable to get "dbuser" from config, using default value "bareos". Check /tmp/bareos-config.57.log
Info: unable to get "dbdriver" from config, this is usually not an error. Check /tmp/bareos-config.57.log
Making mysql tables
Info: unable to get "dbpassword" from config, this is usually not an error. Check /tmp/bareos-config.57.log
Creation of Bareos MySQL tables succeeded.
bareos-dir: ERROR TERMINATION at lib/parse_conf.cc:268
Config error: Expected a Resource name identifier, got: <a
: line 1, col 2 of file /etc/bareos/bareos-dir.d/profile/webui-admin.conf
<a href="/bareos/bareos/master/webui/install/bareos/bareos-dir.d/profile/webui-admin.conf">Moved Permanently</a>.
and there is really the raw copy and dir goes to fail at
'''bareos/director-mysql/18-alpine/docker-entrypoint.sh'''
and the file contents is indeed:
$ sudo cat /srv/docker/bareos/config/director/bareos-dir.d/profile/webui-admin.conf
<a href="/bareos/bareos/master/webui/install/bareos/bareos-dir.d/profile/webui-admin.conf">Moved Permanently</a>.
even I don't know how this can happen in detail - the URI are correct as far I've checked. Note, I use not the default '''/data''' prefix for the volumes.
opelx commented
Maybe my docker-compose changes became relevant:
version: '3.7'
services:
bareos-dir:
image: barcus/bareos-director:18-alpine
volumes:
- director_config:/etc/bareos
- director_data:/var/lib/bareos # required for MyCatalog backup
networks:
- default
environment:
- DB_HOST=bareos-db
- DB_PORT=3306
- DB_PASSWORD=ThisIsMySecretDBp4ssw0rd
- DB_NAME=bareos
- DB_USER=root
- BAREOS_SD_HOST=bareos-sd
- BAREOS_SD_PASSWORD=ThisIsMySecretSDp4ssw0rd
- BAREOS_FD_HOST=bareos-fd
- BAREOS_FD_PASSWORD=ThisIsMySecretFDp4ssw0rd
- BAREOS_WEBUI_PASSWORD=ThisIsMySecretUIp4ssw0rd
- SMTP_HOST=smtpd
- ADMIN_MAIL=bareos@home.lan
depends_on:
- bareos-db
bareos-sd:
image: barcus/bareos-storage:18-alpine
ports:
- 9103:9103
networks:
- default
volumes:
- storage_config:/etc/bareos
- storage_data:/var/lib/bareos/archive
environment:
- BAREOS_SD_PASSWORD=ThisIsMySecretSDp4ssw0rd
bareos-fd:
image: barcus/bareos-client:18-alpine
networks:
- default
volumes:
- client_config:/etc/bareos
- director_data:/var/lib/bareos-director # required for MyCatalog backup
environment:
- BAREOS_FD_PASSWORD=ThisIsMySecretFDp4ssw0rd
bareos-webui:
image: barcus/bareos-webui:18-alpine
ports:
- 9100:9100
networks:
- frontproxy_net
- default
environment:
- BAREOS_DIR_HOST=bareos-dir
- PHP_FPM_HOST=php-fpm
- PHP_FPM_PORT=9000
- VIRTUAL_HOST=bareos.home.lan,backup.home.lan
volumes:
- webui_config:/etc/bareos-webui
- webui_data:/usr/share/bareos-webui
depends_on:
- php-fpm
php-fpm:
image: barcus/php-fpm-alpine
networks:
- default
volumes:
- webui_config:/etc/bareos-webui
- webui_data:/usr/share/bareos-webui
bareos-db:
image: mysql:5.6
networks:
- default
volumes:
- mysql_data:/var/lib/mysql
environment:
- MYSQL_ROOT_PASSWORD=ThisIsMySecretDBp4ssw0rd
smtpd:
image: namshi/smtp
networks:
- default
volumes:
director_config:
driver: local
driver_opts:
type: none
o: 'bind'
device: '/srv/docker/bareos/config/director'
director_data:
driver: local
driver_opts:
type: none
o: 'bind'
device: '/srv/docker/bareos/data/director'
storage_config:
driver: local
driver_opts:
type: none
o: 'bind'
device: '/srv/docker/bareos/config/storage'
storage_data:
driver: local
driver_opts:
type: none
o: 'bind'
device: '/srv/docker/bareos/data/storage'
client_config:
driver: local
driver_opts:
type: none
o: 'bind'
device: '/srv/docker/bareos/config/client'
webui_config:
driver: local
driver_opts:
type: none
o: 'bind'
device: '/srv/docker/bareos/config/webui'
webui_data:
driver: local
driver_opts:
type: none
o: 'bind'
device: '/srv/docker/bareos/data/webui'
mysql_data:
driver: local
driver_opts:
type: none
o: 'bind'
device: '/srv/docker/bareos/mysql/data'
# jwilder/nginx-proxy
networks:
frontproxy_net:
external: true
Maybe a feature request, the entrypoint.sh shall create the missing paths directly. I helped with these quick&dirty snippet:
$ cat docker-compose.yml |grep 'device:' | sed -E -e '/^#/d' -e "s|[[:space:]]+device:[[:space:]]+(['/a-zA-Z]+)|sudo mkdir -p \1|g"
sudo mkdir -p '/srv/docker/bareos/config/director'
sudo mkdir -p '/srv/docker/bareos/data/director'
sudo mkdir -p '/srv/docker/bareos/config/storage'
sudo mkdir -p '/srv/docker/bareos/data/storage'
sudo mkdir -p '/srv/docker/bareos/config/client'
sudo mkdir -p '/srv/docker/bareos/config/webui'
sudo mkdir -p '/srv/docker/bareos/data/webui'
sudo mkdir -p '/srv/docker/bareos/mysql/data'
barcus commented
yes sure, good idea. I do something similar when i run docker-compose 👍