A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.
Rules:
Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.
No spam posting.
Posts have to be centered around self-hosting. There are other communities for discussing hardware or home computing. If it’s not obvious why your post topic revolves around selfhosting, please include details to make it clear.
Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.
Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).
No trolling.
Resources:
Any issues on the community? Report it using the report flag.
Questions? DM the mods!
deleted by creator
i agree with you. also the ‘use vscode ssh-remote-eeit-plugin’ or ‘install a remote web ide thing to edit one file’ answers are… questionable.
syncthing does not require to open access to the outside and does what op wants.
Vim handles remote files over SCP natively:
vim scp://192.168.1.2//data/editme.txt
If you want to edit files in a browser, then it will all depend on what kind of files you want to edit.
If it’s office suite related files, I’m leaning towards the Collabora Online suite with Nextcloud. If it’s markdown files, I’d go with something like HedgeDoc
WebDAV will handle that, and Joplin has WebDAV client built in.
There’s a project called Filebrowser that allows you to edit text files in a web interface. You can just run that on the 192.168.1.2 machine. It’s easy to set up simple auth, and you can restrict it to the /data/ directory.
“Use vim in SSH” is not a great answer to asking for a convenient way to edit a single file, because it requires understanding multiple somewhat-complex pieces of technology that OP might not be familiar with and have a reasonably steep learning curve.
But I’d still like to explain why it pops up so much. And the short version is very simple: versatility.
Once you’ve learned how to SSH into your server you can do a lot more than just edit a file. You can download files with
curl
directly to your server, you can move around files, copy them, install new software, set up an entire new docker container, update the system, reboot the system and many more things.So while there’s definitely easier-to-use solutions to the one singular task of editing a specific file on the server, the “learn to SSH and use a shell” approach opens up a lot more options in the future.
So if in 5 weeks you need to reboot the machine, but your web-based-file-editing tool doesn’t support that option, you’ll have to search for a new solution. But if you had learned how to use the shell then a simple “how do I reboot linux from the shell” search will be all that you need.
Also: while many people like using vim, for a beginner in text based remote management I’d recommend something simpler like nano.
Often I use git and just edit my repo files with the GitHub app and then git pull the changes from the server that needa the file. If you’re already familiar with git it’s probably easier than learning vim. You can probably do it directly to a repo behind ssh. If not then I’d learn vim before git.
Do you use your own git server? Or do you use github? I want to use git but i dont want microsofts grubby hands in my data
You don’t need a dedicated git server if you just want a simple place to store git. Simply place a git repository on your server and use
ssh://yourserver/path/to/repo
as the remote URL and you can push/pull.If you want more than that (i.e. a nice Web UI and user management, issue tracking, …) then Gitea is a common solution, but you can even run Gitlab itself locally.
that sounds good. thanks.
WinSCP is a nice GUI app that will connect over various protocols and let you edit a file easily. You can save the connection details so it’s just like 2 clicks to edit a file.
Surprised everyone is recommended SSH and vim and stuff when you wanted easy and simple.
Technically speaking the OP would be, most likely, be using SSH as the protocol to connect to the server using WinSCP. But yes, I agree with your point.
deleted by creator
Deploy code-server and either connect to it with a VPN or open the port needed to connect over the internet.
Always be careful when opening the port. But yes this is what I do as well, I just keep it behind a VPN
I would suggest something quick and simple such as FileBrowser. Another more “expensive” alternative would be to setup an SSH server on the server and use WinSCP to access the thing and edit the file that way.
If you go the FileBrowser route I just would like to recommend you to be careful about opening your “server” to the internet. Setting up a VPN like I described here is recommended.
If you can’t have run a VPN client on the target computer (work computer etc) and/or it isn’t practical (public machine) at least make sure you run FileBrowser behind a Nginx reverse proxy, use SSL, pick non-standard port and restrict the access to the thing as much as possible with a list of specific allowed IPs or, at least, only for your country. Using some 2FA solution and fail2ban for an extra layer of security is also recommended.
https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-ssh-edit
Personally I use vscode remote-ssh for editing random files on other servers if I want/need a GUI for it.
Another way - host the file somewhere like Dropbox/mega, etc. Have the server keep the file synced. Then you can edit it on the web storage.
Acronyms, initialisms, abbreviations, contractions, and other phrases which expand to something larger, that I’ve seen in this thread:
[Thread #320 for this sub, first seen 1st Dec 2023, 11:15] [FAQ] [Full list] [Contact] [Source code]
Look into ssh