From 98efb9f8874341fb08253b21d978c65079e4c3bd Mon Sep 17 00:00:00 2001 From: Joel Falknau Date: Tue, 3 Sep 2024 12:24:17 +1000 Subject: [PATCH 01/10] split maintenance tasks into bare metal / docker --- docs/features/apps/autogroups.md | 28 ++++++- docs/features/apps/corpstats.md | 26 +++++- docs/features/apps/fleetactivitytracking.md | 26 +++++- docs/features/apps/hrapplications.md | 26 +++++- docs/features/apps/optimer.md | 26 +++++- docs/features/apps/permissions_tool.md | 28 ++++++- docs/features/apps/srp.md | 26 +++++- docs/features/apps/timerboard.md | 26 +++++- docs/features/services/discord.md | 36 ++++++-- docs/features/services/discourse.md | 34 +++++++- docs/features/services/xenforo.md | 34 +++++++- docs/maintenance/apps.md | 92 +++++++++++++++++++-- 12 files changed, 380 insertions(+), 28 deletions(-) diff --git a/docs/features/apps/autogroups.md b/docs/features/apps/autogroups.md index 7bce5ebf..0394c1bc 100644 --- a/docs/features/apps/autogroups.md +++ b/docs/features/apps/autogroups.md @@ -4,9 +4,33 @@ Auto Groups allows you to automatically place users of certain states into corp ## Installation -This is an optional app that needs to be installed. +- Add `'allianceauth.eveonline.autogroups',` to `INSTALLED_APPS` in your `local.py` -To install this app add `'allianceauth.eveonline.autogroups',` to your `INSTALLED_APPS` list and run migrations. All other settings are controlled via the admin panel under the `Eve_Autogroups` section. +Perform Django Maintenance and restart our Web Service and Workers. + +::::{tabs} +:::{group-tab} Bare Metal + +```shell +python manage.py migrate +python manage.py collectstatic --noinput +supervisorctl restart myauth: +``` + +::: +:::{group-tab} Containerized + +```shell +docker compose --env-file=.env up -d +docker compose exec allianceauth_gunicorn bash +auth migrate +auth collectstatic +``` + +::: +:::: + +All other settings are controlled via the admin panel under the `Eve_Autogroups` section. ## Configuring a group diff --git a/docs/features/apps/corpstats.md b/docs/features/apps/corpstats.md index c96d4240..bdedaf54 100644 --- a/docs/features/apps/corpstats.md +++ b/docs/features/apps/corpstats.md @@ -8,7 +8,31 @@ This module is used to check the registration status of Corp members and to dete Corp Stats requires access to the `esi-corporations.read_corporation_membership.v1` SSO scope. Update your application on the [EVE Developers site](https://developers.eveonline.com) to ensure it is available. -Add `'allianceauth.corputils',` to your `INSTALLED_APPS` list in your auth project's settings file. Run migrations to complete installation. +- Add `'allianceauth.corputils',` to `INSTALLED_APPS` in your `local.py` + +Perform Django Maintenance and restart our Web Service and Workers. + +::::{tabs} +:::{group-tab} Bare Metal + +```shell +python manage.py migrate +python manage.py collectstatic --noinput +supervisorctl restart myauth: +``` + +::: +:::{group-tab} Containerized + +```shell +docker compose --env-file=.env up -d +docker compose exec allianceauth_gunicorn bash +auth migrate +auth collectstatic +``` + +::: +:::: ## Creating a Corp Stats diff --git a/docs/features/apps/fleetactivitytracking.md b/docs/features/apps/fleetactivitytracking.md index d34c3794..ea4bef2c 100644 --- a/docs/features/apps/fleetactivitytracking.md +++ b/docs/features/apps/fleetactivitytracking.md @@ -8,7 +8,31 @@ The Fleet Activity Tracking (FAT) app allows you to track fleet participation. Fleet Activity Tracking requires access to the `esi-location.read_location.v1`, `esi-location.read_ship_type.v1`, and `esi-universe.read_structures.v1` SSO scopes. Update your application on the [EVE Developers site](https://developers.eveonline.com) to ensure these are available. -Add `'allianceauth.fleetactivitytracking',` to your `INSTALLED_APPS` list in your auth project's settings file. Run migrations to complete installation. +Add `'allianceauth.fleetactivitytracking',` to `INSTALLED_APPS` in your `local.py` + +Perform Django Maintenance and restart our Web Service and Workers. + +::::{tabs} +:::{group-tab} Bare Metal + +```shell +python manage.py migrate +python manage.py collectstatic --noinput +supervisorctl restart myauth: +``` + +::: +:::{group-tab} Containerized + +```shell +docker compose --env-file=.env up -d +docker compose exec allianceauth_gunicorn bash +auth migrate +auth collectstatic +``` + +::: +:::: ## Permissions diff --git a/docs/features/apps/hrapplications.md b/docs/features/apps/hrapplications.md index 9833591d..4524f9c5 100644 --- a/docs/features/apps/hrapplications.md +++ b/docs/features/apps/hrapplications.md @@ -10,7 +10,31 @@ This app allows you to manage applications for multiple corporations in your all ## Installation -Add `'allianceauth.hrapplications',` to your `INSTALLED_APPS` list in your auth project's settings file. Run migrations to complete installation. +- Add `'allianceauth.hrapplications',` to `INSTALLED_APPS` in your `local.py` + +Perform Django Maintenance and restart our Web Service and Workers. + +::::{tabs} +:::{group-tab} Bare Metal + +```shell +python manage.py migrate +python manage.py collectstatic --noinput +supervisorctl restart myauth: +``` + +::: +:::{group-tab} Containerized + +```shell +docker compose --env-file=.env up -d +docker compose exec allianceauth_gunicorn bash +auth migrate +auth collectstatic +``` + +::: +:::: ## Management diff --git a/docs/features/apps/optimer.md b/docs/features/apps/optimer.md index 91bbb3e2..4a6540bb 100644 --- a/docs/features/apps/optimer.md +++ b/docs/features/apps/optimer.md @@ -6,7 +6,31 @@ Fleet Operations is an app for organizing and communicating fleet schedules. ## Installation -Add `'allianceauth.optimer',` to your `INSTALLED_APPS` list in your auth project's settings file. Run migrations to complete installation. +- Add `'allianceauth.optimer',` to `INSTALLED_APPS` in your `local.py` + +Perform Django Maintenance and restart our Web Service and Workers. + +::::{tabs} +:::{group-tab} Bare Metal + +```shell +python manage.py migrate +python manage.py collectstatic --noinput +supervisorctl restart myauth: +``` + +::: +:::{group-tab} Containerized + +```shell +docker compose --env-file=.env up -d +docker compose exec allianceauth_gunicorn bash +auth migrate +auth collectstatic +``` + +::: +:::: ## Permissions diff --git a/docs/features/apps/permissions_tool.md b/docs/features/apps/permissions_tool.md index 419971f3..6fae5eff 100644 --- a/docs/features/apps/permissions_tool.md +++ b/docs/features/apps/permissions_tool.md @@ -2,9 +2,33 @@ Access to most of Alliance Auth's features is controlled by Django's permissions system. To help you secure your services, Alliance Auth provides a permission auditing tool. -This is an optional app that needs to be installed. +## Installation -To install it add `'allianceauth.permissions_tool',` to your `INSTALLED_APPS` list in your auth project's settings file. +- Add `'allianceauth.permissions_tool',` to `INSTALLED_APPS` in your `local.py` + +Perform Django Maintenance and restart our Web Service and Workers. + +::::{tabs} +:::{group-tab} Bare Metal + +```shell +python manage.py migrate +python manage.py collectstatic --noinput +supervisorctl restart myauth: +``` + +::: +:::{group-tab} Containerized + +```shell +docker compose --env-file=.env up -d +docker compose exec allianceauth_gunicorn bash +auth migrate +auth collectstatic +``` + +::: +:::: ## Usage diff --git a/docs/features/apps/srp.md b/docs/features/apps/srp.md index 7663bb04..e76ebf97 100644 --- a/docs/features/apps/srp.md +++ b/docs/features/apps/srp.md @@ -6,7 +6,31 @@ Ship Replacement helps you to organize ship replacement programs (SRP) for your ## Installation -Add `'allianceauth.srp',` to your `INSTALLED_APPS` list in your auth project's settings file. Run migrations to complete installation. +- Add `'allianceauth.srp',` to `INSTALLED_APPS` in your `local.py` + +Perform Django Maintenance and restart our Web Service and Workers. + +::::{tabs} +:::{group-tab} Bare Metal + +```shell +python manage.py migrate +python manage.py collectstatic --noinput +supervisorctl restart myauth: +``` + +::: +:::{group-tab} Containerized + +```shell +docker compose --env-file=.env up -d +docker compose exec allianceauth_gunicorn bash +auth migrate +auth collectstatic +``` + +::: +:::: ## Permissions diff --git a/docs/features/apps/timerboard.md b/docs/features/apps/timerboard.md index 6a134b2c..a79bb62b 100644 --- a/docs/features/apps/timerboard.md +++ b/docs/features/apps/timerboard.md @@ -6,7 +6,31 @@ Structure Timers helps you keep track of both offensive and defensive structure ## Installation -Add `'allianceauth.timerboard',` to your `INSTALLED_APPS` list in your auth project's settings file. Run migrations to complete installation. +- Add `'allianceauth.timerboard',` to `INSTALLED_APPS` in your `local.py` + +Perform Django Maintenance and restart our Web Service and Workers. + +::::{tabs} +:::{group-tab} Bare Metal + +```shell +python manage.py migrate +python manage.py collectstatic --noinput +supervisorctl restart myauth: +``` + +::: +:::{group-tab} Containerized + +```shell +docker compose --env-file=.env up -d +docker compose exec allianceauth_gunicorn bash +auth migrate +auth collectstatic +``` + +::: +:::: ## Permissions diff --git a/docs/features/services/discord.md b/docs/features/services/discord.md index 106ac480..7f04ed8d 100644 --- a/docs/features/services/discord.md +++ b/docs/features/services/discord.md @@ -6,13 +6,13 @@ Discord is a web-based instant messaging client with voice. Kind of like TeamSpe Discord is very popular amongst ad-hoc small groups and larger organizations seeking a modern technology. Alternative voice communications should be investigated for larger than small-medium groups for more advanced features. -## Setup +## Setup Auth ### Prepare Your Settings File Make the following changes in your auth project's settings file (`local.py`): -- Add `'allianceauth.services.modules.discord',` to `INSTALLED_APPS` +- Add `'allianceauth.services.modules.discord',` to `INSTALLED_APPS` in your `local.py` - Append the following to the bottom of the settings file: ```python @@ -37,6 +37,34 @@ CELERYBEAT_SCHEDULE['discord.update_all_usernames'] = { You will have to add most of the values for these settings, e.g., your Discord server ID (aka guild ID), later in the setup process. ::: +### Preparing Auth + +Before continuing, it is essential to perform Django Maintenance and restart our Web Service and Workers. + +::::{tabs} +:::{group-tab} Bare Metal + +```shell +python manage.py migrate +python manage.py collectstatic --noinput +supervisorctl restart myauth: +``` + +::: +:::{group-tab} Containerized + +```shell +docker compose --env-file=.env up -d +docker compose exec allianceauth_gunicorn bash +auth migrate +auth collectstatic +``` + +::: +:::: + +## Setup Discord + ### Creating a Server Navigate to the [Discord site](https://discord.com/) and register an account, or log in if you have one already. @@ -67,10 +95,6 @@ Update your auth project's settings file with these pieces of information from t - From the OAuth2 > General panel, `DISCORD_APP_SECRET` is the Client Secret - From the Bot panel, `DISCORD_BOT_TOKEN` is the Token -### Preparing Auth - -Before continuing, it is essential to run migrations and restart Gunicorn and Celery. - ### Adding a Bot to the Server Once created, navigate to the "Services" page of your Alliance Auth install as the superuser account. At the top there is a big green button labeled "Link Discord Server". Click it, then from the drop-down select the server you created, and then Authorize. diff --git a/docs/features/services/discourse.md b/docs/features/services/discourse.md index 0f383d61..7ed2082e 100644 --- a/docs/features/services/discourse.md +++ b/docs/features/services/discourse.md @@ -1,11 +1,13 @@ # Discourse -## Prepare Your Settings +## Setup Auth + +### Prepare Your Settings File In your auth project's settings file, do the following: -- Add `'allianceauth.services.modules.discourse',` to your `INSTALLED_APPS` list -- Append the following to your local.py settings file: +- Add `'allianceauth.services.modules.discourse',` to `INSTALLED_APPS` in your `local.py` +- Append the following to your `local.py` settings file: ```python # Discourse Configuration @@ -15,6 +17,32 @@ DISCOURSE_API_KEY = '' DISCOURSE_SSO_SECRET = '' ``` +### Preparing Auth + +Before continuing, it is essential to perform Django Maintenance and restart our Web Service and Workers. + +::::{tabs} +:::{group-tab} Bare Metal + +```shell +python manage.py migrate +python manage.py collectstatic --noinput +supervisorctl restart myauth: +``` + +::: +:::{group-tab} Containerized + +```shell +docker compose --env-file=.env up -d +docker compose exec allianceauth_gunicorn bash +auth migrate +auth collectstatic +``` + +::: +:::: + ## Install Docker ```shell diff --git a/docs/features/services/xenforo.md b/docs/features/services/xenforo.md index c83d0475..2d20abb4 100644 --- a/docs/features/services/xenforo.md +++ b/docs/features/services/xenforo.md @@ -4,12 +4,14 @@ [XenForo](https://xenforo.com/) is a popular, paid forum. This guide will assume that you already have XenForo installed with a valid license (please keep in mind that XenForo is not free nor open-source, therefore, you need to purchase a license first). If you come across any problems related with the installation of XenForo please contact their support service. -## Prepare Your Settings +## Setup Auth + +### Prepare Your Settings In your auth project's settings file, do the following: -- Add `'allianceauth.services.modules.xenforo',` to your `INSTALLED_APPS` list -- Append the following to your local.py settings file: +- Add `'allianceauth.services.modules.xenforo',` to `INSTALLED_APPS` in your `local.py` +- Append the following to your `local.py` settings file: ```python # XenForo Configuration @@ -18,6 +20,32 @@ XENFORO_DEFAULT_GROUP = 0 XENFORO_APIKEY = 'yourapikey' ``` +### Preparing Auth + +Before continuing, it is essential to perform Django Maintenance and restart our Web Service and Workers. + +::::{tabs} +:::{group-tab} Bare Metal + +```shell +python manage.py migrate +python manage.py collectstatic --noinput +supervisorctl restart myauth: +``` + +::: +:::{group-tab} Containerized + +```shell +docker compose --env-file=.env up -d +docker compose exec allianceauth_gunicorn bash +auth migrate +auth collectstatic +``` + +::: +:::: + ## XenAPI By default, XenForo does not support any kind of API, however, there is a third-party package called [XenAPI](https://github.com/Contex/XenAPI) which provides a simple REST interface by which we can access XenForo's functions to create and edit users. diff --git a/docs/maintenance/apps.md b/docs/maintenance/apps.md index 762269e4..37695083 100644 --- a/docs/maintenance/apps.md +++ b/docs/maintenance/apps.md @@ -4,10 +4,25 @@ Your auth project is just a regular Django project - you can add in [other Django apps](https://djangopackages.org/) as desired. Most come with dedicated setup guides, but here is the general procedure: -1. add `'appname',` to your `INSTALLED_APPS` setting in `local.py` -2. run `python manage.py migrate` -3. run `python manage.py collectstatic --noinput` -4. restart AA with `supervisorctl restart myauth:` +::::{tabs} +:::{group-tab} Bare Metal + +1. Add `'appname',` to `INSTALLED_APPS` setting in `local.py` +1. Run Migrations `python manage.py migrate` +1. Collect Static Files `python manage.py collectstatic --noinput` +1. Restart our Web Service and Workers `supervisorctl restart myauth:` + +::: +:::{group-tab} Containerized + +1. Add `'appname',` to `INSTALLED_APPS` setting in `local.py` +1. Restart our Web Service and Workers `docker compose --env-file=.env up -d` +1. Enter a Docker Container `docker compose exec allianceauth_gunicorn bash` +1. Run Migrations `auth migrate` +1. Collect Static Files `auth collectstatic` + +::: +:::: ## Removing Apps @@ -25,20 +40,38 @@ First, we want to remove the app related tables from the database. Let's first try the automatic approach by running the following command: +::::{tabs} +:::{group-tab} Bare Metal + ```shell python manage.py migrate appname zero ``` +::: +:::{group-tab} Containerized + +```shell +docker compose exec allianceauth_gunicorn bash +python manage.py migrate appname zero +``` + +::: +:::: + If that works, you'll get a confirmation message. -If that did not work, and you got error messages, you will need to remove the tables manually. This is pretty common btw, because many apps use sophisticated table setups, which cannot be removed automatically by Django. +If that did not work, and you got error messages, you will need to remove the tables manually. +> This is pretty common, because many apps use sophisticated table setups, which cannot be removed automatically by Django. #### Manual table removal +::::{tabs} +:::{group-tab} Bare Metal + First, tell Django that these migrations are no longer in effect (note the additional `--fake`): ```shell -python manage.py migrate appname zero --fake +python manage.py appname zero --fake ``` Then, open the mysql tool and connect to your Alliance Auth database: @@ -75,6 +108,53 @@ SET FOREIGN_KEY_CHECKS=1; exit; ``` +::: +:::{group-tab} Containerized + +First, tell Django that these migrations are no longer in effect (note the additional `--fake`): + +```shell +auth migrate appname zero --fake +``` + +Here we need to swap containers, if you are still inside allianceauth_gunicorn, exit with `exit` + +```shell +docker compose exec auth_mysql bash +sudo mysql -u root +use alliance_auth; +``` + +Next, disable foreign key check. This makes it much easier to drop tables in any order. + +```shell +SET FOREIGN_KEY_CHECKS=0; +``` + +Then get a list of all tables. All tables belonging to the app in question will start with `appname_`. + +```shell +show tables; +``` + +Now, drop the tables from the app one by one like so: + +```shell +drop table appname_model_1; +drop table appname_model_2; +... +``` + +And finally, but very importantly, re-enable foreign key checks again and then exit: + +```shell +SET FOREIGN_KEY_CHECKS=1; +exit; +``` + +::: +:::: + ### Step 2 - Remove the app from Alliance Auth Once the tables have been removed, you can remove the app from Alliance Auth. This is done by removing the applabel from the `INSTALLED_APPS` list in your local settings file. From 618ee81f9bbd994e372262c2428e4df4a90dedbf Mon Sep 17 00:00:00 2001 From: Joel Falknau Date: Tue, 3 Sep 2024 12:24:37 +1000 Subject: [PATCH 02/10] remove unneeded analytics docs for removed features --- docs/features/core/analytics.md | 17 ----------------- 1 file changed, 17 deletions(-) diff --git a/docs/features/core/analytics.md b/docs/features/core/analytics.md index 368f8e6a..d610edb6 100644 --- a/docs/features/core/analytics.md +++ b/docs/features/core/analytics.md @@ -33,23 +33,6 @@ Our Daily Stats contain the following: - A task to send a List of Installed Apps - Each Task contains the UUID and Alliance Auth Version -Our Celery Events contain the following: - -- Unique Identifier (The UUID) -- Celery Namespace of the task e.g., allianceauth.eveonline -- Celery Task -- Task Success or Exception -- A context number for bulk tasks or sometimes a binary True/False - -Our Page Views contain the following: - -- Unique Identifier (The UUID) -- Page Path -- Page Title -- The locale of the users browser -- The User-Agent of the user's browser -- The Alliance Auth Version - ## Why This data allows Alliance Auth development to gather accurate statistics on our installation base, as well as how those installations are used. From 0c090f14866899fd1115afa41c0677f29ddf4873 Mon Sep 17 00:00:00 2001 From: Joel Falknau Date: Tue, 3 Sep 2024 12:25:01 +1000 Subject: [PATCH 03/10] Ubuntu 2004 should not be reccommended for new isntalls --- docs/installation/allianceauth.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/installation/allianceauth.md b/docs/installation/allianceauth.md index 117b8fd7..4a9f9f9d 100644 --- a/docs/installation/allianceauth.md +++ b/docs/installation/allianceauth.md @@ -14,7 +14,7 @@ Alliance Auth can be installed on any in-support *nix operating system. Our install documentation targets the following operating systems. -- Ubuntu 20.04 +- Ubuntu 20.04 - Not Recommended for new installs - Ubuntu 22.04 - Centos 7 - CentOS Stream 8 @@ -279,7 +279,7 @@ mysql_secure_installation ### User Account -For security and permissions, it’s highly recommended you create a separate user to install auth under. Do not log in as this account. +For security and permissions, it's highly recommended you create a separate user to install auth under. Do not log in as this account. ::::{tabs} :::{group-tab} Ubuntu 2004, 2204 From 9767ce79d84586441ba952d01ed8559d0fa5b77b Mon Sep 17 00:00:00 2001 From: Joel Falknau Date: Tue, 3 Sep 2024 12:26:31 +1000 Subject: [PATCH 04/10] cleanup some local.py references --- docs/development/dev_setup/aa-dev-setup-wsl-vsc-v2.md | 2 +- docs/features/services/mumble-docker.md | 2 +- docs/features/services/openfire-docker.md | 2 +- docs/features/services/openfire.md | 4 ++-- docs/features/services/phpbb3.md | 2 +- docs/features/services/smf.md | 2 +- docs/features/services/teamspeak3-docker.md | 6 +++--- docs/features/services/teamspeak3.md | 4 ++-- 8 files changed, 12 insertions(+), 12 deletions(-) diff --git a/docs/development/dev_setup/aa-dev-setup-wsl-vsc-v2.md b/docs/development/dev_setup/aa-dev-setup-wsl-vsc-v2.md index 9d828abb..64a68a5d 100644 --- a/docs/development/dev_setup/aa-dev-setup-wsl-vsc-v2.md +++ b/docs/development/dev_setup/aa-dev-setup-wsl-vsc-v2.md @@ -337,7 +337,7 @@ To deactivate, click on the debug icon to switch to the debug view. Then uncheck ### AA debug config -In VSC, click on Debug / Add Configuration and choose "Django". Should Django not appear as an option, make sure to first open a Django file (e.g., the local.py settings) to help VSC detect that you are using Django. +In VSC, click on Debug / Add Configuration and choose "Django". Should Django not appear as an option, make sure to first open a Django file (e.g., the `local.py` settings) to help VSC detect that you are using Django. The result should look something like this: diff --git a/docs/features/services/mumble-docker.md b/docs/features/services/mumble-docker.md index 09df8458..974a3d6b 100644 --- a/docs/features/services/mumble-docker.md +++ b/docs/features/services/mumble-docker.md @@ -8,7 +8,7 @@ Mumble is a free voice chat server. While not as flashy as TeamSpeak, it has all In your auth project's settings file (`aa-docker/conf/local.py`), do the following: -- Add `'allianceauth.services.modules.mumble',` to your `INSTALLED_APPS` list +- Add `'allianceauth.services.modules.mumble',` to `INSTALLED_APPS` in your `local.py` - Append the following to your auth project's settings file: ```python diff --git a/docs/features/services/openfire-docker.md b/docs/features/services/openfire-docker.md index e2947f24..cc994f26 100644 --- a/docs/features/services/openfire-docker.md +++ b/docs/features/services/openfire-docker.md @@ -8,7 +8,7 @@ Openfire is a Jabber (XMPP) server. In your auth project's settings file (`aa-docker/conf/local.py`), do the following: -- Add `'allianceauth.services.modules.openfire',` to your `INSTALLED_APPS` list +- Add `'allianceauth.services.modules.openfire',` to `INSTALLED_APPS` in your `local.py` - Append the following to your auth project's settings file: ```python diff --git a/docs/features/services/openfire.md b/docs/features/services/openfire.md index c9cd5b84..3897efa0 100644 --- a/docs/features/services/openfire.md +++ b/docs/features/services/openfire.md @@ -4,7 +4,7 @@ Openfire is a Jabber (XMPP) server. ## Prepare Your Settings -- Add `'allianceauth.services.modules.openfire',` to your `INSTALLED_APPS` list +- Add `'allianceauth.services.modules.openfire',` to `INSTALLED_APPS` in your `local.py` - Append the following to your auth project's settings file: ```python @@ -108,7 +108,7 @@ exit; The remainder of the setup occurs through Openfire’s web interface. Navigate to , or if you’re behind CloudFlare, go straight to your server’s IP:9090. -Select your language. I sure hope it’s English if you’re reading this guide. +Select your language. Under Server Settings, set the Domain to `example.com` replacing it with your actual domain. Don’t touch the rest. diff --git a/docs/features/services/phpbb3.md b/docs/features/services/phpbb3.md index dadd5eb0..08749788 100644 --- a/docs/features/services/phpbb3.md +++ b/docs/features/services/phpbb3.md @@ -12,7 +12,7 @@ phpBB3 requires PHP installed in your web server. Apache has `mod_php`, NGINX re In your auth project's settings file, do the following: -- Add `'allianceauth.services.modules.phpbb3',` to your `INSTALLED_APPS` list +- Add `'allianceauth.services.modules.phpbb3',` to `INSTALLED_APPS` in your `local.py` - Append the following to the bottom of the settings file: ```python diff --git a/docs/features/services/smf.md b/docs/features/services/smf.md index 3a39334e..378832f9 100644 --- a/docs/features/services/smf.md +++ b/docs/features/services/smf.md @@ -12,7 +12,7 @@ SMF requires PHP installed in your web server. Apache has `mod_php`, NGINX requi In your auth project's settings file, do the following: -- Add `'allianceauth.services.modules.smf',` to your `INSTALLED_APPS` list +- Add `'allianceauth.services.modules.smf',` to `INSTALLED_APPS` in your `local.py` - Append the following to the bottom of the settings file: ```python diff --git a/docs/features/services/teamspeak3-docker.md b/docs/features/services/teamspeak3-docker.md index 81c2f24d..909da783 100644 --- a/docs/features/services/teamspeak3-docker.md +++ b/docs/features/services/teamspeak3-docker.md @@ -14,7 +14,7 @@ Sticking with TS3? Alright, I tried. In your auth project's settings file (`aa-docker/conf/local.py`), do the following: -- Add `'allianceauth.services.modules.teamspeak',` to your `INSTALLED_APPS` list +- Add `'allianceauth.services.modules.teamspeak',` to `INSTALLED_APPS` in your `local.py` - Append the following to your auth project's settings file: ```python @@ -32,7 +32,7 @@ CELERYBEAT_SCHEDULE['run_ts3_group_update'] = { } ``` -Add the following lines to your `.env` file +- Add the following lines to your `.env` file ```env # Temspeak @@ -152,7 +152,7 @@ If you have SSH access to the server hosting it, you need to locate the teamspea ### `520 invalid loginname or password` -The serverquery account login specified in local.py is incorrect. Please verify `TEAMSPEAK3_SERVERQUERY_USER` and `TEAMSPEAK3_SERVERQUERY_PASSWORD`. The [installation section](#update-settings) describes where to get them. +The serverquery account login specified in `local.py` is incorrect. Please verify `TEAMSPEAK3_SERVERQUERY_USER` and `TEAMSPEAK3_SERVERQUERY_PASSWORD`. The [installation section](#update-settings) describes where to get them. ### `2568 insufficient client permissions` diff --git a/docs/features/services/teamspeak3.md b/docs/features/services/teamspeak3.md index 8f2baee0..4c58ac21 100644 --- a/docs/features/services/teamspeak3.md +++ b/docs/features/services/teamspeak3.md @@ -14,7 +14,7 @@ Sticking with TS3? Alright, I tried. In your auth project's settings file, do the following: -- Add `'allianceauth.services.modules.teamspeak3',` to your `INSTALLED_APPS` list +- Add `'allianceauth.services.modules.teamspeak3',` to `INSTALLED_APPS` in your `local.py` - Append the following to the bottom of the settings file: ```python @@ -170,7 +170,7 @@ If you have SSH access to the server hosting it, you need to locate the teamspea ### `520 invalid loginname or password` -The serverquery account login specified in local.py is incorrect. Please verify `TEAMSPEAK3_SERVERQUERY_USER` and `TEAMSPEAK3_SERVERQUERY_PASSWORD`. The [installation section](#update-settings) describes where to get them. +The serverquery account login specified in `local.py` is incorrect. Please verify `TEAMSPEAK3_SERVERQUERY_USER` and `TEAMSPEAK3_SERVERQUERY_PASSWORD`. The [installation section](#update-settings) describes where to get them. ### `2568 insufficient client permissions` From 7051e06564ebe128ff36c283c49b9e543758dbb8 Mon Sep 17 00:00:00 2001 From: Joel Falknau Date: Tue, 3 Sep 2024 12:26:43 +1000 Subject: [PATCH 05/10] update features from readme --- docs/features/overview.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/features/overview.md b/docs/features/overview.md index d62882c9..78cb3227 100644 --- a/docs/features/overview.md +++ b/docs/features/overview.md @@ -4,9 +4,9 @@ It has the following key features: -- Automatically grants or revokes users access to external services (e.g. Discord, Mumble) and web apps (e.g. SRP requests) based on the user's current membership to [in-game organizations](/features/core/states) and [groups](/features/core/groups) +- Automatically grants or revokes user access to external services (e.g. Discord, Mumble) and web apps (e.g. SRP requests) based on the user's current membership to [in-game organizations](/features/core/states) and [groups](/features/core/groups) -- Provides a central website where users can directly access web apps (e.g., SRP requests) and manage their access to external services and groups. +- Provides a central web site where users can directly access web apps (e.g. SRP requests, Fleet Schedule) and manage their access to external services and groups. - Includes a set of connectors (called ["services"](/features/services/index)) for integrating access management with many popular external services like Discord, Mumble, Teamspeak 3, SMF and others @@ -14,4 +14,4 @@ It has the following key features: - It can be easily extended with additional services and apps. Many are provided by the [community](/features/community/index). -- Chinese, English, German and Spanish localization +- English :flag_gb:, Chinese :flag_cn:, German :flag_de:, Spanish :flag_es:, Korean :flag_kr:, Russian :flag_ru:, Italian :flag_it:, French :flag_fr:, Japanese :flag_jp: and Ukrainian :flag_ua: Localization From 46020973991da4747a322a6b03839364f7d51a7e Mon Sep 17 00:00:00 2001 From: Joel Falknau Date: Tue, 3 Sep 2024 12:27:02 +1000 Subject: [PATCH 06/10] remove DB step from mumble install, sqlite has been reccommended for a while --- docs/features/services/mumble.md | 25 +++---------------------- 1 file changed, 3 insertions(+), 22 deletions(-) diff --git a/docs/features/services/mumble.md b/docs/features/services/mumble.md index 6a7112fc..ded2d835 100644 --- a/docs/features/services/mumble.md +++ b/docs/features/services/mumble.md @@ -58,17 +58,7 @@ pip install -r requirements.txt ## Configuring Mumble Server -The mumble server needs its own database. Open an SQL shell with `mysql -u root -p` and execute the SQL commands to create it: - -```sql -CREATE DATABASE alliance_mumble CHARACTER SET utf8mb4; -``` - -```sql -GRANT ALL PRIVILEGES ON alliance_mumble . * TO 'allianceserver'@'localhost'; -``` - -Mumble ships with a configuration file that needs customization. By default, it’s located at `/etc/mumble-server.ini`. Open it with your favorite text editor: +Mumble ships with a configuration file that needs customization. By default, it's located at `/etc/mumble-server.ini`. Open it with your favorite text editor: ```shell sudo nano /etc/mumble-server.ini @@ -79,15 +69,6 @@ We need to enable the ICE authenticator. Edit the following: - `icesecretwrite=MY_CLEVER_PASSWORD`, obviously choosing a secure password - ensure the line containing `Ice="tcp -h 127.0.0.1 -p 6502"` is uncommented -We also want to enable Mumble to use the previously created MySQL / MariaDB database, edit the following: - -- uncomment the database line, and change it to `database=alliance_mumble` -- `dbDriver=QMYSQL` -- `dbUsername=allianceserver` or whatever you called the Alliance Auth MySQL user -- `dbPassword=` that user’s password -- `dbPort=3306` -- `dbPrefix=murmur_` - To name your root channel, uncomment and set `registerName=` to whatever cool name you want Save and close the file. @@ -98,7 +79,7 @@ To get Mumble superuser account credentials, run the following: sudo dpkg-reconfigure mumble-server ``` -Set the password to something you’ll remember and write it down. This is your superuser password and later needed to manage ACLs. +Set the password to something you'll remember and write it down. This is your superuser password and later needed to manage ACLs. Now restart the server to see the changes reflected. @@ -106,7 +87,7 @@ Now restart the server to see the changes reflected. sudo service mumble-server restart ``` -That’s it! Your server is ready to be connected to at example.com:64738 +That's it! Your server is ready to be connected to at example.com:64738 ## Configuring Mumble Authenticator From c34efebacf58194a35f6d08237f9e223b2b0d899 Mon Sep 17 00:00:00 2001 From: Joel Falknau Date: Tue, 3 Sep 2024 12:27:50 +1000 Subject: [PATCH 07/10] define charsets for db backed apps --- docs/features/services/phpbb3.md | 1 + docs/features/services/smf.md | 1 + 2 files changed, 2 insertions(+) diff --git a/docs/features/services/phpbb3.md b/docs/features/services/phpbb3.md index 08749788..4c2c69c1 100644 --- a/docs/features/services/phpbb3.md +++ b/docs/features/services/phpbb3.md @@ -25,6 +25,7 @@ DATABASES['phpbb3'] = { 'PASSWORD': 'password', 'HOST': '127.0.0.1', 'PORT': '3306', + 'OPTIONS': {'charset': 'utf8mb4'}, } ``` diff --git a/docs/features/services/smf.md b/docs/features/services/smf.md index 378832f9..aada3b78 100644 --- a/docs/features/services/smf.md +++ b/docs/features/services/smf.md @@ -25,6 +25,7 @@ DATABASES['smf'] = { 'PASSWORD': 'password', 'HOST': '127.0.0.1', 'PORT': '3306', + 'OPTIONS': {'charset': 'utf8mb4'}, } ``` From 737e02293a87ce5302127a4224fe6cb4c7e0000f Mon Sep 17 00:00:00 2001 From: Joel Falknau Date: Mon, 9 Sep 2024 12:59:49 +1000 Subject: [PATCH 08/10] expand mumble service install docs --- docs/features/services/mumble.md | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/docs/features/services/mumble.md b/docs/features/services/mumble.md index ded2d835..2e9c7253 100644 --- a/docs/features/services/mumble.md +++ b/docs/features/services/mumble.md @@ -14,11 +14,11 @@ This guide is currently for Ubuntu only. ### Installing Mumble Server -::::{tabs} -:::{group-tab} Ubuntu 2004, 2204 - The mumble server package can be retrieved from a repository, which we need to add: +::::{tabs} +:::{group-tab} Ubuntu 2004, 2204, 2404 + ```shell sudo apt-add-repository ppa:mumble/release ``` @@ -30,9 +30,16 @@ sudo apt-get update Now three packages need to be installed: ```shell -sudo apt-get install python-software-properties mumble-server libqt5sql5-mysql +sudo apt-get install software-properties-common mumble-server libqt5sql5-mysql ``` +::: +:::{group-tab} CentOS 7, Stream 8, Stream 9 + +sudo yum install epel-release +sudo yum update +sudo yum install mumble-server + ::: :::: From dd15a221aaa020df3779a38e5ea7ed43681f32f6 Mon Sep 17 00:00:00 2001 From: Joel Falknau Date: Mon, 9 Sep 2024 13:32:06 +1000 Subject: [PATCH 09/10] split repo from install --- docs/features/services/mumble.md | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/docs/features/services/mumble.md b/docs/features/services/mumble.md index 2e9c7253..1c08a468 100644 --- a/docs/features/services/mumble.md +++ b/docs/features/services/mumble.md @@ -23,12 +23,20 @@ The mumble server package can be retrieved from a repository, which we need to a sudo apt-add-repository ppa:mumble/release ``` -```shell -sudo apt-get update -``` +::: +:::{group-tab} CentOS 7, Stream 8, Stream 9 + +sudo yum install epel-release +sudo yum update + +::: +:::: Now three packages need to be installed: +::::{tabs} +:::{group-tab} Ubuntu 2004, 2204, 2404 + ```shell sudo apt-get install software-properties-common mumble-server libqt5sql5-mysql ``` @@ -36,8 +44,6 @@ sudo apt-get install software-properties-common mumble-server libqt5sql5-mysql ::: :::{group-tab} CentOS 7, Stream 8, Stream 9 -sudo yum install epel-release -sudo yum update sudo yum install mumble-server ::: From 4a4258d0e60fe9386db03331dbd91f3c28591004 Mon Sep 17 00:00:00 2001 From: Joel Falknau Date: Mon, 9 Sep 2024 13:32:18 +1000 Subject: [PATCH 10/10] use docker command inside docker --- docs/maintenance/apps.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/maintenance/apps.md b/docs/maintenance/apps.md index 37695083..6e0463bb 100644 --- a/docs/maintenance/apps.md +++ b/docs/maintenance/apps.md @@ -52,7 +52,7 @@ python manage.py migrate appname zero ```shell docker compose exec allianceauth_gunicorn bash -python manage.py migrate appname zero +auth migrate appname zero ``` :::