Self-hosted Services

Currently I am hosting the following services:

  • this website
  • password pusher
  • copyparty
  • syncthing

These services run as docker containers, usually using docker compose files, to describe them.

# Syncthing

I use Syncthing to synchronize files on various devices. Running Syncthing on a server ensures, that for shared folders Syncthing always has a destination to send the updated files to and receive updated files from.

# Copyparty

Copyparty serves as an upload tool and a viewer for some of the Syncthing shared folders. It also allows defining users and restricting access for folders per user.

# This Website

This website is built using Python and Django and docutils rendering reStructuredText.

# Password Pusher

Password Pusher is a password sharing tool. It enables one to send passwords to other people without sending them in plain text. Instead the passwords are hidden behind a link that one sends. That link can be configured to have a limited number of views. A view means for anyone to access the URL and display the password. If one configures the view limit to be 1, and the intended receiver can still access the password at the shared URL, then one can be sure, that no one else on the way has seen the password and no tool such as Outlook or Discord or other spyware has snooped the password. Or any other secret that is shared using Password Pusher.

It is also possible to set an expiry time for each shared secret, so that old compromised chats or e-mails don't necessarily lead to secrets leaking, and it is possible to set a password to be required to access the URL at which the actual secret will be shared.

# Chat

I used to also run Zulip for having a text chat, but it didn't survive the last update to a current version, and I didn't really use it with anyone anyway (which is a pity).

# Forum

Status: not yet hosted, looking for a good software to host

In the future I might host a forum software at some point, if I can find one that doesn't suck and that meets the following criteria:

  1. It must allow me to have an invite only + admin approval registration process. I wouldn't want random bots and spammers to sign up and spam the forum. Initially I only want to invite friends and allow them to invite their close friends, but always want to have the ability to approve or disapprove someone.
  2. I don't want some Discourse JS-only kind of crap. I want the traditional forum experience, with subforums, posts, various roles for users, probably BB code, permalinks for each post, user profiles, all of that stuff, and all of that without having to run JS, and without having to use some CDN or so. Simply the traditional forum experience.

I am considering the following options:

  1. phpBB https://www.phpbb.com/about/: Very traditional forum software.

    Seems like a mature option. I only have some personal prejudices against PHP software and its quality. Maybe due to its maturity people have worked out the kinks of this one, and it is indeed one of those forum softwares, that many communities back in the day.

  2. PunkwebBB https://github.com/Punkweb/PunkwebBB

    At least not written in PHP, so from the get go, there is a higher chance of it not being terrible code. Additionally, it is written as a Django app, which is appealing to me, using Python, which on the ladder of well designed programming languages is not close to the top, but at least higher up than PHP.

  3. Writing my own

    This is somewhat a fantasy, but not impossible, I guess. Writing a forum software one can probably rely on experience of many other projects. Also I have a vision of how it should roughly look and feel. But there are also some significant challenges:

    • It is a lot of work. Not sure I will be able to pull through or how long it would take me to get something usable.
    • All the security aspects, that need to be considered. Especially, if it is going to include some language like BB code or similar. After all it is always about dealing with untrusted user input.
    • I would probably build it on top of Django, but PunkwebBB is already built on top of Django. Maybe I won't do a better job and it would be a huge waste of time.
    • Sooner or later I will find myself in the situation, in which I realize, that I am not a UI designer, and that I need a long time and attempts to make a good "theme" for this self-developed software. It will probably not look as neat as PunkwebBB or phpBB.

    The upsides are:

    • One can learn a lot in the process.
    • One can limit the scope to just what one wants or finds interesting to develop.
    • Another project to keep me sharp and busy.