Selfhosted
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:
- selfh.st Newsletter and index of selfhosted software and apps
- awesome-selfhosted software
- awesome-sysadmin resources
- Self-Hosted Podcast from Jupiter Broadcasting
Any issues on the community? Report it using the report flag.
Questions? DM the mods!
view the rest of the comments
If this is Linux:
You can throw an entry in
/etc/hosts
to add a hostname mapping, even if you don't want to set up DNS:It looks like bash has tab-completion for
rsync
paths set up by default these days on my Debian box. Will probably need to have passwordless or ssh-agent-based pub/privkey authentication set up in some fashion.If you don't need
rsync
's functionality -- replicating attributes and reasonable resuming and doing partial copies -- I tend to uselftp
, which supports sftp, an ssh-based file-transfer mechanism; one uses something likesftp://remotehost/remotepath
. That's more-comfortable to browse, can bip around the local and remote filesystem with tab-completingcd
,lcd
,pwd
, andlpwd
and list remote files. Themirror
andmirror -R
command will move a file tree from or to the remote system.If you do want rsync's "update changed files" functionality, and also want bidirectional synchronization in each direction instead of rsync's unidirectional functionality
I do this to maintain a synchronized directory of videos that I want to be able to watch offline on various devices, among other things
I use
unison
. You can set this up to auto-synchronize a set of directories. If you've got a preconfigured set of directories to synchronize set up, just type "unison", and bam.If I'm doing a lot of browsing and work on the remote end, I use emacs's dired plus TRAMP as a rough approximation of a "two-pane file manager", more-properly called an orthodox file manager.
emacs /ssh:remotehost:/remotepath localpath
will fire it up. TRAMP is pretty clever, tries to do stuff on the remote machine as much as possible -- like, you can do stuff like version-control on remote directories and it'll use git on the remote machine, can grep through the remote file tree without transferring the files locally, etc. That being said, this is probably mostly-applicable to users who already heavily use emacs, but it's a handy technique if you have only a low-bandwidth connection and need to work on files remotely. I have emacs set up to default to using the "other pane" as a default target for things like copy and move commands using the following text in myinit.el
:If I'm wanting to play a video file remotely, I'll sometimes do a sshfs mount using FUSE: