freedomofpress / securethenews

An automated scanner and web dashboard for tracking TLS deployment across news organizations
https://securethe.news
GNU Affero General Public License v3.0
100 stars 25 forks source link

Fork friendly #99

Open cybershambles opened 7 years ago

cybershambles commented 7 years ago

Hi team,

I want to fork securethenews into something related to securethe.au - i've got a list of 500~ Australian webpages I'd like to monitor.

1) I've been having problems with the inability to delete the existing records and bulk add new records...

2) I cannot find a way to manually/force an update of the site I've added and so I'm also unable to force the frontend to be updated (I think I'm missing something)

3) Please update the guide with the production deployment steps, as I'm currently running in Vagrant and I want to host in Digital ocean VPS, but cannot find the steps to host and maintain on the long term

garrettr commented 7 years ago

i've got a list of 500~ Australian webpages I'd like to monitor.

Are these Australian news sites, or a more general variety of Australian websites? If they're news sites, I will say that we're interested in supporting as many news sites as possible (including international sites) on Secure the News, although it would be ideal to resolve #91 before adding too many more sites to our current list; otherwise, the leaderboard will be huge and harder to peruse.

If they're not news sites, then I agree that forking our code to make your own project is your best option. Just please do not use the "Secure the News" name or logo, and we'd appreciate it if you tweaked the styles a bit so your fork is visually distinct from our site.

  1. I've been having problems with the inability to delete the existing records and bulk add new records...

I presume you mean you find this difficult to do via the Wagtail Admin interface. It's quite straightforward to do via the Django shell (manage.py shell if you want to use the ORM, or manage.py dbshell if you're comfortable with SQL). Could you file an issue describing the specific functionality and requirements you'd like to have?

I cannot find a way to manually/force an update of the site I've added and so I'm also unable to force the frontend to be updated (I think I'm missing something)

$ python3 manage.py scan --help

You can re-scan all sites by running scan without arguments, or you can list one or more domain names to only re-scan those specific sites.

Please update the guide with the production deployment steps, as I'm currently running in Vagrant and I want to host in Digital ocean VPS, but cannot find the steps to host and maintain on the long term

We can help with that, but I can't guarantee it will happen anytime soon because we are busy with a lot of other projects at the moment. The key piece of automation is also an open-source Freedom of the Press Foundation project: https://github.com/freedomofpress/django_stack. However, the details of how that is used for our production deployment are part of our private infrastructure repo, which we have no plans to open source. Contributions to make it easier to deploy this to a production environment (e.g. onto a DigitalOcean VPS) would be welcome!

cybershambles commented 7 years ago

Thanks for the prompt reply. I will happily help to assist with the Australian Media - Once you've added support for regions

As a bulk of the pages would be non-news related, I'm looking to fork... and yes, replacing the logos and other FPF related branding.

also, as the production on DigitalOcean or similar VPS... I will continue to read your code and port to something whenever possible, but I believe in the long term - this is something that'll likely require assistance from yourself... I have a few dockerised services running on my servers already, so docker/dockercompose would be preferable.

garrettr commented 7 years ago

As for the production on DigitalOcean or similar VPS... I will continue to read your code and port to something whenever possible, but I believe in the long term - this is something that'll likely require assistance from yourself... I have a few dockerised services running on my servers already, so docker/dockercompose would be preferable.

We're interested into moving to a containers-based environment for development and production as well, see #83 :smile:.

conorsch commented 7 years ago

Ahoy! Thanks for your interest in the project, @cybershambles. Looks like @garrettr already handled most of your questions, but I'll tackle this one:

Please update the guide with the production deployment steps, as I'm currently running in Vagrant and I want to host in Digital ocean VPS,

You're right, we don't currently document production deployment steps very clearly. If you check the devops/ directory in this repository, you'll see a verbose playbook that references community roles. That setup is extremely similar to what we're using in production to host securethe.news. You'll need to set custom vars specific to your site and URL, but that config will get you 9/10ths of the way there.

I have a few dockerised services running on my servers already, so docker/dockercompose would be preferable.

The config as it stands assumes you're deploying to a VPS directly, rather than a container, but you should be able to leverage the config to build your own containers as necessary. Break up the webserver and database services across containers as you see fit. Happy to see any results there, since we've been looking to make similar configuration changes internally.