goryn-clade / pathfinder-containers Goto Github PK
View Code? Open in Web Editor NEWA Docker-compose solution for Pathfinder mapping tool using Traefik
License: Other
A Docker-compose solution for Pathfinder mapping tool using Traefik
License: Other
I have been working on this for hours now and this has been an issue on multiple peice of hardware... I cant get the "DB Driver" to be recognized and every time I try to use an external DB it cant find the host... I know that the container includes a DB... this is starting to piss me off cause IDK what else to do to get it working. Any help would be amazing.
Thanks!
I dont think this behaviour was intended?
Version: master @ v2.1.4
Setup: prod
There are several reports of performance issues with route calculation and i can confirm this issue on several of my instances including the public one with different user tiers. The first POST to /api/rest/Route on a populated map with 20 users did peak with 19 seconds. Following POSTs were short with 1 sec to 5 sec on same or different systems. After checking monitoring and logs, the only parameters affecting the timing of the POSTs looks to be:
uptime of Pathfinder
Number of systems on map
(maybe number of routes per system?)
(maybe configured [PATHFINDER.ROUTE] parameters, we both run default values of pathfinder-containers)
There are no logs related to the issue and no logs in esi*.log
Not sure if this is a Pathfinder issue or an issue resulting from pathfinder-containers default configuration
Restart Pathfinder. Clearing Redis cache does not resolve the issue
Hey Guys.
Just need to gather some ideas before I start, I spoke with goryn-clade and got permission to contribute to writing the wiki for the main fork https://github.com/goryn-clade/pathfinder - I am keen to do the same here but part of his suggestion was to add documentation related to know/regular issues occurring and the solutions. Would you guys be kind enough to add to this thread with that information?
I am also going to assemble a bit of documentation on how to separate the pathfinder and traefik and allow it to run separate so you can take the pathfinder offline for maintenance to avoid it impacting existing deployments (as goryn mentioned)
Cheers
Hi, this is probably a terrible issue post, and I'm sorry about that in advance.
BACKGROUND: So I managed to get this working. Holy smokes, that's awesome. Everything looks good, just ironing out how to get https through AWS. But there's one slight problem that I think I could tackle with vim, but I wanted to drop a line here and see if anyone would advise against it before I went in.
ISSUE: There's a missing permission (structure searching) when I attempt to add a structure owner in the structure module. It fires up an error and tells me exactly the permission that's missing. The module otherwise works fine.
QUESTION: Can I just SSH into the ec2, use VIM to edit the .ini with the permissions in it, and then update my EVE Application key to include that permission? Is that the fix, and would it possibly screw with my installation? Those .ini files should be fine to tweak on the fly, yeah?
Thank you kindly for any insight on this. I felt it was appropriate to put here because it seems like that permission should have been (?) installed with the compose, right? Super new to all this, happy to take my questioning elsewhere if this is the wrong place for it.
when attempting to reach the pathfinder instance after following the setup, i end up at a 404, even from an internal IP address. I have an error from the traefik container (below). If i go to the internal ip port:8080 i can access the traefik dashboard.
error: traefik | time="2022-01-17T19:16:33Z" level=error msg="Unable to obtain ACME certificate for domains \"pathfinder.mycooldomain.com\": unable to generate a certificate for the domains [pathfinder._mycooldomain_.com]: error: one or more domains had a problem:\n[pathfinder.mycooldomain.com] acme: error: 403 :: urn:ietf:params:acme:error:unauthorized :: Invalid response from http://pathfinder.mycooldomain.com/.well-known/acme-challenge/FkG9ARW-6snCRpZagnCpeYe70JaBmlvzPApRfnF9KgQ [77.100.152.XXX]: \"<html>\\r\\n<head><title>404 Not Found</title></head>\\r\\n<body>\\r\\n<center><h1>404 Not Found</h1></center>\\r\\n<hr><center>openresty</cente\", url: \n" rule="Host(
pathfinder.mycooldomain.com)" providerName=letsencrypt.acme routerName=pf-secure@docker
.env:
PROJECT_ROOT="/root/pathfinder-containers" CONTAINER_NAME="pf" DOMAIN="pathfinder.mycooldomain.com" APP_PASSWORD="thepassword" MYSQL_PASSWORD="theotherpassword" CCP_SSO_CLIENT_ID="yup this is correct" CCP_SSO_SECRET_KEY="also correct" CCP_ESI_SCOPES="esi-location.read_online.v1,esi-location.read_location.v1, etc etc... (cant copy this for some reason)
`
I need do investigate this further, but it looks if using docker-compose down
mariadb container does not get shutdown successfully and crashes instead. This results in a innodb crash recovery on every db start.
Mariadb container logs look like this:
cat /var/lib/mysql/9b552028c3fb.err
2022-01-10 11:06:22 0 [Note] InnoDB: Using Linux native AIO
2022-01-10 11:06:22 0 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
2022-01-10 11:06:22 0 [Note] InnoDB: Uses event mutexes
2022-01-10 11:06:22 0 [Note] InnoDB: Compressed tables use zlib 1.2.11
2022-01-10 11:06:22 0 [Note] InnoDB: Number of pools: 1
2022-01-10 11:06:22 0 [Note] InnoDB: Using SSE2 crc32 instructions
2022-01-10 11:06:22 0 [Note] InnoDB: Initializing buffer pool, total size = 128M, instances = 1, chunk size = 128M
2022-01-10 11:06:22 0 [Note] InnoDB: Completed initialization of buffer pool
2022-01-10 11:06:22 0 [Note] InnoDB: If the mysqld execution user is authorized, page cleaner thread priority can be changed. See the man page of setpriority().
2022-01-10 11:06:22 0 [Note] InnoDB: Starting crash recovery from checkpoint LSN=58323719930
2022-01-10 11:06:23 0 [Note] InnoDB: 128 out of 128 rollback segments are active.
2022-01-10 11:06:23 0 [Note] InnoDB: Removed temporary tablespace data file: "ibtmp1"
2022-01-10 11:06:23 0 [Note] InnoDB: Creating shared tablespace for temporary tables
2022-01-10 11:06:23 0 [Note] InnoDB: Setting file './ibtmp1' size to 12 MB. Physically writing the file full; Please wait ...
2022-01-10 11:06:23 0 [Note] InnoDB: File './ibtmp1' size is now 12 MB.
2022-01-10 11:06:23 0 [Note] InnoDB: Waiting for purge to start
2022-01-10 11:06:23 0 [Note] InnoDB: 10.3.17 started; log sequence number 58323719939; transaction id 82286801
2022-01-10 11:06:23 0 [Note] InnoDB: Loading buffer pool(s) from /var/lib/mysql/ib_buffer_pool
2022-01-10 11:06:23 0 [Note] InnoDB: Buffer pool(s) load completed at 220110 11:06:23
2022-01-10 11:06:23 0 [Note] Plugin 'FEEDBACK' is disabled.
2022-01-10 11:06:23 0 [Note] Recovering after a crash using tc.log
2022-01-10 11:06:23 0 [Note] Starting crash recovery...
2022-01-10 11:06:23 0 [Note] Crash recovery finished.
I haven't noticed any impact on data integrity. If we add correct depends_on
in the service declarations and maybe a healthcheck for every service, this issue can be solved.
As title. New instance of Pathfinder (thanks for the docker image and clear instructions!), authorized a user, created a "Private" map. Tried to add another user to the map in "Sharing" but search only returns "No results found." Tried adding an entire corp, same result. Corporation search works when editing a Structure. Search also works when adding a system to the Routes panel.
Setting the PROJECT_ROOT var in .env appears to be challenging for many users. To avoid confusion and people getting stuck installing we should consider removing the PROJECT_ROOT var from .env and converting all the mount paths to relative paths.
Error Message:
ERROR: Version in "./docker-compose.yml" is unsupported. You might be seeing this error because you're using the wrong Compose file version. Either specify a supported version (e.g "2.2" or "3.3") and place your service definitions under the services
key, or omit the version
key and place your service definitions at the root of the file to use version 1.
For more on the Compose file format versions, see https://docs.docker.com/compose/compose-file/
Docker Version:
Client:
Version: 20.10.5+dfsg1
API version: 1.41
Go version: go1.15.15
Git commit: 55c4c88
Built: Mon May 30 18:34:49 2022
OS/Arch: linux/amd64
Context: default
Experimental: true
Server:
Engine:
Version: 20.10.5+dfsg1
API version: 1.41 (minimum version 1.12)
Go version: go1.15.15
Git commit: 363e9a8
Built: Mon May 30 18:34:49 2022
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: 1.4.13~ds1
GitCommit: 1.4.13~ds1-1~deb11u3
runc:
Version: 1.0.0~rc93+ds1
GitCommit: 1.0.0~rc93+ds1-5+deb11u2
docker-init:
Version: 0.19.0
GitCommit:
No changes have been made at the docker-compose.yml file(using version 3.8)
OS: Debian "Bullseye" 11.6, all installed packages are current
If any other information is needed please let me know and I'll provide it.
I am requesting that you build and store the docker containers ahead of time.
Both the normal Docker repo and GitHub's Docker repo are free of charge and will host these for you; GitHub will even build them for you I believe.
I come from a DevOps engineer background and its best practice not to have your docker-compose file do any building or compiling; just find the images needed and deploy them.
I would love to use this repo image, but I don't want to download your repo every-time. I just want a docker-compose file that points to your compiled version (either on GitHub or Docker).
This also adds modularization correctly. What you have is great for a personal project, but lacks the modularization for scale. It feels like a dev build.
Version: latest master@534dfde63a11411f6314c1a4568dd5c83259ba31
Setup: prod/development
Sometimes i need to check HTTP access logs of traefik and nginx in order to solve "support requests" by users. Currently afaik
/var/log/nginx/access.log
in the pf container, which is volatile. Its not included in stdout of pf container.--log.level=ERROR
, which does display access logsdocker-compose logs
Add HTTP access/error logs to stdout of containers.
Its would be awesome to have more map customization ability. Whenever I have a map that has Kspace star gate connections I always convert them to wormhole connections to they have that nice straight line between systems, instead of the hard L shaped lines that make the map looks cluttered and unorganized.
If you know how to change that in the backend files and can provide the location where I can change the line type, that would be awesome too.
Version: latest master@534dfde63a11411f6314c1a4568dd5c83259ba31
Setup: development
Start a fresh install, create db tables on /setup , stop/start with docker-compose, visit $PFDOMAIN/setup
Sometimes it loads, sometimes it fails with an OOM error like that:
pfdev | [15-Sep-2021 09:17:10] WARNING: [pool www] child 85 said into stderr: "NOTICE: PHP message: PHP Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 32768 bytes) in /var/www/html/pathfinder/app/Controller/LogController.php on line 1"
pfdev | [15-Sep-2021 09:17:30] WARNING: [pool www] child 92 said into stderr: "NOTICE: PHP message: PHP Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 12288 bytes) in /var/www/html/pathfinder/vendor/ikkez/f3-cortex/lib/db/cortex.php on line 2231"
Looks like /setup is limited by the php.ini default memory_limit value of 128M
diff --git a/static/php/php.ini b/static/php/php.ini
index f9082d2..5919688 100755
--- a/static/php/php.ini
+++ b/static/php/php.ini
@@ -1,3 +1,4 @@
+memory_limit = 256M
upload_max_filesize = 100M
post_max_size = 108M
max_input_vars = 5000
docker network create web && docker-compose up -d
dab2135b02c077d37e488f47c2cb80f609df20a0c4b2c0543739e6b38db3b538
bash: /usr/local/bin/docker-compose: cannot execute binary file: Exec format error
I've had a PF instance up and running in a docker container for a few weeks now. I used it just last night and all was well.
Today when I went to open the app, I started getting error 500's:
Error - 500
Oooops, Something went wrong! You have experienced a technical error. We apologize.
Status: 'Internal Server Error'
Message: Unable to open img/v2.2.2/svg/logo_inline.svg
I've verified this file exists and is readable:
ll (find . -iname "*logo_inline*")
Permissions Size User Date Modified Git Name
.rw-r--r-- 2.9k dusty 16 Dec 2023 -- ./pathfinder/img/svg/logo_inline.svg
.rw-r--r-- 2.9k dusty 16 Dec 2023 -- ./pathfinder/public/img/v2.2.2/svg/logo_inline.svg
Thoughts?
EDIT: I do have watchtower running, so it must have pulled the latest image overnight.
Version: latest master@534dfde63a11411f6314c1a4568dd5c83259ba31
Setup: development
When try to start this project on a docker host/daemon with enabled userns-remap
(https://docs.docker.com/engine/security/userns-remap/), docker-compose fails because of missing permissions for several mounts.
Docker-daemon settings:
root@vagrant-docker-act:~/pathfinder-containers# cat /etc/docker/daemon.json
{
"userns-remap": "default"
}
Logs:
Creating pfdev-socket ... error
Creating pfdev-db ...
Creating pfdev-redis ...
Creating traefik ...
Creating pfdev-db ... error
go:545: container init caused: rootfs_linux.go:76: mounting "/root/pathfinder-containers/websocket" to rootfs at "/app" caused: stat /root/pathfinder-containers/websocket: permission denied: unknown
ERROR: for pfdev-db Cannot start service pfdb: OCI runtime create failed: container_linux.go:380: starting container process caused: process_linux.go:545: cCreating pfdev-redis ... done
Creating traefik ... done
ERROR: for pf-socket Cannot start service pf-socket: OCI runtime create failed: container_linux.go:380: starting container process caused: process_linux.go:545: container init caused: rootfs_linux.go:76: mounting "/root/pathfinder-containers/websocket" to rootfs at "/app" caused: stat /root/pathfinder-containers/websocket: permission denied: unknown
ERROR: for pfdb Cannot start service pfdb: OCI runtime create failed: container_linux.go:380: starting container process caused: process_linux.go:545: container init caused: rootfs_linux.go:76: mounting "/root/pathfinder-containers/pathfinder/export/sql/eve_universe.sql.zip" to rootfs at "/eve_universe.sql.zip" caused: stat /root/pathfinder-containers/pathfinder/export/sql/eve_universe.sql.zip: permission denied: unknown
ERROR: Encountered errors while bringing up the project.
userns-remap
The used alpine base image is end of life, so Trivy scans fail.
2022-01-06T04:29:47.307Z WARN This OS version is no longer supported by the distribution: alpine 3.8.2
2022-01-06T04:29:47.307Z WARN The vulnerability detection may be insufficient because security updates are not provided
Began working on this in fleischsalatinspace#9
with CONTAINER_NAME="pftest" in the .env file, the database container becomes pftest-db.
Pathfinders config however points to pftestdb:3306, preventing it from connecting.
EDIT: yep totally my error, it should have been working correctly but I'd broken it myself.
ERROR 1064 (42000) at line 122078: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'system VALUES (30100000, '2023-11-11 16:37:40', '2023-11-11 16:37:40', 'Zarzakh'' at line 1
Table name needs to be escaped
INSERT INTO `system` VALUES (30100000, '2023-11-11 16:37:40', '2023-11-11 16:37:40', 'Zarzakh', 20010000, 40488503, 'T', -1.0, -1.0, 'C', null, 4732782451200000, 2722598544370000, -1508346782640000);
Just standing up a brand new VM for this because the website I've been using constantly stops tracking position.
Ubuntu Server 20.04.3
10 vCPU
16GB vRAM
location of .env is /home/pathfinder/pathfinder-containers/.env
Googled the error as I don't use docker very much and came up with a issue about relative links but since I have the absolute path entered in the env file figured I should just ask.
If need be I can just wipe and rebuild the VM.
root@pathfinder:/home/pathfinder/pathfinder-containers# docker network create web && docker-compose up -d --build d86bfa6ad3d9bf8c2a6d52effaacc909e5ec5d6b62e8b9b5732165ecfb6f0ebb ERROR: Named volume ""/home/pathfinder/pathfinder-containers" # The path of the cloned repo/pathfinder/export/sql/eve_universe.sql.zip:/eve_universe.sql.zip:rw" is used in service "pfdb" but no declaration was found in the volumes section.
PROJECT_ROOT="/home/pathfinder/pathfinder-containers" # The path of the cloned repo
CONTAINER_NAME="pf" # docker container name prefix
DOMAIN="https://url/sso/callbackAuthorization" # The domain you will be using
APP_PASSWORD="pass" # Password for /setup
MYSQL_PASSWORD="pass" # Mysql Password
CCP_SSO_CLIENT_ID="token" # Use the SSO tokens created in step 1
CCP_SSO_SECRET_KEY="token"
CCP_ESI_SCOPES="esi-location.read_online.v1,esi-location.read_location.v1,esi-location.read_ship_type.v1,esi-ui.write_waypoint.v1,esi-ui.open_window.v1,esi-universe.read_structures.v1,esi-corporations.read_corporation_membership.v1,esi-clones.read_clones.v1,esi-characters.read_corporation_roles.v1"
Hi there
I set up new instance but I get 404 error.
How to debug it? What's can be source of problem? How to solve?
Thank you for attention and any help
My .env file:
PROJECT_ROOT=/domains/ru/doodidan/pathfinder
CONTAINER_NAME=pf
DOMAIN=pathfinder.doodidan.ru
APP_PASSWORD=***
MYSQL_PASSWORD=***
CCP_SSO_CLIENT_ID=***
CCP_SSO_SECRET_KEY=***
CCP_ESI_SCOPES=esi-location.read_online.v1,esi-location.read_location.v1,esi-location.read_ship_type.v1,esi-ui.write_waypoint.v1,esi-ui.open_window.v1,esi-universe.read_structures.v1,esi-corporations.read_corporation_membership.v1,esi-clones.read_clones.v1,esi-characters.read_corporation_roles.v1
docker-compose up
command:
[+] Running 5/5
⠿ Container pf-socket Recreated 0.4s
⠿ Container traefik Recreated 0.3s
⠿ Container pf-db Recreated 0.3s
⠿ Container pf-redis Created 0.0s
⠿ Container pf Recreated 0.2s
Attaching to pf, pf-db, pf-redis, pf-socket, traefik
pf-db | 220602 13:11:44 mysqld_safe Logging to '/var/lib/mysql/d45df66708f7.err'.
pf-db | 220602 13:11:44 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
pf-redis | 1:C 02 Jun 2022 13:11:44.806 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
pf-redis | 1:C 02 Jun 2022 13:11:44.810 # Redis version=6.2.5, bits=64, commit=00000000, modified=0, pid=1, just started
pf-redis | 1:C 02 Jun 2022 13:11:44.810 # Configuration loaded
pf-redis | 1:M 02 Jun 2022 13:11:44.819 * monotonic clock: POSIX clock_gettime
pf-redis | 1:M 02 Jun 2022 13:11:44.825 * Running mode=standalone, port=6379.
pf-redis | 1:M 02 Jun 2022 13:11:44.826 # Server initialized
pf-redis | 1:M 02 Jun 2022 13:11:44.826 # WARNING overcommit_memory is set to 0! Background save may fail under low memory condition. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.
pf-redis | 1:M 02 Jun 2022 13:11:44.826 * DB loaded from append only file: 0.000 seconds
pf-redis | 1:M 02 Jun 2022 13:11:44.826 * Ready to accept connections
traefik | time="2022-06-02T13:11:45Z" level=info msg="Configuration loaded from flags."
pf | Adding password for user pf
pf-socket | Loading composer repositories with package information
pf-socket | Installing dependencies (including require-dev) from lock file
pf-socket | Nothing to install or update
pf-socket | Generating autoload files
pf-socket | param value default
pf-socket | --------------------------------------------
pf-socket | -wsHost 0.0.0.0 0.0.0.0
pf-socket | -wsPort 8020 8020
pf-socket | -tcpHost 0.0.0.0 127.0.0.1
pf-socket | -tcpPort 5555 5555
pf-socket | -debug 2 2
pf-socket |
pf-socket | 2022-06-02 13:11:46.555071 | webSock | app/Component/AbstractMessageComponent.php line 64 | __construct() [START] | info | start WebSocket server…
pf-socket | 2022-06-02 13:11:46.559009 | tcpSock | app/Socket/AbstractSocket.php line 51 | __construct() [START] | info | start Socket server…
pf | 2022-06-02 13:11:46,759 CRIT Supervisor is running as root. Privileges were not dropped because no user is specified in the config file. If you intend to run as root, you can set user=root in the config file to avoid this message.
pf | 2022-06-02 13:11:46,766 INFO supervisord started with pid 1
pf | 2022-06-02 13:11:47,792 INFO spawned: 'cron' with pid 15
pf | 2022-06-02 13:11:47,797 INFO spawned: 'nginx' with pid 16
pf | 2022-06-02 13:11:47,843 INFO spawned: 'php-fpm' with pid 17
pf | [02-Jun-2022 13:11:48] NOTICE: fpm is running, pid 17
pf | [02-Jun-2022 13:11:48] NOTICE: ready to handle connections
pf | 2022-06-02 13:11:49,025 INFO success: cron entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
pf | 2022-06-02 13:11:49,026 INFO success: nginx entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
pf | 2022-06-02 13:11:49,027 INFO success: php-fpm entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
Getting the error below in the patherfinder-containers-pf-1 when first setting this up.
This is attempting to setup in a Amazon EC2
Sun, 31 Dec 2023 16:53:00 +0000 PDOException: SQLSTATE[HY000] [1049] Unknown database 'pathfinder' in /var/www/html/pathfinder/vendor/bcosca/fatfree-core/db/sql.php:548
Sun, 31 Dec 2023 16:53:00 +0000 Stack trace:
Sun, 31 Dec 2023 16:53:00 +0000 #0 /var/www/html/pathfinder/vendor/bcosca/fatfree-core/db/sql.php(548): PDO->__construct('mysql:host=mari...', 'root', '104414', Array)
Sun, 31 Dec 2023 16:53:00 +0000 #1 /var/www/html/pathfinder/app/Lib/Db/Sql.php(19): DB\SQL->__construct('mysql:host=mari...', 'root', 104414, Array)
Sun, 31 Dec 2023 16:53:00 +0000 #2 /var/www/html/pathfinder/app/Lib/Db/Pool.php(185): Exodus4D\Pathfinder\Lib\Db\Sql->__construct('mysql:host=mari...', 'root', 104414, Array)
Sun, 31 Dec 2023 16:53:00 +0000 #3 /var/www/html/pathfinder/app/Lib/Db/Pool.php(142): Exodus4D\Pathfinder\Lib\Db\Pool->newDB(Array)
Sun, 31 Dec 2023 16:53:00 +0000 #4 /var/www/html/pathfinder/app/Model/AbstractModel.php(152): Exodus4D\Pathfinder\Lib\Db\Pool->getDB('PF')
Sun, 31 Dec 2023 16:53:00 +0000 #5 /var/www/html/pathfinder/app/Model/AbstractModel.php(1118): Exodus4D\Pathfinder\Model\AbstractModel->__construct(NULL, NULL, NULL, 86400)
Sun, 31 Dec 2023 16:53:00 +0000 #6 /var/www/html/pathfinder/app/Lib/Cron.php(133): Exodus4D\Pathfinder\Model\AbstractModel::getNew('Exodus4D\Pathfi...')
Sun, 31 Dec 2023 16:53:00 +0000 #7 /var/www/html/pathfinder/app/Lib/Cron.php(38): Exodus4D\Pathfinder\Lib\Cron->getJob('deleteLogData')
Sun, 31 Dec 2023 16:53:00 +0000 #8 /var/www/html/pathfinder/vendor/xfra35/f3-cron/lib/cron.php(148): Exodus4D\Pathfinder\Lib\Cron->isDue('deleteLogData', 1704041580)
Sun, 31 Dec 2023 16:53:00 +0000 #9 /var/www/html/pathfinder/vendor/xfra35/f3-cron/lib/cron.php(163): Cron->run()
Sun, 31 Dec 2023 16:53:00 +0000 #10 /var/www/html/pathfinder/vendor/bcosca/fatfree-core/base.php(1960): Cron->route(Object(Base), Array, Array)
Sun, 31 Dec 2023 16:53:00 +0000 #11 /var/www/html/pathfinder/vendor/bcosca/fatfree-core/base.php(1759): Base->call(Array, Array, Array)
Sun, 31 Dec 2023 16:53:00 +0000 #12 /var/www/html/pathfinder/index.php(27): Base->run()
Sun, 31 Dec 2023 16:53:00 +0000 #13 {main}
.env file looks like this: (personal info censored)
DOMAIN="##########"
LE_EMAIL="###############"
APP_PASSWORD="14410As"
MYSQL_HOST="mariadb"
MYSQL_PORT="3306"
MYSQL_USER="root"
MYSQL_PASSWORD="104414"
MYSQL_PF_DB_NAME="pathfinder"
MYSQL_UNIVERSE_DB_NAME="eve_universe"
MYSQL_CCP_DB_NAME="eve_lifeblood_min"
REDIS_HOST="redis"
REDIS_PORT="6379"
CCP_SSO_CLIENT_ID="#################"
CCP_SSO_SECRET_KEY="#####################"
CCP_ESI_SCOPES="esi-location.read_online.v1,esi-location.read_location.v1,esi-location.read_ship_type.v1,esi-ui.write_waypoint.v1,esi-ui.open_window.v1,esi-universe.read_structures.v1,esi-corporations.read_corporation_membership.v1,esi-clones.read_clones.v1,esi-characters.read_corporation_roles.v1,esi-search.search_structures.v1"
PATHFINDER_SOCKET_HOST="pathfinder-socket"
PATHFINDER_SOCKET_PORT="5555"
SMTP_HOST=""
SMTP_PORT=""
SMTP_SCHEME=""
SMTP_USER=""
SMTP_PASS=""
SMTP_FROM=""
SMTP_ERROR=""
Version: master @ unknown
Setup: development
(This got reported on slack)
Removing - "--certificatesresolvers.letsencrypt.acme.storage=/letsencrypt/acme.json"
from traefik config in docker-compose.yml
as requested in README.md results in new cert requests to lets encrypt everytime the traefik container restarts. As a result people are hitting the lets encrypt rate limit of 5 new certs per domain per x timeframe. Example: https://crt.sh/?q=pathfinderdp.space
Dont remove https://github.com/goryn-clade/pathfinder-containers/blob/master/docker-compose.yml#L90 from docker-compose.yml
I worked for a while trying to get this up and running. I was able to successfully launch and setup pathfinder, however after creating the eve_universe database as per the instructions in the install documents, I was unable to log in via SSO - it would give a database error indicating that the table couldn't be updated due to it not existing. Looking further into the logs and viewing the database tables it was indeed blank. I checked the contents of eve_universe.sql.zip and it was empty. When I looked at the install logs, running
docker-compose exec pfdb /bin/sh -c "unzip -p eve_universe.sql.zip | mysql -u root -p$MYSQL_ROOT_PASSWORD eve_universe"; from step 4 resulted in a single output message: unzip: short read
This is how I discovered the zip was empty or malformed. In order to correctly import the data into the container, I had to run the following:
sudo wget https://github.com/exodus4d/pathfinder/raw/master/export/sql/eve_universe.sql.zip
sudo unzip eve_universe.sql.zip
sudo docker cp eve_universe.sql "$(sudo docker-compose ps | grep pfdb | awk '{ print $1}'):/eve_universe.sql"
sudo docker-compose exec pfdb sh -c 'exec mysql -uroot -p"$MYSQL_ROOT_PASSWORD" eve_universe < /eve_universe.sql'
sudo rm eve_universe.sql*
modified from the steps I was able to find from https://github.com/KryptedGaming/pathfinder-docker/blob/master/README.md#importing-static-database to match the container name in this instance. After completing the above I was able to finish the setup and log in without failure. You may need to update or amend your install directions! :) Thanks!
For some reason when I use Firefox It doesnt show me other corp mates in systems. It will show me one or two and im not 100% sure but it seems like at least one of those people was having the same problem and also using fire fox. When we switched to chrome we both could see everyone.
Docker is giving exec format error
in the logs of pathfinder-containers_pf-socket_1 and pathfinder-containers_pfdb_1. Trying to set up a host on an Orange Pi 5 running Armbian Ubuntu. Guessing it's an architecture mismatch?
(I'm a noob, sorry).
All setup and working perfect except the browser says its not secure. If i inspect the certificate it has the correct domain and i deleted the acme.json file let it re-create and inspecting that it also now has the correct domain in. Firefox gives this error Error code: SEC_ERROR_UNKNOWN_ISSUER
Of course i can add an exception and continue but trying to clean it all up for the user experience.
I already use another Reverse Proxy on another box on my network. With the current config the web app is routed thought the traefik so there are no ports to forward to from my already established proxy. Any chance we could get a docker compose without the traefik?
Thanks
I set up the ENV, instead of base docker, I use colima, another container utility. Works wonders.
i run docker network create web && docker-compose up -d --build
I did a quick follow to see if i was missing anything. docker compose logs --follow
. When I was looking at a localhost implementation, I was thinking that I could then go to localhost/setup but get a 404.
When looking at the logs I notice:
pathfinder-containers-pf-1 | 2023/06/30 05:12:25 [emerg] 15#15: invalid number of arguments in "server_name" directive in /etc/nginx/sites_enabled/site.conf:5
pathfinder-containers-pf-1 | nginx: [emerg] invalid number of arguments in "server_name" directive in /etc/nginx/sites_enabled/site.conf:5
pathfinder-containers-pf-1 | 2023-06-30 05:12:25,359 INFO exited: nginx (exit status 1; not expected)
It looks like it seems to have never properly deploys in that container and errors out, which makes sense as to why there is a 404.
The ENV file I used was based on .env.example
instead of the Readme. I only edited le_email, mysql password, app password, and eve sso.
I made no changes to the config ini.
I've previously had a version of PF running on my Unraid Server, I've got this one sort of running but for some reason the database is denying access. Below is the quote I'm getting from withing the Setup Page.
SQLSTATE[HY000] [1045] Access denied for user 'root'@'172.25.0.5' (using password: YES)
I'm not sure what the problem is, i cannot even log in through terminal, gives me the same errors.
After the character authorization I can't see where am I in the WH, It worked with 2.2.0, now not working with 2.2.1
As per usual, I have been adding in structures as normal by d-scanning and pasting into structures list. I have noticed that after pasting even 2 or more, at least one of the structures is removing itself on initial paste. I would have to re-paste the dscan for the structure to remain in the list.
after the recent update, my install went weird on me, with the database being inaccessible, so i started a new folder to start from scratch and still had problems.
I shut down the existing instance and purge all disks and cache in docker
I fresh clone the repo and submodules, copy my .env and pathfinder.ini
i cut out the traefic elements and add a port that i have nginx reverse proxying to
then i run "docker network create web && docker-compose up -d" and open the web browser
The browser displays an infinite loading screen
viewing the log while refreshing on setup shows the following:
pathfinder | [27-Jan-2024 18:56:18] WARNING: [pool www] child 22 said into stderr: "sh: git: not found"
pathfinder | [27-Jan-2024 18:56:18] WARNING: [pool www] child 22 said into stderr: "sh: composer: not found"
pathfinder | [27-Jan-2024 18:56:18] WARNING: [pool www] child 22 said into stderr: "sh: node: not found"
pathfinder | [27-Jan-2024 18:56:18] WARNING: [pool www] child 22 said into stderr: "sh: npm: not found"
bashing into the pf instance and running "apk add git composer nodejs npm --update" fixes this, but it must be done any time the disk is rebuilt.
After doing so i get
pathfinder | [27-Jan-2024 19:04:00] WARNING: [pool www] child 91 said into stderr: "Cannot create cache directory /.composer/cache/repo/https---packagist.org/, or directory is not writable. Proceeding without cache"
pathfinder | [27-Jan-2024 19:04:00] WARNING: [pool www] child 91 said into stderr: "Cannot create cache directory /.composer/cache/files/, or directory is not writable. Proceeding without cache"
before i get MASSIVE blocks of whitespace echo'd into stderr
in the middle of the whitespace is an error about "Unknown package has no name defined". It's rather long so this is included as an attachment pflog.txt
Is there maybe an incorrect image being used that needs to be better specified in the docker-compose file?
Hi there. I followed the docker-compose guide, and got everything up and running pretty easily. I then disabled the bundled traefik and set up my own traefik container. That's all working great.
However, my character that I'm logged in as is seemingly stuck on manager. I have a couple maps I created to test/learn with and would like to delete them, but it tells me that I need the admin role to do that. When I go to pathfinder.url.com/admin
it shows me:
My in-game role shows I have director (I think?) - has the backslash through the box.
Am I doing something wrong?
EDIT:
I have verified the permissions on EVE developers.
Version: master @ v2.1.4
Setup: prod
With fix of #16 , the acme.json file in letsencrypt
directory is persistent and has file permissions -rw------- 1 root root 15875 Okt 25 13:13 acme.json
. This results in project startup failure because docker cannot mount the letsencrypt
directory :
13:18 $ ./admin.sh up -d --build
Creating network "pathfinder-containers_pf" with the default driver
Building pf
Traceback (most recent call last):
File "docker/utils/build.py", line 96, in create_archive
PermissionError: [Errno 13] Permission denied: '/srv/goryn-pathfinder/pathfinder-containers/letsencrypt/acme.json'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "bin/docker-compose", line 3, in <module>
File "compose/cli/main.py", line 67, in main
File "compose/cli/main.py", line 126, in perform_command
File "compose/cli/main.py", line 1070, in up
File "compose/cli/main.py", line 1066, in up
File "compose/project.py", line 615, in up
File "compose/service.py", line 346, in ensure_image_exists
File "compose/service.py", line 1125, in build
File "docker/api/build.py", line 160, in build
File "docker/utils/build.py", line 31, in tar
File "docker/utils/build.py", line 100, in create_archive
OSError: Can not read file in context: /srv/goryn-pathfinder/pathfinder-containers/letsencrypt/acme.json
[2078] Failed to execute script docker-compose
Move the acme.json file outside of the project directory. Now traefik will request a new certificate from LE and create new acme.json
file into letsencrypt
directory. This is not a permanent solution as after some time we will hit lets encrypt rate limits.
Hello can someone guide me through the process?
Enabling map history logging via pathfinder.ini or UI does not work. No map logs displayed in UI or written to file
Confirmed by sam on slack
Updated from 2.2.2 to 2.2.3 and getting 500 error regarding a SVG file unable to open.
Error - 500
Oooops, Something went wrong! You have experienced a technical error. We apologize.
Status: 'Internal Server Error'
Message: Unable to open img/v2.2.3/svg/logo_inline.svg
I've verified this file exists and is readable:
pathfinder-containers/pathfinder/img/svg
-rw-r--r-- 1 root root 2885 Jan 24 16:22 logo_inline.svg
pathfinder-containers/pathfinder/public/img/v2.2.3/svg
-rw-r--r-- 1 root root 2885 Jan 24 16:22 logo_inline.svg
Add documentation to repository wiki about:
Two fresh installs have no Thera connections found.
On dockerized version log for a map is not working. On non-dockerized works correctly.
After building for the first time, going to the setup page returns the following
Error - 500
Oooops, Something went wrong! You have experienced a technical error. We apologize.
Status: 'Internal Server Error'
Message: Unable to open img/v2.0.0/svg/logo_inline.svg
I'm not entirely sure how to fix this.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.