Skip Navigation

Posts
1
Comments
42
Joined
4 yr. ago

  • Assuming you are not in a CGNAT, which is common for mobile networks: DNS with low TTL such as FreeDNS, pointing to your IP. And ofc, if you have a router in between, port-forwarding.

    Otherwise, a VPN such as Tailscale. But you would need to install it on all your devices.

    Otherwise, for HTTP(S) web services, a reverse-proxy such as CloudFlare.

  • Ah! Sorry for the textdump, and thanks for the feedback. I'll keep it in mind in the future.

  • Sorry, not an answer to your exact question... Dockge might be the answer if you need a web UI to manage Docker containers.

    If you need something more specific, like a button dashboard to run custom commands, perhaps you could build your own with Vite (Node.js). You will need to understand basic HTML, CSS and JavaScript. (EDIT: OliveTin makes more sense.)

    As for authentication, you could configure a basic authentication on your favourite reverse proxy (such as Nginx), or look for something more advanced such as OIDC/OAuth2 through Keycloak.

  • I have a feeling that this human step might be at the end of a chain of automated filters.

  • No, only the local FS. But they have recommendations in their README for integrating with S3 with the help of other tools.

  • You are invited to join the CopyParty! This has a web UI accessible from the browser, also from mobile, files are stored directly on the filesystem (not encrypted or on a database) and you can mount it as a network drive on Windows and Linux. But it doesn't let you sync files for offline use, at least not without the help of some auxiliary tools.

    You won't find anything simpler to install and configure than this.

  • Would you mind to share how to copy your setup? In particular how to mirror all your GitHub repos, do you have to manually add them to Gitea one by one?

  • This sounds amazing, but this post is just a "it would be cool if". Lots of theoretical ideas but nothing concrete.

  • Here's my config for reference, which works for me:

     yaml
        
    name: forgejo
    services:
      forgejo:
        image: codeberg.org/forgejo/forgejo:12
        environment:
          - USER_UID=1000
          - USER_GID=1000
        restart: always
        volumes:
          - ./data:/data
          - /etc/timezone:/etc/timezone:ro
          - /etc/localtime:/etc/localtime:ro
        ports:
          #- 80:3000
          - 2222:22
        networks:
          - nginx
    networks:
      nginx:
        name: nginx
        external: true
    
      

    If you can share your error message we might be able to better pinpoint the issue.

    EDIT: I searched a bit and now I understand better what you are trying to do. I didn't know about this "SSH shim" idea. This is not what I have done on my setup, sorry.

  • If port-forwarding is an issue, you can always use a free VPN to reach your self-hosted services. Or if you want to make them public, you can set up yourself a relay on AWS LightSail for less than 5$/month. Or if you want to save as much as possible you can use TailScale or CloudFlare's Zero Trust network to self-host for free using their server as a relay.

  • Are they referring to OpenXML, the format used in modern office documents?

    What are they suggesting? To build a new standard set of specs to replace it?

    For what it matters, without reading the 8000 pages of specs I still managed to programmatically produce a spreadsheet document from scratch. It took me a few tens of hours, that's true, but it wasn't that difficult after all.

  • They provide decent defaults for all the not-so-straightforward configurations, and they provide a web UI to configure the rest. That's the sole reason I would recommend it to get one's feet wet without having to work too much.

    If one is committed to do things "the right way" they could switch to Nginx and "proper" self-hosting later.

  • Yeah, I'm afraid you have to use a reverse proxy to host multiple subdomains. The CloudFlare daemon is the reverse proxy.

  • I would say this would be the proper way to do it (at least as a sysadmin), but since it's OP's first time I would simplify it to:

    1. Install CloudFlare ZeroTrust daemon on your local server;
    2. Set up reverse proxy such as Nginx (optional, the alternative is to use a different subdomain for each service, which might be easier);
    3. Point the FQDN to CloudFlare.

    Let CloudFlare handle the certificates, DDoS protection, etc... Link if you'd like to give this setup a try.

  • I have to admit that I didn't really think about reminders. That would perhaps make more sense for Simple Calendar, perhaps in the future I might consider linking notes and reminders. Or maybe it would make sense to implement it directly in Simple Notes? I don't know, I'll keep that in mind for later, thanks!

    the number of clicks/menus/presses it takes to create a note

    I strongly agree on that. It must be at most as many clicks as on Google Keep, i.e. two clicks (plus a few to open the app).

    import existing Keep notes from a Google Takeout into your Simple Notes

    I didn't think about that. That shouldn't be too hard. After the MVP (minimum viable product) will be ready, imports from various common formats should be implemented, and I guess Google Takeout for Google Keep should be supported too.

    Thanks for the suggestions!

  • Okay, I get it now :P

    DXVK was born from a Nier Automata player Linux enthusiast? That's cool! I never checked, I assumed it was build by some big company like Valve or something. Kudos to Philip Rebohle!

  • use case is a shopping list for my SO and I. I want to be able to add stuff throughout the day, and cross them off once I grab them from the shelf, and separately be able to clear completed tasks

    Sorry for the late reply. Oh yes, that's what I like about Google Keep, the collaborative aspect. What do you mean by "separately be able to clear completed tasks"? Do you mean being able to do it from multiple devices which are synchronized in real-time?

    [Simple Chat] Why not just use one of the other Matrix clients?

    Yes, you have a point... let's keep Simple Chat for later then. I had this idea of making an app for each of my needs and let them all connect to a single server with a single unified user. Good quality Matrix clients already exists, I guess there is no need to build a custom client for the chat if I end up adopting Matrix as the protocol.

    [Simple Docs] This seems overly ambitious.

    Let's say that's a longer term goal for the future. I might be underestimating the complexity of Google Docs, but if you think about it I would say it's not much more than a rich-text editor. Basically it's the same things as text notes, just with a bit more formatting options. I couldn't say the same thing about Google Sheets and Google Present.

    No. Matrix is designed for chat, not data, and self-hosting it requires a fair amount of resources.

    Why do you think so? I have tried it and it seems to be as simple as any other server thanks to Docker. I have a script to launch it here (mirror). It seems to use 160MB of memory and about 1% of my CPU when idle. I haven't done any serious tests though, maybe it wouldn't scale as well as I think.

    I’d personally just DIY it since it’s really not a ton of logic

    Well... there must always be a protocol behind it, it can be as simple/specific or as complex/generic as you want, but there must always be an agreement of the format of data exchanged between client and server.

    By adopting the Matrix protocol, there wouldn't be any need to write a custom server, because Matrix servers already exist.

    Matrix is designed for chat, not data

    What's the difference between chat and data? A chat is a list of messages. A collaboratively-editable document is a list of changes. As far as I understand, Matrix uses "events" to describe things happening. When a user sends a message, the server emits and event like "add user X's message Y to your list of received messages". It shouldn't be too different than emitting an event "replace text at position X with Y" every time a document changes. They even have ephemeral events for temporary state, such as "the user X is currently typing". That should be similar to "the user X placed their cursor at position Y".

    Do you think I might be oversimplifying or thinking it wrong?

  • Thank you both for the recommendations!

  • Selfhosted @lemmy.world

    Developing a self-hosted alternative to Google Keep