Infrastructure proposal

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

Infrastructure proposal

wvengen
Administrator

Hi everyone,

I'm slowly getting back, hope you all had a good time during holidays. If you're still away, enjoy!
In the meantime, I've worked on getting sharedlists ready to support features used in foodcoop-adam. If you'd like to review, feel free at foodcoops/sharedlists PRs.

And I've put together what I think would be a picture of a full setup. It looks like we're going for a virtual server in the cloud running nothing but SSHd and Docker. Then there are Docker instances for Foodsoft (fsmain) and Sharedlists (sharedlists). Supporting services are a web front-end (for ssl and redirecting to the right app), database, redis and a mail server (to route emails, and perhaps also to send them).

In the future, there will also be two Docker instances of the foodcoop-adam fork of Foodsoft (with different sets of plugins), for customizations several Dutch foodcoops are using (which I am in the slow process if migration to the foodcoops version of Foodsoft).

Next to that, we use external services like Github (code, configuration and documentation), we'll need a DNS provider, and currently have Nabble for communication.

What do you think?

Best regards,
- Willem

p.s. I just realized that I forgot Travis CI, for testing, perhaps also for parts of deployment? Something to add later. I think this file could end up in a foodcoops-global repository, or so, containing the configuration files necessary for this infrastructure. It might as well contain the documentation. Ideally, then, changes to the repository could be auto-deployed.


foodsoft-global-production-setup.pdf (51K) Download Attachment
foodsoft-global-production-setup.svg (67K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Infrastructure proposal

before
Administrator
Looks good to me. Has anyone else some feedback to the infrastructure proposal?
Reply | Threaded
Open this post in threaded view
|

Re: Infrastructure proposal

wvengen
Administrator
A short description of what the services do:
  • wwwfront provides https and redirects to different containers based on url (which foodsoft version or sharedlists)
  • db stores the data
    • one username/password for each container
  • redis is used by different notifiers
    • remember to use different queue names for different instances
    • could also use one instance per foodsoft instance
  • mta handles mail
    • directs received mail to one of the foodsoft or sharedlists instances (based on email address / domain name)
    • would make sense to also handle sending mail (the green line in the diagram is now for receiving mail)
    • may need to adapt foodsoft + sharedlists to handle adding an email address prefix (not for domain, I guess)
  • fsmain
    • main foodsoft instance running foodcoops/foodsoft fork
    • (in the future this will also run a mail server for handling replies, this is currently in beta by @paroga)
  • sharedlists
    • single sharedlists instance
    • cron for bnn ftp sync
    • mail server for updating of articles for Dutch suppliers
Reply | Threaded
Open this post in threaded view
|

Re: Infrastructure proposal

Robert
In reply to this post by before
Am Wed, 6 Sep 2017 07:50:40 -0700 (MST)
schrieb "before [via foodsoft]" <[hidden email]>:

> Looks good to me. Has anyone else some feedback to the infrastructure
> proposal?

I'm not familiar with the concepts of docker. But as far as I can see,
no objections from my side.

Robert