lanmaster53 / recon-ng

Open Source Intelligence gathering tool aimed at reducing the time spent harvesting information from open sources.
GNU General Public License v3.0
3.71k stars 605 forks source link

Compose not standing up web container #125

Open peterclemenko opened 3 years ago

peterclemenko commented 3 years ago

The web container is not standing up when running docker compose.

This is the output on start

PS F:\dev\recon-ng> docker-compose up Starting recon-ng_redis_1 ... done Starting recon-ng_worker_1 ... done Starting f7e1a96f5d0a_recon-ng ... done Attaching to recon-ng_redis_1, f7e1a96f5d0a_recon-ng, recon-ng_worker_1 ': No such file or directory can't execute 'python3 redis_1 | 1:C 08 Oct 2020 10:13:16.538 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo redis_1 | 1:C 08 Oct 2020 10:13:16.538 # Redis version=6.0.8, bits=64, commit=00000000, modified=0, pid=1, just started redis_1 | 1:C 08 Oct 2020 10:13:16.538 # Warning: no config file specified, using the default config. In order to specify a config file use redis-server /path/to/redis.conf redis_1 | 1:M 08 Oct 2020 10:13:16.545 Running mode=standalone, port=6379. redis_1 | 1:M 08 Oct 2020 10:13:16.545 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128. redis_1 | 1:M 08 Oct 2020 10:13:16.545 # Server initialized redis_1 | 1:M 08 Oct 2020 10:13:16.545 # WARNING you have Transparent Huge Pages (THP) support enabled in your kernel. This will create latency and memory usage issues with Redis. To fix this issue run the command 'echo madvise > /sys/kernel/mm/transparent_hugepage/enabled' as root, and add it to your /etc/rc.local in order to retain the setting after a reboot. Redis must be restarted after THP is disabled (set to 'madvise' or 'never'). redis_1 | 1:M 08 Oct 2020 10:13:16.545 Loading RDB produced by version 6.0.8 redis_1 | 1:M 08 Oct 2020 10:13:16.545 RDB age 3 seconds redis_1 | 1:M 08 Oct 2020 10:13:16.545 RDB memory usage when created 0.77 Mb redis_1 | 1:M 08 Oct 2020 10:13:16.545 DB loaded from disk: 0.000 seconds redis_1 | 1:M 08 Oct 2020 10:13:16.545 Ready to accept connections worker_1 | 10:13:19 Worker rq:worker:239032e995544a6883bd16f2025f85e6: started, version 1.5.2 worker_1 | 10:13:19 *** Listening on recon-tasks...

Note I had to manually create the .recon-ng directory for it to get this far, that should be mentioned in the documentation.

lanmaster53 commented 3 years ago

Interesting. This should all happen automatically. It does for testing and I've never had anyone else report an issue like this. I believe it has something to do with this line in your error: ': No such file or directory can't execute 'python3. What's all that about? It needs python3 for anything to work.

peterclemenko commented 3 years ago

Shouldn't it build python in to the container in the dockerfile?

lanmaster53 commented 3 years ago

Yes, which is why none of this makes sense to me. I would need to see every step you're taking an understand more about your environment to be able to help any further. That error alone tells me something is wrong, but I have no context beyond that.

peterclemenko commented 3 years ago

I'm using windows 10. The build itself seems to be dependent on an existing reconng install in linux as indicated by having to create the .recon-ng directory. Try building it from scratch from a clean windows 10. The actual build instructions I followed are in the wiki, I just did what I was told in the wiki, nothing special.

lanmaster53 commented 3 years ago

Ah. That explains it. Recon-ng does not support windows. I see that I don't have that in the Wiki anywhere. I should probably add that. I apologize for the inconvenience. On a side note, there is a pull request to add windows support (https://github.com/lanmaster53/recon-ng/pull/104). I don't know that I'll ever merge it as I am still considering whether or not I want to go that route, but you can try that is you like. I recommend using Docker. It's the easiest and most full featured.

peterclemenko commented 3 years ago

That may be the case, but the problem is while trying to build and run the docker container. I'm encountering these problems after having to hack around building and running the docker container.

lanmaster53 commented 3 years ago

Not only does Recon-ng not run on windows directly, but the Dockerfile and docker-compose files both use paths that aren't valid in windows. Perhaps that's the issue?

peterclemenko commented 3 years ago

Quite possibly, but if that's the case, it needs to be fixed.

lanmaster53 commented 3 years ago

What needs to be fixed? We don't support Windows. I intend to update the documentation if that's what you mean.

peterclemenko commented 3 years ago

The ability to stand up/build the docker containers on a windows host? The docker containers shouldn't be affected by the host being windows. If it is, that's a problem with your build process for the docker containers.

lanmaster53 commented 3 years ago

It would require separate Dockerfile / docker-compose files for linux and windows because the mapped paths would be different, etc. I personally don't use windows, so I have no need to create them for that environment, but if you want to put them together and submit a PR, I'd be happy to provide them to others.

peterclemenko commented 3 years ago

Can you just set it up so that it auto builds and pushes to a container registry and the compose has the option to pull from the container registry?

lanmaster53 commented 3 years ago

I suppose it's possible, but I don't have the cycles to learn and do that right now. I don't know much about the Docker ecosystem outside of using Docker Desktop to build and run containers.

peterclemenko commented 3 years ago

Literally all you have to do is set up an account on docker hub, add your github repo, and add the dockerfile, and it will build on each push automatically.