Database can't initialize correctly
Closed this issue · 3 comments
Database can't initialize correctly :
Waiting for postgresql...
bareos_bareos-db_1:5432 - accepting connections
...postgresql is alive
Updating postgresql tables
Unable to determine version of Bareos postgresql database
Granting postgresql tables
Error creating privileges.
bareos-dir: dird/check_catalog.cc:64-0 Could not open Catalog "MyCatalog", database "bareos".
bareos-dir: dird/check_catalog.cc:71-0 Query failed: SELECT VersionId FROM Version: ERR=ERROR: relation "version" does not exist
LINE 1: SELECT VersionId FROM Version
^
bareos-dir ERROR TERMINATION
This is my docker-compose file :
services:
bareos-dir:
image: barcus/bareos-director:latest
environment:
- DB_PASSWORD=XXXXXXXXXXXXXXXXXXXXXXXXXX
- DB_HOST=bareos_bareos-db_1
- DB_PORT=5432
- BAREOS_FD_HOST=bareos_bareos-fd_1
- BAREOS_SD_HOST=bareos_bareos-sd_1
- BAREOS_FD_PASSWORD=XXXXXXXXXXXXXXXXXXXXXXXXXX
- BAREOS_SD_PASSWORD=XXXXXXXXXXXXXXXXXXXXXXXXXX
- BAREOS_WEBUI_PASSWORD=XXXXXXXXXXXXXXXXXXXXXXXXXX
- SMTP_HOST=bareos_smtpd_1
- ADMIN_MAIL=XXXXXXXXXXXXXXXXXXXXXXXXXX
volumes:
- "/var/bareos/director/conf:/etc/bareos"
- "/var/bareos/director/data:/var/lib/bareos"
depends_on:
- bareos-db
bareos-sd:
image: barcus/bareos-storage:latest
ports:
- 9103:9103
environment:
- BAREOS_SD_PASSWORD=XXXXXXXXXXXXXXXXXXXXXXXXXX
volumes:
- "/var/bareos/sd/conf:/etc/bareos"
- "/var/bareos/sd/storage:/var/lib/bareos/storage"
bareos-fd:
image: barcus/bareos-client:latest
environment:
- BAREOS_FD_PASSWORD=XXXXXXXXXXXXXXXXXXXXXXXXXX
- FORCE_ROOT=false
volumes:
- "/var/bareos/fd/conf:/etc/bareos"
- "/var/bareos/fd/data:/var/lib/bareos-director"
bareos-webui:
image: barcus/bareos-webui:latest
ports:
- 8091:80
environment:
- BAREOS_DIR_HOST=bareos_bareos-dir_1
bareos-db:
image: postgres:9.3
environment:
- POSTGRES_USER=bareos
- POSTGRES_PASSWORD=XXXXXXXXXXXXXXXXXXXXXXXXXX
volumes:
- "/var/bareos/database:/var/lib/postgresql"
smtpd:
image: namshi/smtp
Modified MyCatalog.conf because dbname and dbuser were empty :
Name = MyCatalog
dbdriver = "postgresql"
# dbdriver = "postgresql"
dbname = "bareos"
dbaddress = "bareos_bareos-db_1"
dbport = "5432"
dbuser = "bareos"
dbpassword = "XXXXXXXXXXXXXXXXXXXXXXXXXX"
}
PostgreSQL databases status :
List of databases
Name | Owner | Encoding | Collate | Ctype | Access privileges
-----------+--------+----------+------------+------------+-------------------
bareos | bareos | UTF8 | en_US.utf8 | en_US.utf8 |
postgres | bareos | UTF8 | en_US.utf8 | en_US.utf8 |
template0 | bareos | UTF8 | en_US.utf8 | en_US.utf8 | =c/bareos +
| | | | | bareos=CTc/bareos
template1 | bareos | UTF8 | en_US.utf8 | en_US.utf8 | =c/bareos +
| | | | | bareos=CTc/bareos
(4 rows)
Seems to be linked to your compose file.
DB_NAME and DB_USER are missing in bareos-director.
Also hostname you use should be the service name in docker-compose to make it simple
I'm gonna check how to avoid trouble in case of DB_NAME and DB_USER missing with a default value
Finaly, don't forget to check last update of docker-compose file in the repo.
Indeed, adding DB_USER and DB_NAME as an environment variable for bareos-dir solved the problem.
These variables were not described in hub.docker.com/r/barcus/bareos-director.
Thanks for your help!
This is the first line of usage section, using .env file !
Declare environment variables or copy the .env.dist to .env and adjust its values.