Trinity master docker issues

Hi all,

Fresh ubuntu 22.04.4 server running docker and docker-compose managed via portainer. i have several docker images running, silly things like smokeping and dashy etc… and all’s good.

hardware is dual xeon 6 core 64gb server on bridge network. can run all sorts of containers on this box and don’t have any problems with running multiple containers like an elastic stack and opencti for example.

I’ve downloaded Trinity master and extracted trinity-core-main into its own directory;

/home/mgol/trinity-core-main

i have at first to see how this runs executed the docker compose and its runs up the mysql fine, pulls all file for worldserver… then freaks out with errors about not being able to download more files… so i dived in a bit deeper. looking at the entry file listings… some of the url don’t work anymore, so had to manually find the files.

i have managed to get the state of this running thusly:
mysql is up and databases populated
worldserver is barely up… complaining about permissions

What i’ve tried…

  1. placing correct extracted data into the various directories, cameras, dbc,gt,maps,mmaps,vmaps etc…
    results…
 2024-03-27T17:00:34.834919984Z Error downloading map data.

2024-03-27T17:01:01.429809316Z TDB database SQL files found.

2024-03-27T17:01:01.435339894Z Checking for map data...

2024-03-27T17:01:01.435374793Z 

2024-03-27T17:01:01.435382449Z cameras data NOT found. Need to download.

2024-03-27T17:01:01.435389332Z Downloading https://tc.arctium.io/master/10.2.0/cameras.zip

2024-03-27T17:01:01.649619191Z #=#=#                                                                         
Warning: Failed to create the file cameras.zip: Permission denied

so looking at docker-compose.yml…

worldserver:
    container_name: worldserver
    build:
      context: .
    entrypoint: /home/circleci/world-entry.sh
    tty: true
    stdin_open: true
    depends_on:
      mysql:
        condition: service_healthy
    restart: always
    healthcheck:
      test: nc -w 1 -v localhost 8085
      interval: 15s
      timeout: 2s
      retries: 20
      start_period: 30s
    ports:
      - 8085:8085
      - 8086:8086
      - 7878:7878 # SOAP port
    volumes:
      - ./data/master-data:/home/circleci/data

the volume is bound to ./data/master-data on the host and /home/circleci/data in the container

it finds the TDB database SQL files but even though it should see the directories and files inside it doesn’t… claims it wants to download the files but doesn’t have permissions to write to the dir.

So i guess my first question is… what permission is it talking about?? permission from the container to download the files to its local /home/circleci/data folder which will ultimately write the data to /data/data-master?? if so, this is a docker permissions issue? a local ubuntu permissions issue??

baring in mind i downloaded this stock… not altered anything, run as is and it fails.

I’ve been playing around with other flavours of the docker based warcraft servers and all have various issues or another and none of them get as far as trinity does.

So i guess im wondering is there a path here to get this to work or should i just give this up ?

so looked at the world entry file again and noticed there is a slight difference…

MAP_REPO=“https://tc.arctium.io/master/10.2.6” is correct
MAP_REPO=“https://tc.arctium.io/master/10.2.0” is the old version

So the main world entry file needs updating… did that

then got this which is curious

2024-03-27T17:19:27.549936700Z cameras data NOT found. Need to download.

2024-03-27T17:19:27.549948578Z Downloading https://tc.arctium.io/master/10.2.0/cameras.zip

2024-03-27T17:19:27.824183760Z #=#=#                                                                         
Warning: Failed to create the file cameras.zip: Permission denied

2024-03-27T17:19:27.824291511Z ##O#-#                                                                        
curl: (23) Failure writing output to destination

where is it still getting 10.2.0 in the url from ??

TrinityCore does not provide any docker setup that involves a docker-compose.yml files, so unfortunately I have no idea where you are getting it from or what world-entry.sh does.
All we have is a bare container that only has binaries and sql updates in it (no scripts, not the base db) here hub.docker.com/r/trinitycore

yeah i saw that, i also saw that your using the circleci image and that on one of my many attempts to get it running, the image account " circleci" tends to have issues writing back to the bound volume…
on the whole, i just dont think trinity is a real working concern as far as docker goes.
but thats fine, i have found another dockerized port of wotlk that works in so far as it get further along the install line via docker than trinity does.

many thanks