WIP: Convert to Ansible
I originally tried to just set this up on my server for personal use as described in the README, but I ended up repeatedly running into problems. The documentation suggested that the goal was to base this setup on Ansible instead of arcane bash scripts at some point, so I am doing exactly that.
This PR is very much WIP and does not function yet, but I wanted to get some feedback at this point already.
Rough outline of the structure I am building:
- The deployment location (docker volumes, configs etc.) is being separated entirely from the location the git repo is at and can be an arbitrary configurable path (opposed to a hardcoded /mnt/repo-base)
- The functionality of this repo (A) and https://gitlab.e.foundation/e/infra/bootstrap (B) is being merged into one. The previous workflow was that you had to clone B and start it with the URL of A as parameter, which then clones A to a hardcoded path and runs a script in A to fetch other scripts from a hardcoded URL of B (???).
- The entire deployment process is moved into Ansible calls, massively reducing the amount of complexity and hackiness
- All setup configuration is being moved into a single configuration file (https://gitlab.e.foundation/Maxopoly/ecloud-selfhosting/-/blob/ansible/vars/main.yml) instead of environment files and creative usage of
- Single accessor for the setup is a bash script (https://gitlab.e.foundation/Maxopoly/ecloud-selfhosting/-/blob/ansible/manage.sh) which takes arguments to translate them into Ansible calls (so users dont't need to know anything about Ansible). This will also include common utilities like accessing occ in Nextclouds docker
Are there any other things that'd be desireable and should be realized along with this?
I saw that the official e-cloud is running Nextcloud 19 are there any compatibility issues preventing newer ones (like 21)?
I used the most up-to-date branch "auto-delete-account" as base, locally merged it with master and continued from there, is that okay?
No clue who is responsible for this, so I'm just gonna ping @arnauvp