Agora is a platform for collaboration. Users can connect, share files, chat, discuss and share knowledge. It bundles existing open source projects with Nextcloud at its core.
- Nextcloud - file sharing, chat, contacts
- Keycloak - identity and access management
- Discourse - discussion forum
- MediaWiki - wiki
- Traefik - reverse proxy, load balancing
- Grafana/Loki - logging
docker engine 20.10 We use docker swarm in combination with traefik. This allows for lightweight container orchestration. If you want to use Logging, also install the loki-docker-driver plugin.
- set up swarm and networks
./bin/init_swarm.sh
see this: https://medium.com/@containeroo/traefik-2-0-paranoid-about-mounting-var-run-docker-sock-22da9cb3e78c
- configure stacks
Most stack require some configuration and secrets. For an initial setup, check the instructions at /edge, /forum, /keycloak, /wiki and /monitor. docker stack deploy does not support environment variables, hence for production:
- deploy stacks
manually:
$ env ENV=prod HOST=agora-oegd.de docker stack deploy -c edge.yml edge
$ env ENV=prod HOST=agora-oegd.de docker stack deploy -c wiki.yml wiki --with-registry-auth
$ env ENV=prod HOST=agora-oegd.de docker stack deploy -c forum.yml forum --with-registry-auth
$ env ENV=prod HOST=agora-oegd.de docker stack deploy -c nextcloud.yml nextcloud --with-registry-auth
automated:
./bin/deploy.sh edge