Pathfinder – Installation
This is a revised version of the post I made on pathfinder slack channel name under donny.donichi.
eve online wormhole mapping tool, Pathfinder, only available in a docker installation. There is a git hub available for you to download the bare installation. The problem is that it is still using php 7.x which is not supported in the mordern linux distributions. In my case, gentoo and Ubuntu using php 8.2 or 8.3. Thus, you have to use the docker solution.
It also uses traefik solution to proxy the web trafic to various docker containers which is not ideal solution if you are running nginx or apache using ports 80 and 443.
There are some tweaks required on the default installation.
Remove traefik From docker-compose.yml
You need to remove traefik configuration in docker-compose.yml and reconfigure your apache to work as a proxy server. The below config is to use port 8081 instead of 8080 in the default config and remove traefik related configs. There is no reason to choose 8081. You can choose any port as long as it’s not used other services.
The config is also using mariadb:latest which is an official docker image from mariadb. I couldn’t make the pathfinder default one work at the initial attempt, but it worked my second attempt on another instance. Do make sure to set db password in .env before you download and create the docker image. That is the only chance when the database will accept root password. Otherwise, you need to delete, image, containers, and volume and recreate the docker image from scratch.
version: "3.9"
services:
pfdb:
image: mariadb:latest
environment:
MYSQL_ROOT_PASSWORD: $MYSQL_PASSWORD
networks:
pf:
aliases:
- "$MYSQL_HOST"
volumes:
- db_data:/var/lib/mysql
- ./pathfinder/export/sql/eve_universe.sql.zip:/eve_universe.sql.zip
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
restart: always
pf-redis:
image: redis:6.2.5-alpine3.14
command: ["redis-server", "--appendonly", "yes"]
container_name: redis
volumes:
- redis_data:/data
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
networks:
pf:
aliases:
- "$REDIS_HOST"
logging:
driver: none
restart: always
pf-socket:
image: ghcr.io/goryn-clade/pf-websocket:latest
command: ["--tcpHost", "0.0.0.0"]
container_name: socket
networks:
pf:
aliases:
- "$PATHFINDER_SOCKET_HOST"
volumes:
- ./logs:/var/www/html/pathfinder/history/map
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
restart: always
pf:
container_name: pathfinder
image: ghcr.io/goryn-clade/pathfinder:latest
env_file:
- .env
networks:
- pf
ports:
- "8081:80"
healthcheck:
disable: true
volumes:
- ./config/pathfinder/config.ini:/var/www/html/pathfinder/app/templateConfig.ini
- ./config/pathfinder/pathfinder.ini:/var/www/html/pathfinder/app/pathfinder.ini
- ./config/pathfinder/plugin.ini:/var/www/html/pathfinder/app/plugin.ini
- ./logs:/var/www/html/pathfinder/history/map
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
depends_on:
- pfdb
- pf-redis
- pf-socket
restart: always
volumes:
db_data:
redis_data:
networks:
pf:
then run a command
$> docker compose up -d
docker-compose is not required in the latest docker (26.1.0). I think it is obsolete.
I will explain how to configure apache as proxy and how to bypass letsencrypt challenge bypassing the proxy.