Skip to content

Make infrastructure templated to allow other domains, etc. #72

@nesono

Description

@nesono

Right now, infrastructure contains quite a bit of personal configuration data, that prohibits the project from being used by others. I want to open the project for others to control the following:

  • Domain names for the different services (e.g. Mail, http, etc.)
  • IP address of the server
  • Backup server's address
  • Provisioning settings / procedures
  • Options to enable / disable certain services (Mail, Mail-Milters, Gitea, NextCloud, etc.)

Before working on this, make sure that the documentation (as found in the README.md) is up to date (e.g. we don't support FreeBSD any more). Also feel free to adjust the documentation towards making it more configurable.

I assume this issue will take many PRs to land. Make sure every PR is

  • self-contained (does not require external changes)
  • deployable (keeps the system always running)
  • minimal down-time (does not exceed downtimes that normal docker compose up calls and docker container updates would normally take)
  • ensure that you disable healthchecks for migrations that might run into timeouts and enable the healthchecks after migration again
  • don't leak additional personal information into, but rather continuously reduce the amount of PII over time
  • make the PRs small enough for me to review in a couple of minutes (30 minutes would be optimal upper limit)

AC

  • Configuration options as outlined above are supported

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions