Skip to content

update, clean up and simplify server configs #594

@zven

Description

@zven

Our server config files are currently all over the place. We have docker-compose and Dockerfiles. In addition, the configuration set in the specific / local versions of settings*.py are different for develop, staging and prod (well, not the specific values but what is configure and how) and contain duplicates We should clean that up!

Ideas / potential todos:

  • clean up docker-compose and Dockerfiles
  • docker compuse gets config from env files
  • aiming for this workflow: download docker compose, take example.env, create your own specific env file (e.g. production.env?), fill in config information and start docker
  • settings.py is / stays static (as it partains only to imlementation specific details but nothing user configurable)
  • different versions of settings_local.*.py

Additional todo:

  • remove one of the memory caches: Currently, we have memcached and redis docker containers. We should use only one to reduce complexity and cut down the number of docker containers that are needed for the project

Some manage commands could also be executed automatically:

  • collect static (easy to forget but vital)
  • (some?) database migrations
  • database backups (regular via cron?)

Adjust communication to outside world:
Changes (especially breaking changes) like those to docker-compose files, env files and manage commands should properly communicated via the release notes. We could even consider adding a docker-compose.yml to those releases, similar to here: https://github.com/immich-app/immich/releases/tag/v1.137.0


Also update the .readme accordingly!


Edit: As discussed in the refinement meeting, we should also add (minimal) contribution guidelines to our readme files for ui and server repository.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions