mirror of
https://github.com/kevinveenbirkenbach/computer-playbook.git
synced 2025-08-15 08:30:46 +02:00
perf(friendica): single-pass patch for DB creds + system.url; align env URL; tidy vars
- Patch local.config.php in one sed exec: * hostname, database, username, password * system.url via '#' delimiter to avoid URL slash escaping * Single notify: docker compose up - env.j2: * FRIENDICA_URL now uses domains|get_url(application_id, WEB_PROTOCOL) * Simplify FRIENDICA_DEBUGGING with |lower * Normalize spacing for readability - vars/main.yml: * Minor cleanups (comment header, spacing) * Consistent friendica_docker_ldap_config path construction Why: fewer container execs ⇒ faster runs; idempotent key updates; consistent URL configuration across env and PHP config. Risk: requires WEB_PROTOCOL and domains|get_url to be defined in inventory/vars as elsewhere in the project. https://chatgpt.com/share/689b92af-b184-800f-9664-2450e00b29d6
This commit is contained in:
parent
b62df5599d
commit
94da112736
@ -1,23 +1,11 @@
|
||||
- name: Update DB host
|
||||
- name: Patch Friendica local.config.php (DB + system.url) in one pass
|
||||
command: >
|
||||
docker exec --user {{ friendica_user }} {{ friendica_container }}
|
||||
sed -ri "s/('hostname'\s*=>\s*')[^']*(',)/\1{{ database_host }}:{{ database_port }}\2/" {{ friendica_config_file }}
|
||||
notify: docker compose up
|
||||
|
||||
- name: Update DB name
|
||||
command: >
|
||||
docker exec --user {{ friendica_user }} {{ friendica_container }}
|
||||
sed -ri "s/('database'\s*=>\s*')[^']*(',)/\1{{ database_name }}\2/" {{ friendica_config_file }}
|
||||
notify: docker compose up
|
||||
|
||||
- name: Update DB user
|
||||
command: >
|
||||
docker exec --user {{ friendica_user }} {{ friendica_container }}
|
||||
sed -ri "s/('username'\s*=>\s*')[^']*(',)/\1{{ database_username }}\2/" {{ friendica_config_file }}
|
||||
notify: docker compose up
|
||||
|
||||
- name: Update DB password
|
||||
command: >
|
||||
docker exec --user {{ friendica_user }} {{ friendica_container }}
|
||||
sed -ri "s/('password'\s*=>\s*')[^']*(',)/\1{{ database_password }}\2/" {{ friendica_config_file }}
|
||||
sed -ri
|
||||
-e "s/('hostname'\s*=>\s*')[^']*(',)/\1{{ database_host }}:{{ database_port }}\2/"
|
||||
-e "s/('database'\s*=>\s*')[^']*(',)/\1{{ database_name }}\2/"
|
||||
-e "s/('username'\s*=>\s*')[^']*(',)/\1{{ database_username }}\2/"
|
||||
-e "s/('password'\s*=>\s*')[^']*(',)/\1{{ database_password }}\2/"
|
||||
-e "s#('url'\s*=>\s*')[^']*(',)#\1{{ domains | get_url(application_id, WEB_PROTOCOL) }}\2#"
|
||||
{{ friendica_config_file }}
|
||||
notify: docker compose up
|
||||
|
@ -1,25 +1,25 @@
|
||||
# The configuration options can be found here:
|
||||
# @see https://hub.docker.com/_/friendica
|
||||
|
||||
FRIENDICA_URL=https://{{domains | get_domain(application_id)}}
|
||||
FRIENDICA_URL={{ domains | get_url(application_id, WEB_PROTOCOL) }}
|
||||
HOSTNAME={{domains | get_domain(application_id)}}
|
||||
FRIENDICA_NO_VALIDATION={{friendica_no_validation | lower}}
|
||||
|
||||
|
||||
# Debugging
|
||||
FRIENDICA_DEBUGGING={% if enable_debug | bool %}true{% else %}false{% endif %}{{"\n"}}
|
||||
FRIENDICA_DEBUGGING={{ (enable_debug | bool) | lower }}{{"\n"}}
|
||||
FRIENDICA_LOGLEVEL={% if enable_debug | bool %}9{% else %}5{% endif %}{{"\n"}}
|
||||
FRIENDICA_LOGGER=syslog
|
||||
|
||||
# Database Configuration
|
||||
MYSQL_HOST= "{{database_host}}:{{database_port}}"
|
||||
MYSQL_DATABASE= {{database_name}}
|
||||
MYSQL_USER= {{database_username}}
|
||||
MYSQL_PASSWORD= {{database_password}}
|
||||
MYSQL_HOST= "{{ database_host }}:{{ database_port }}"
|
||||
MYSQL_DATABASE= {{ database_name }}
|
||||
MYSQL_USER= {{ database_username }}
|
||||
MYSQL_PASSWORD= {{ database_password }}
|
||||
|
||||
# Email Configuration
|
||||
SMTP= {{system_email.host}}
|
||||
SMTP_DOMAIN= {{system_email.domain}}
|
||||
SMTP_PORT= {{system_email.port}}
|
||||
SMTP= {{ system_email.host }}
|
||||
SMTP_DOMAIN= {{ system_email.domain }}
|
||||
SMTP_PORT= {{ system_email.port }}
|
||||
SMTP_AUTH_USER= {{ users['no-reply'].email }}
|
||||
SMTP_AUTH_PASS= {{ users['no-reply'].mailu_token }}
|
||||
SMTP_TLS= {{ 'on' if system_email.tls else 'off' }}
|
||||
|
@ -5,11 +5,11 @@ database_type: "mariadb"
|
||||
# Docker
|
||||
docker_compose_flush_handlers: false
|
||||
|
||||
# Friendica Specific
|
||||
# Friendica
|
||||
friendica_container: "friendica"
|
||||
friendica_no_validation: "{{ applications | get_app_conf(application_id, 'features.oidc', True) }}" # Email validation is not neccessary if OIDC is active
|
||||
friendica_application_base: "/var/www/html"
|
||||
friendica_docker_ldap_config: "{{friendica_application_base}}/config/ldapauth.config.php"
|
||||
friendica_docker_ldap_config: "{{ friendica_application_base }}/config/ldapauth.config.php"
|
||||
friendica_host_ldap_config: "{{ docker_compose.directories.volumes }}ldapauth.config.php"
|
||||
friendica_config_dir: "{{ friendica_application_base }}/config"
|
||||
friendica_config_file: "{{ friendica_config_dir }}/local.config.php"
|
||||
|
Loading…
x
Reference in New Issue
Block a user