Make sure nothing else is bound to port 3000 before you start your newly created container.
The project is still available to your server only that it will now be within an image.
So what you do manually via ssh won't be necessary anymore.
In the case of a directory, it will be in form of a process (running container). So your nginx configuration has to change and be bound to this process as opposed to some directory in case that's how you did it before.
The docker container is disconnected immediately after the deployment.
root@732273-cc00798:/var/www/www-root/data/www/732273-cc00798.tmweb.ru/frontend# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
root@732273-cc00798:/var/www/www-root/data/www/732273-cc00798.tmweb.ru/frontend# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
e9b22e886568 ghcr.io/aeshevch/sakhpasflot/sakhpasflot:latest "docker-entrypoint.s…" 36 seconds ago Exited (1) 33 seconds ago dockerContainer
Maybe some kind of error is happening somewhere, where can I see it?
root@732273-cc00798# docker logs --since=1h e9b22e886568
> @webdevstudios/nextjs-wordpress-starter@1.0.0 start
> next start
ready - started server on 0.0.0.0:3000, url: http://localhost:3000
error - Failed to load next.config.js, see more info here https://nextjs.org/docs/messages/next-config-error
TypeError: Cannot read properties of undefined (reading 'split')
at Object.<anonymous> (/app/next.config.js:8:52)
at Module._compile (node:internal/modules/cjs/loader:1097:14)
at Object.Module._extensions..js (node:internal/modules/cjs/loader:1149:10)
at Module.load (node:internal/modules/cjs/loader:975:32)
at Function.Module._load (node:internal/modules/cjs/loader:822:12)
at ModuleWrap.<anonymous> (node:internal/modules/esm/translators:190:29)
at ModuleJob.run (node:internal/modules/esm/module_job:195:25)
at async Promise.all (index 0)
at async ESMLoader.import (node:internal/modules/esm/loader:331:24)
at async importModuleDynamicallyWrapper (node:internal/vm/module:437:15)
at async Object.loadConfig [as default] (/app/node_modules/next/dist/server/config.js:399:32)
at async NextServer.loadConfig (/app/node_modules/next/dist/server/next.js:116:22)
at async NextServer.prepare (/app/node_modules/next/dist/server/next.js:98:24)
at async /app/node_modules/next/dist/cli/next-start.js:95:9
What could be the problem? Manual startup works fine
A new problem - everything seems to be working, but new changes are not being pulled up...
No errors, website works, docker container id changes after new deploy
Make sure nothing else is bound to port 3000 before you start your newly created container.
The project is still available to your server only that it will now be within an image.
So what you do manually via ssh won't be necessary anymore.
In the case of a directory, it will be in form of a process (running container). So your nginx configuration has to change and be bound to this process as opposed to some directory in case that's how you did it before.
The docker container is disconnected immediately after the deployment.
Maybe some kind of error is happening somewhere, where can I see it?
Check the logs and make sure that you don't have any other process bound to port 3000 in your server.
Best of luck as you continue to debug.
I found the error:
What could be the problem? Manual startup works fine
It works!! Thnx for all!! 🥳🥳🥳
Yay 🎉
A new problem - everything seems to be working, but new changes are not being pulled up...
No errors, website works, docker container id changes after new deploy
Hey dude. That's not a problem.
New containers get a unique ID every time :)
Yes, I know. The problem is not that, the problem is that new changes are not being pulled up
It has now been updated when I manually made "docker rm -vf$(docker ps -aq) and docker rmif$(docker images -aq)" on the server before the deployment