• Synchronet for Docker updates

    From Tracker1@VERT/TRN to DOVE-Net.Synchronet_Discussion on Monday, February 22, 2021 15:42:36
    I have the full build pipeline now working on github.
    linux/amd64 (x86_64), linux/arm/v7 and linux/arm64 images
    are all available.

    https://hub.docker.com/repository/docker/bbsio/synchronet/

    I also have an example docker-compose file if you'd want
    to go that route (slightly easier for more complex setups).

    https://raw.githubusercontent.com/bbs-io/synchronet-docker /master/docker-compose.yml

    The only noteworthy adjustments to the build from
    defaults:

    - ecweb4 is configured in modopts to
    use /sbbs/web (where the volume mount is).
    - ctrl/text.dat is overwritten by the default when
    using a newer image. You can use JS to set your
    overrides in mods/*.js
    - interface ports in sbbs.ini are set to 0.0.0.0
    as ipv6 isn't well supported under Docker
    if you're using a saved configuration from another
    setup, you should remove the [::] ipv6 references

    Thanks to DM for pointing out the github mirror with the
    latest nighties, I'm able to query the github api for the
    latest git hash for nightly and the latest sbbs release
    tag this way.

    ----------------------------------------------

    Aside: has anyone build synchronet *on* a raspberry pi?
    The cross platform builds (via qemu on x64) seem to take
    about 40m, wasn't sure if this was typical, more or less
    than native hardware.
    --
    Michael J. Ryan (tracker1)
    +o roughneckbbs.com

    ---
    þ Synchronet þ Roughneck BBS - roughneckbbs.com
  • From deon@VERT/ALTERANT to Tracker1 on Tuesday, February 23, 2021 19:28:51
    Re: Synchronet for Docker updates
    By: Tracker1 to DOVE-Net.Synchronet_Discussion on Mon Feb 22 2021 03:42 pm

    Howdy,

    Aside: has anyone build synchronet *on* a raspberry pi?
    The cross platform builds (via qemu on x64) seem to take
    about 40m, wasn't sure if this was typical, more or less
    than native hardware.

    So my CI builds on a Pi - Pi3B+, and I build everything (including Spider Monkey) - takes about 55 minutes.

    The reason I build Spider Monkey, as there was some times I was seeing coredumps that appeared to be related to Spider Monkey (using the apt versions), but building it as part of an SBBS build didnt result in those coredumps.

    ...δεσ∩

    ... An object never serves the same function as its image- or its real name.

    ---
    ■ Synchronet ■ Alterant | an SBBS in Docker on Pi!
  • From Tracker1@VERT/TRN to deon on Tuesday, February 23, 2021 09:37:00
    On 2/23/2021 1:28 AM, deon wrote:
    Aside: has anyone build synchronet *on* a raspberry pi?
    The cross platform builds (via qemu on x64) seem to take
    about 40m, wasn't sure if this was typical, more or less
    than native hardware.

    So my CI builds on a Pi - Pi3B+, and I build everything(
    including Spider Monkey) - takes about 55 minutes.

    The reason I build Spider Monkey, as there was some times
    I was seeing coredumps that appeared to be related to
    Spider Monkey (using the apt versions), but building it
    as part of an SBBS build didnt result in those coredumps.

    Wild that it seems to take just as long via qemu on an
    r9 3950x as native. It is doing all three platform targets
    at once though. Similar times for Github Action workers.

    would you mind taking a look at my Dockerfile and offer some
    suggestions to build Spider Monkey for ARM builds? Not even
    sure of the command changes I would need in place.

    I know uname -a shows arm, but handling the dosemu in a
    separate wrapper was easier than trying to define a variable
    in the environment. Not sure if the docker platform gets
    injected as an environment variable which might be easeier
    to deal with.

    Of course, could also just make the build (line 63) step a
    bash script...

    https://github.com/bbs-io/synchronet-docker/blob/master/docker/Dockerfile
    --
    Michael J. Ryan (tracker1)
    +o roughneckbbs.com

    ---
    þ Synchronet þ Roughneck BBS - roughneckbbs.com
  • From Tracker1@VERT/TRN to Tracker1 on Tuesday, February 23, 2021 09:52:19
    On 2/23/2021 9:37 AM, Tracker1 wrote:

    I know uname -a shows arm, but handling the dosemu in a

    For reference:

    docker run --rm -it --platform=amd64 node:14-stretch uname -a
    Linux ... x86_64 GNU/Linux

    docker run --rm -it --platform=linux/arm64 node:14-stretch uname -a
    Linux ... aarch64 GNU/Linux

    docker run --rm -it --platform=linux/arm/v7 node:14-stretch uname -a
    Linux ... armv7l GNU/Linux

    I use node -stretch because I want debian, but also tend to use
    node for most of my more complex scripting, if I knew and had
    the time to learm python I might use that instead. I've also
    considered switching to Deno, so that TS can be used easier.

    Of course, if I added Deno to the container, all the JS options
    open up. Also thinking of adding /sbbs/mods/bin to the PATH,
    so that it's easier to add scripts/apps to be able to run inside
    the container. Also, making the global node and/or Deno modules'
    binary location under that path as well... again to make globals
    easier.
    --
    Michael J. Ryan (tracker1)
    +o roughneckbbs.com

    ---
    þ Synchronet þ Roughneck BBS - roughneckbbs.com
  • From deon@VERT/ALTERANT to Tracker1 on Wednesday, February 24, 2021 08:29:25
    Re: Re: Synchronet for Docker updates
    By: Tracker1 to deon on Tue Feb 23 2021 09:37 am

    would you mind taking a look at my Dockerfile and offer some
    suggestions to build Spider Monkey for ARM builds? Not even
    sure of the command changes I would need in place.

    I dont do anything special for Spider Monkey.

    Here is my Dockerfile http://dev.leenooks.net/bbs/sbbs/-/blob/armv7l/Dockerfile

    My x86_64 is similar only really adding Dosemu (which I run in a swarm as a game server).

    While it only builds on 32 bit arm (armv7l), I actually run it on 64 bit arm (aarch64) quite happily.

    I guess when Spider Monkey is updated, I'll then build it on 64 bit arm.

    ...δεσ∩

    ... Don't drink and park; accidents cause people.

    ---
    ■ Synchronet ■ Alterant | an SBBS in Docker on Pi!
  • From Tracker1@VERT/TRN to deon on Tuesday, February 23, 2021 16:57:50
    On 2/23/2021 2:29 PM, deon wrote:

    I dont do anything special for Spider Monkey.

    Here is my Dockerfile http://dev.leenooks.net/bbs/sbbs/-/blob/armv7l/Dockerfile

    My x86_64 is similar only really adding Dosemu (which I run in a swarm as a game server).

    While it only builds on 32 bit arm (armv7l), I actually run it on 64 bit arm (aarch64) quite happily.

    I guess when Spider Monkey is updated, I'll then build it on 64 bit arm.

    Gotcha, I was using the libmoz in debian... you're using a separate
    Dockerfile it looks like... I want to keep it all in one, so the
    buildx can handle the cross platform bits... will look into more soon.

    Will take more of a look.. FYI, echicken and I got dpc2 (doorparty
    connector) publishing on dockerhub over the weekend.

    https://hub.docker.com/repository/docker/bbsio/doorparty
    --
    Michael J. Ryan (tracker1)
    +o roughneckbbs.com

    ---
    þ Synchronet þ Roughneck BBS - roughneckbbs.com
  • From deon@VERT/ALTERANT to Tracker1 on Wednesday, February 24, 2021 17:27:38
    Re: Re: Synchronet for Docker updates
    By: Tracker1 to deon on Tue Feb 23 2021 04:57 pm

    Will take more of a look.. FYI, echicken and I got dpc2 (doorparty connector) publishing on dockerhub over the weekend.

    Yeah I noticed.

    Much better - its more of a microservice if it is its own image - like it.

    I havent looked at your implementation, but I'll check it out.

    ...δεσ∩

    ... We have met the enemy and he is us.

    ---
    ■ Synchronet ■ Alterant | an SBBS in Docker on Pi!