pi-node / instructions

254 stars 154 forks source link

Error starting Postgress Database #125

Open jiliton opened 3 years ago

jiliton commented 3 years ago

My pi-consensus container is stuck on Waiting for postgres to be available... When I manually run the postgres command inside the container, I get the following error

image

Host OS: Windows Server 2019 Docker Version: Docker Desktop 3.3.3 (64133)

ihatejam commented 3 years ago

Try it on the latest build of Windows 10 Home/Pro with Docker Desktop instead of on Windows Server. There have historically been issues with running a linux container in Docker on a Win Server OS. Docker have made many improvements over the years to facilitate it, but there still appear to be issues in some cases. I don't know of anyone who's got the Pi consensus container working on Windows Server.

remzicirit commented 3 years ago

but setting right permission for dat file might resolve the issue. Permission issue are common for postgress data files. Unless new image will override it again. ihatejami might know more about it

ihatejam commented 3 years ago

@remzicirit you're right to a degree, but afaik it boils down to Linux Container (or LCOW) support in Docker (on Win Server). LCOW is what needs adding, and even with it, many linux containers reportedly still have issues running under Win server. Not saying it is impossible, it may well be possible to get it running -- just that it is easier to get going on Windows 10 home/pro. There are a few public tutorials on how to get the LCOW stuff going - not sure if it is worth checking into.

Also, the Pi node really doesn't need a server class setup since Pi is SCP-based and not Proof-of-Work-based. Considering that there is currently zero reward for running the Pi node against the test blockchain, it would make sense to not invest in server OS + hardware (or VPS) -- just a spare old win10 workstation is fine.

jiliton commented 3 years ago

Changing file permissions won't work, since the pi-node image is using a bind mount, which as far as the container is concerned, is a file on a SMB network device.

"Mounts": [
            {
                "Type": "bind",
                "Source": "C:\\Users\\Administrator\\AppData\\Roaming\\Pi Network\\docker_volumes\\stellar",
                "Destination": "/opt/stellar",
                "Mode": "",
                "RW": true,
                "Propagation": "rprivate"
            },
            {
                "Type": "bind",
                "Source": "C:\\Users\\Administrator\\AppData\\Roaming\\Pi Network\\docker_volumes\\supervisor_logs",
                "Destination": "/var/log/supervisor",
                "Mode": "",
                "RW": true,
                "Propagation": "rprivate"
            },
            {
                "Type": "bind",
                "Source": "C:\\Users\\Administrator\\AppData\\Roaming\\Pi Network\\docker_volumes\\history",
                "Destination": "/history",
                "Mode": "",
                "RW": true,
                "Propagation": "rprivate"
            }
        ]

The solution would be for the developers to use a docker volume for the database instead.

pilgrim103 commented 3 years ago

I have had alot of issues with Docker. I usually look for the easiest way out. It has always worked. I stopped the Docker service then restart it in the little whale on your icon tray. I also close the Linux window and do not re-run Linux until Docker has started (NOT the Daemon). My machine currently has 8 Outgoing connections, 2 Incoming connections and I am supporting 2 other Nodes.

remzicirit commented 3 years ago

image

It seem permission should be wolrd anyway on a working system why it is asking to make it 0700

ihatejam commented 3 years ago

@jiliton good catch - i will feed that back to the core team. Although i think the idea was to write it to the roaming data location to facilitate upgrading the docker side of things while leaving the data intact. I don't expect them to change this anytime soon though, so would recommend running it on Windows 10 Pro in the meantime.

pilgrim103 commented 3 years ago

Does anyone know of a specific, detailed list of the required Platforms, RAM, Disk Space, CPU that are "suggested" to have to run a Pi Node/Supernode or are we all just supposed to guess? One other thing, I have noticed the Pi Node software has been accessing/utilizing, in small amounts and intervals, cycles from my GPU, always small and less than 2%. I am sure it is Pi or an accessory program because without PI running the GPU remains at 0% utilization (unless I am running Prime95). The GPU runs CUDA and has Phsyx code so it is used to run code and calculations on some of my mathematical stuff, especially involving FFT.

ihatejam commented 3 years ago

Pi nodes are currently running against a testnet in order to help determine the requirements for when the mainnet is released at the end of this year. The Pi Core Team hope to have the requirements pegged by the time the actual (mainnet) blockchain is launched.

To help you figure out which processes are using your GPU right now -- have a look at the Details tab of your Windows Task Manager and add the GPU column (You can also add the GPU engine column to show you which GPU and engine is being accessed, as well as selecting the GPU memory columns).

I expect that Pi GUI and Docker image will utilize some GPU RAM every now and then, but very little, if any, GPU processing power. image

pilgrim103 commented 3 years ago

Yes, that is how I noticed it, thru task manager. But it is not Docker hitting the GPU, it is PI Node, and it is NOT using GPU Memory, it is using GPU Cycles even though my CPU utilization never goes above 30%. Very curious.


From: ihatejam @.> Sent: Monday, May 17, 2021 4:40 AM To: pi-node/instructions @.> Cc: pilgrim103 @.>; Comment @.> Subject: Re: [pi-node/instructions] Error starting Postgress Database (#125)

Pi nodes are currently running against a testnet in order to help determine the requirements for when the mainnet is released at the end of this year. The Pi Core Team hope to have the requirements pegged by the time the actual (mainnet) blockchain is launched.

To help you figure out which processes are using your GPU right now -- have a look at the Details tab of your Windows Task Manager and add the GPU column (You can also add the GPU engine column to show you which GPU and engine is being accessed, as well as selecting the GPU memory columns).

I expect that Pi GUI and Docker image will utilize some GPU RAM every now and then, but very little, if any, GPU processing power. [image]https://user-images.githubusercontent.com/17174125/118467775-63f9ce80-b704-11eb-9fd4-9af92d0a484d.png

— You are receiving this because you commented. Reply to this email directly, view it on GitHubhttps://github.com/pi-node/instructions/issues/125#issuecomment-842179782, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AUADJJQFEQCAYAFEIV43TR3TODQBJANCNFSM443K556A.

remzicirit commented 3 years ago

image Here is another sample from mine, for both PI and docker it if help

oilcan-productions commented 2 years ago

Seeing the same thing on my Server 2022. Will move the node over to my Mac later this week. That should remove the issue with postgres not starting, correct?