Skip Navigation

帖子
11
评论
146
加入于
3 yr. ago

  • I wrote this ansible role to setup dovecot IMAP server. Once a year I move all mail from the previous year from various mailboxes to my dovecot server (using thunderbird).

  • I use the Netdata agent (with cloud features disabled). Easy installation, FOSS, 0 configuration required, tons of metrics.

  • I wrote my own ansible role to deploy/maintain a matrix server and a few goodies (element/synapse-admin). If you're not using ansible you should still be able to understand the deployment logic by starting at tasks/main.yml and following includes/tasks from there.

  • host maps

    It does require a beefy server (rendering tiles is CPU/RAM-intensive, storing pre-rendered tiles is expensive on storage) It should be doable on limited hardware if only a small area.

    I think the better move would be keeping/distributing a local copy of the OsmAnd android APK and a few maps for the app. Because you'll not be able to provide map access to people from your server if the Internet/local fiber/phone network is down - this way everyone can have their own full copy of the map.

    I'm not sure about the method to extract map data from the app storage directory though.

  • Just download a copy of a recent wikipedia dump. You can open it in the Kiwix desktop application (work fine even on an old laptop), the android app (though I've never tried opening a full 100GB dump with a phone, not sure if it would work well), or install the kiwix-tool package and serve the .zim file with kiwix-serve (https://wiki.kiwix.org/wiki/Kiwix-serve). You'd also probably want a reverse proxy/usual basic web server/security setup around that.

  • Second this, always have a device preloaded with Kiwix and one of the wikipedia dumps. A new vesrion is uploaded every few (~6 months). The full English wikipedia dump with images (low-res versions only though) is only 103GB.

    • ansible playbook for automated/self-documenting setup
    • for one-off bugs or ongoing/long-term problems, open an issue on my gitea instnce and track the investigations and solutions there.
  • allows my mail clients to connect via IMAP to view and search emails

    dovecot will be able to handle this part. This is what I use as a mail archive (once a year, archive all mail from the previous year from various mailboxes to my self-hosted dovecot instance). I wrote this ansible role for it.

    downloads new emails via IMAP

    As others recommended, imapsync should be able to handle that part.

    docker solution

    These tools are simple enough to install and manage (one package, one config file), Docker is not needed. If you really need it to fit into your docker-based setup, build and maintain your own images.

  • What's your existing setup? For such a simple task, check if any of the tools you use currently can be adapted (simple text files on a web server? File sharing like Nextcloud and text files? Pastebin-like? Wiki? ...). Otherwise a simple Shaarli instance could do the trick (just post "notes" aka. bookmarks without an URL). I use this theme to make it nicer. Or maybe a static site generator/blog.

  • I would never recommend Odoo anymore, given how painful it is to upgrade from a major version to another. Their answer to it is basically "yeah, some complex migrations need to be done, just send us a copy of your database with highly sensitive company data, pay us to do the migration and we'll send it back to you". Yeah, lol, no.

  • Windows Servers

    No

    setup automatic responses to the alerts

    It should be possible using script to execute on alarm = /your/custom/remediation-script https://learn.netdata.cloud/docs/alerts-&-notifications/notifications/agent-dispatched-notifications/agent-notifications-reference. I have not experimented with this yet, but soon will (implementing a custom notification channel for specific alarms)

    restarting a service if it isn’t answering requests

    I'd rather find the root cause of the downtime/malfunction instead of blindly restarting the service, just my 2 cents.

  • I use netdata (the FOSS agent only, not the cloud offering) on all my servers (physical, VMs...) and stream all metrics to a parent netdata instance. It works extremely well for me.

    Other solutions are too cumbersome and heavy on maintenance for me. You can query netdata from prometheus/grafana [1] if you really need custom dashboards.

    I guess you wouldn't be able to install it on the router/switch but there is a SNMP collector which should be able to query bandwidth info from the network appliances.

    • rsync + basic scripting for periodic sync, or
    • distributed/replicated filesystems for real-time sync (I would start with Ceph)
  • 10000RPM SAS drives are noisy (and expensive), something to keep in mind. If I needed this kind of performance I would probably go full SSD.