mediagoblin-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Redis or RabbitMQ?


From: Ben Sturmfels
Subject: Re: Redis or RabbitMQ?
Date: Mon, 13 Sep 2021 13:46:52 +1000
User-agent: mu4e 1.6.5; emacs 27.2

Hi Jgart,

On Sun, 12 Sep 2021, jgart wrote:

> On Sun, 12 Sep 2021 17:15:48 +1000 Ben Sturmfels <ben@sturm.com.au> wrote:
>> PS. Any help on the Guix service front would be amazing. I don't have
>> any experience with this at all. :)
>
> Hi Ben,
>
> We'd love to help. We'll start looking into the mediagoblin shepherd
> service.
>
> I think as a first step we'll try to organize and understand
> everything that will be involved in doing a basic deployment of
> mediagoblin in production.

Wonderful, thank you! I've spend some time today consolidating and
documenting all the progress so far in the "mediagoblin-guix" README.md.
Note that I've now archived the gitlab.com repo, moved it here and given
jgart write access:

https://git.sr.ht/~mediagoblin/mediagoblin-guix

To get a feel for where it's up, following the "Install via load-path",
then "Run MediaGoblin" instructions.

> We'll start my reading the siteadmin/ docs and more specifically
> production-deployments.rst and deploying.rst.
>
> I think it could be very helpful if we could have one session to set
> up mediagoblin together on a debian server just to make sure we're all
> on the same page regarding any details of deploying mediagoblin.

I'd be very happy to hook up for a session on this if that's useful.

> I think we'll probably want to model the mediagoblin.ini and paste.ini
> as scheme records.
>
> A first rough draft of what I mean by that:
>
> ```
> (define-record-type* <mediagoblin-configuration>
>   mediagoblin-configuration make-mediagoblin-configuration 
> mediagoblin-configuration?
>   (package mediagoblin-configuration-package
>            (default mediagoblin))
>   (host mediagoblin-configuration-host
>         (default "127.0.0.1"))
>   (port mediagoblin-configuration-port
>         (default 8080))
>   (email-sender-address mediagoblin-configuration-email-sender-address
>                 (default "notice@mediagoblin.example.org"))
>   (email-debug-mode mediagoblin-configuration-email-debug-mode
>                 (default #t))
>   (allow-registration mediagoblin-allow-registration
>                 (default #f))
>   (allow-reporting mediagoblin-allow-reporting
>                 (default #t))
>   ;; more config...
>   (wsgi mediagoblin-configuration-wsgi)
>   (redis mediagoblin-configuration-redis)
>   (nginx mediagoblin-configuration-nginx))
> ```

Sounds reasonable, but quite a bit of work. If there's a way to
initially get it up and running by providing the whole config file or
just a few key settings, we can move onto the other problems and then
come back later to add the full list of configuration options.

> I think roptat's recently added gitile service could serve as a good
> starting point showing how to use g-expressions and records to
> generate a config file from scheme code.
>
> See the `gitile-config-file` function and the nested `build` function
> in the version-control module from roptat's definition.
>
> There are probably other services that would be good to look at also
> to get ideas from.
>
> We might also come into problems that haven't been explored yet with
> guix in trying to create this mediagoblin service.
>
> So, we'll have to invent new solutions for those that might not be
> derived from existing Guix System services.

Great, I'll defer to your and Raghav's expertise here.

> I think it will be good to post on the guix-devel mailing list in
> order to crowdsource ideas about the implementation involved
> in this particular mediagoblin service.
>
> The guix community is very helpful with feedback.

I'll update the bug report now. Have a play and a think and perhaps send
a post to guix-devel when you're ready. I suspect we still have some
challenges to solve on the MediaGoblin end too, such as the clunky
configuration of static files.

Regards,
Ben



reply via email to

[Prev in Thread] Current Thread [Next in Thread]