DavidBuchanan314 / millipds

A from-scratch atproto PDS implementation in Python
MIT License
21 stars 0 forks source link

Deployment #2

Open DavidBuchanan314 opened 8 months ago

DavidBuchanan314 commented 8 months ago

Expanding on the outline in https://github.com/DavidBuchanan314/millipds/issues/1

Deployment instructions will likely look something like this:

  1. Create an unprivileged "millipds" user account.
  2. Create the directory (where?) where millipds stores its database(s), give it the correct access permissions.
sudo adduser --system --shell /bin/false --home /opt/millipds millipds
  1. As the millipds user, init a python virtualenv (how? which virtualenv system?) and install the millipds package within it, via pypi (also supporting from git, I suppose)
sudo -u millipds -s
  1. Create a systemd unit file, start/enable it
  2. Configure nginx to point at the running millipds instance
DavidBuchanan314 commented 8 months ago

This is mostly worked out for now, at least, for Ubuntu+Nginx specifically (see README - will probably migrate this to dedicated docs tho).

I'd also like to think about setting up a more minimal install - alpine, in docker? I don't know anything about docker.

TimBurga commented 8 months ago

One way to simplify the install process for users is to publish the built container somewhere like ghcr.io and provide a docker compose file that references both it and nginx