Developer Guides ‐ Remotely connect to the PostgreSQL database - MarechJ/hll_rcon_tool GitHub Wiki

🧭 You are here : Wiki home / Developer Guides / Remotely connect to the PostgreSQL database


You can remotely access the PostgreSQL database and then be able to connect to it from a local editor software like pgAdmin.

Exposing the postgres Docker container port to the outside can be done in the docker-compose-common-components.yaml file, located in the root folder of your CRCON installation (usually /root/hll_rcon_tool).

Expose the database container port

Edit docker-compose-common-components.yaml and define an external port.

It has to be located at the end of the postgres: part :
(in the example below, port 15432 will be exposed)

    ports:
      - 0.0.0.0:15432:5432

See the Complete postgres part example below.

Connecting to the database

You'll then be able to connect to the PostgreSQL database using the CRCON database credentials :

  • server : your VPS IP ;
  • username : as defined in .env (HLL_DB_USER, should be rcon, unless you changed it) ;
  • password : as defined in .env (HLL_DB_PASSWORD) ;
  • database : as defined in .env (HLL_DB_NAME, should be rcon, unless you changed it).

image

How to do a backup

As you have full access to the database, you can update or delete any table entry.
So don't forget to make complete backups before modifying anything.

[!NOTE] We'll assume you have installed CRCON in its default /root/hll_rcon_tool folder, following the installation guide.
Adapt the commands given below if necessary.

  • stop the CRCON Docker containers :
cd /root/hll_rcon_tool && docker compose down
  • make a copy of the whole database :
cp -r /root/hll_rcon_tool/db_data /root/hll_rcon_tool/db_data_backup
  • restart CRCON :
cd /root/hll_rcon_tool && docker compose up -d

Complete postgres part

You can refer to this to see where the lines that open the ports are to be added (these are the two last lines).

  postgres:
    image: ${POSTGRES_IMAGE}
    environment:
      # If a password is not defined this container will fail to create
      POSTGRES_PASSWORD: ${HLL_DB_PASSWORD}
      POSTGRES_USER: ${HLL_DB_USER}
      POSTGRES_DB: ${HLL_DB_NAME}
      PGDATA: /data
      HLL_DB_NAME: ${HLL_DB_NAME}
      HLL_DB_USER: ${HLL_DB_USER}
    restart: always
    healthcheck:
      test:
        ["CMD", "pg_isready", "-U", "${HLL_DB_USER}", "-d", "${HLL_DB_NAME}"]
      interval: 15s
      timeout: 30s
      retries: 5
      start_period: 80s
    volumes:
      - ./db_data:/data
    networks:
      - common
    ports:
      - 0.0.0.0:15432:5432