Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Canarytokens Python Installation without docker #49

Closed
MaxZabuty opened this issue Nov 1, 2019 · 3 comments
Closed

Canarytokens Python Installation without docker #49

MaxZabuty opened this issue Nov 1, 2019 · 3 comments

Comments

@MaxZabuty
Copy link

MaxZabuty commented Nov 1, 2019

I am trying to deploy a canarytokens service on my computer but I need to do it without using
any dockers because I cannot use any dockers on the environment on which I'm planning to install it.
I am struggling deploying it using only python. I have installed redis server, finally ran the httpd_site.py after installing all modules and it ran nicely without any errors but the website is not on.

I'll be very happy if you could make a tutorial for those of us who do not use dockers :)

@MaxZabuty MaxZabuty reopened this Nov 1, 2019
@ravenousld3341
Copy link

I second this.

@jayjb
Copy link
Contributor

jayjb commented Feb 7, 2020

Hi @MaxZabuty, @ravenousld3341,

In order to run this service without the docker, I would advise looking at the Dockerfile. In there you will see all the dependencies necessary.

Once you have the dependencies sorted, you will need to check the canarytokens-docker repo for information on how the different services interact. The docker-compose.yml would form as a sort of playbook on how to run everything, which ports should be avaiable, and which commands would need to be run to get the canarytokens service running.

Essentially there are four services necessary:

  1. redis: which stores all the information needed. We use redis-server --appendonly yes --protected-mode no --save 60 1 to run that.
  2. frontend: which manages the UI . We use twistd -noy frontend.tac --logger log.logger --pidfile=frontend.pid
  3. switchboard: which manages the listening for token triggering and alerting. We use twistd -noy switchboard.tac --logger log.logger --pidfile=switchboard.pid
  4. nginx: which manages where different traffic should head (either switchboard or frontend). For the nginx, you can find the relevant config file in the canarytokens-docker repo under the nginx or certbot-nginx folders (depending on whether you want to use TLS).

Please let me know how it goes. Again, docker is running the Dockerfile and then following a playbook which is the docker-compose.yml or docker-compose-letsencrypt.yml. So you can what is expected of each service there.

@jayjb
Copy link
Contributor

jayjb commented Aug 20, 2021

Closing this issue. I have made a reference to the above steps in the FAQ. THIS IS NOT A RECOMMENDED APPROACH.

@jayjb jayjb closed this as completed Aug 20, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants