a beautiful robot, dancing alone · showgirls über alles: kylie, angèle · masto · last.fm · listenbrainz · lovekylie

  • 4 Posts
  • 20 Comments
Joined 1 year ago
cake
Cake day: June 5th, 2023

help-circle
  • Prerequisites

    • Internet-facing web server with reverse proxy and domain name (preferably SSL of course)
    • Server behind the reverse proxy with Rust environment

    Installation

    • Don’t bother downloading the source code to your server; installing it that way gives you a big debug executable
    • Instead just cargo install mollysocket
    • Move the mollysocket executable if desired
    • Run mollysocket once so that it will emit the default config

    Configuration

    • Fish the config file out of .config/mollysocket/default-config.toml and copy it somewhere.

    config.toml

    • In the new file, replace the allowed_endpoints line with allowed_endpoints = ['*']. The default 0.0.0.0 config appears to be a bug; this setting controls access to endpoints within the app, not IPs from outside. Leaving the original value causes mollysocket to reject everything.
    • Put a proper path in the db = './mollysocket.db' line rather than just having it land wherever you’re sitting.
    • Delete the mollysocket.db that was created on first run (even if it’s already where you’re intending to put it). This is just to make sure the web server creates it and has the correct permissions.

    Run script

    • The environment variable ROCKET_PORT must be set or the server will sit and do nothing. It’s best to create all of the environment variables mentioned in the README, whether that is in a user profile script or in a shell script that wraps startup. You can change any of these values, but they must exist.
    • export ROCKET_PORT=8020
      export RUST_LOG=info
      export MOLLY_CONF=/path/to/your/config.toml
      

    Proxy server

    • You’ll need to proxy everything from / to your mollysocket server and ROCKET_PORT.
    • Exclude anything that you may need served from your web server, such as .well-known.

    Things to know







  • part of humans learning to drive safely is knowing that flouting traffic laws increases your chance of being stopped, fined, or if you’re not the right demographic, worse things. we calibrate our behavior to maximize speed and minimize cops, and to avoid being at-fault in an accident, which is a major hit to insurance rates.

    autonomous vehicles can’t be cited for moving violations. they’re learning to maximize speed without the governor of traffic laws. in the absence of speed and citation data, it’s hard to measure how safe they are. there is no systemic incentive for them to care about safety, except for bad press.











  • i have wired sennheiser momentum 2s. the momentum line is on 4th generation now, and they look to all be bluetooth.

    mine are great for use on the train, or the plane, or in bed for not getting hit with a pillow. fed from a phone, they’re a little weak in the bottom end — probably an impedance thing — but fed from a headphone amp they’re ace. (though it then becomes possible to leak enough sound to get hit.)

    they’re not active noise-cancelling and they’re not sold for high isolation, but they keep enough in and out for any of my needs. and impedance matching isn’t an issue when fed by bluetooth, though then they’ll need to be kept charged.




  • looks great! the catch for me is that my current host doesn’t have docker support. your dependencies don’t look crazy so in theory i could burst it and install directly to the host environment, but at that point i’m giving myself grocy-level headaches.

    reading about docker-capable hosts, i was surprised to see them starting at 1GB RAM - i couldn’t run pac-man in that. what would be a reasonable expectation for kitchenowl?


  • pootriarch@poptalk.scrubbles.techOPtoSelfhosted@lemmy.worldgrocy *bangs head*
    link
    fedilink
    English
    arrow-up
    3
    arrow-down
    3
    ·
    1 year ago

    i haven’t tried the docker route - it seems fairly new. it also doesn’t seem like it would fix the issues i ran into. containerization is great for insulating the app from external dependency hell and environmental variation. but the problems i’ve had involve its own code and logic, and corruption of a sqlite database within its own filesystem; wrapping issues like that in a docker container only makes them harder to solve