Merge branch 'master' of github.com:kevinveenbirkenbach/cymais

This commit is contained in:
Kevin Veen-Birkenbach 2025-01-28 19:58:56 +01:00
commit 13429d8e68
19 changed files with 62 additions and 32 deletions

View File

@ -232,6 +232,9 @@ bluesky_pds_version: "latest"
#### Friendica
friendica_version: "latest"
#### Funkwhale
funkwhale_version: "1.4.0"
#### Gitea
gitea_version: "latest"

View File

@ -12,7 +12,7 @@ EMAIL_SMTP_USE_TLS={{ system_email_tls | upper }}
DATABASE_USER={{ database_username }}
DATABASE_NAME={{ database_name }}
DATABASE_HOST={{ database_host }}
DATABASE_PORT=5432
DATABASE_PORT={{database_port}}
DATABASE_PASSWORD={{ database_password }}
REDIS_URL=redis://redis:6379

View File

@ -37,7 +37,7 @@ services:
FRIENDICA_LOGFILE: php://stdout
# Database Configuration
MYSQL_HOST: {{database_host}}:3306
MYSQL_HOST: "{{database_host}}:{{database_port}}"
MYSQL_DATABASE: {{database_name}}
MYSQL_USER: {{database_username}}
MYSQL_PASSWORD: {{database_password}}

View File

@ -1,8 +1,18 @@
services:
{% include 'templates/docker/services/' + database_type + '.yml.j2' %}
{% include 'templates/docker/services/redis.yml.j2' %}
celeryworker:
# Celery workers handle background tasks (such file imports or federation
# messaging). The more processes a worker gets, the more tasks
# can be processed in parallel. However, more processes also means
# a bigger memory footprint.
# By default, a worker will span a number of process equal to your number
# of CPUs. You can adjust this, by explicitly setting the --concurrency
# flag:
# celery -A funkwhale_api.taskapp worker -l INFO --concurrency=4
restart: {{docker_restart_policy}}
image: funkwhale/api:${FUNKWHALE_VERSION:-latest}
env_file: .env
@ -11,10 +21,10 @@ services:
- C_FORCE_ROOT=true
volumes:
- "data:${MEDIA_ROOT}"
- "music:${MUSIC_DIRECTORY_PATH}:ro"
{% include 'templates/docker/container/depends-on-database-redis.yml.j2' %}
{% include 'templates/docker/container/networks.yml.j2' %}
celerybeat:
restart: {{docker_restart_policy}}
image: funkwhale/api:${FUNKWHALE_VERSION:-latest}
@ -26,11 +36,11 @@ services:
api:
restart: {{docker_restart_policy}}
image: funkwhale/api:${FUNKWHALE_VERSION:-latest}
depends_on:
env_file: .env
volumes:
- "music:${MUSIC_DIRECTORY_PATH}:ro"
- "data:${MEDIA_ROOT}"
#- "${STATIC_ROOT}:${STATIC_ROOT}"
- "static_root:${STATIC_ROOT}"
ports:
- "5000"
{% include 'templates/docker/container/depends-on-database-redis.yml.j2' %}
@ -54,8 +64,21 @@ services:
- "${FUNKWHALE_API_IP}:${FUNKWHALE_API_PORT}:80"
{% include 'templates/docker/container/networks.yml.j2' %}
typesense:
restart: {{docker_restart_policy}}
env_file:
- .env
image: typesense/typesense:0.24.0
volumes:
- ./typesense/data:/data
command: --data-dir /data --enable-cors
profiles:
- typesense
{% include 'templates/docker/compose/volumes.yml.j2' %}
data:
static_root:
redis:
music:
{% include 'templates/docker/compose/networks.yml.j2' %}

View File

@ -16,6 +16,7 @@
#
# Docker only
# -----------
MUSIC_DIRECTORY_PATH=/music
FUNKWHALE_VERSION={{funkwhale_version}}
@ -52,14 +53,14 @@ LOGLEVEL=error
# (returns `noreply%40youremail.host`)
# EMAIL_CONFIG=smtp://user:password@youremail.host:25
# EMAIL_CONFIG=smtp+ssl://user:password@youremail.host:465
# EMAIL_CONFIG=smtp+tls://user:password@youremail.host:{{system_email_smtp_port}}
EMAIL_CONFIG=smtp+tls://{{system_email_local}}:{{system_email_password}}@{{system_email_host}}:{{system_email_smtp_port}}
# Make e-mail verification mandatory before using the service
# Doesn't apply to admins.
# ACCOUNT_EMAIL_VERIFICATION_ENFORCE=false
# The e-mail address to use to send system e-mails.
# DEFAULT_FROM_EMAIL=noreply@yourdomain
DEFAULT_FROM_EMAIL={{system_email_from}}
# Depending on the reverse proxy used in front of your funkwhale instance,
# the API will use different kind of headers to serve audio files
@ -110,3 +111,5 @@ FUNKWHALE_FRONTEND_PATH=/srv/funkwhale/front/dist
# Nginx related configuration
NGINX_MAX_BODY_SIZE=100M
DATABASE_URL = postgresql://{{database_username}}:{{database_password}}@{{database_host}}:{{database_port}}/{{ database_name }}

View File

@ -11,7 +11,7 @@ services:
- USER_UID=1000
- USER_GID=1000
- DB_TYPE=mysql
- DB_HOST={{database_host}}:3306
- DB_HOST={{database_host}}:{{database_port}}
- DB_NAME={{database_name}}
- DB_USER={{database_username}}
- DB_PASSWD={{database_password}}

View File

@ -16,7 +16,7 @@ services:
gitlab_rails['db_adapter'] = 'postgresql'
gitlab_rails['db_encoding'] = 'utf8'
gitlab_rails['db_host'] = '{{database_host}}'
gitlab_rails['db_port'] = 5432
gitlab_rails['db_port'] = '{{database_port}}''
gitlab_rails['db_username'] = '{{database_username}}'
gitlab_rails['db_password'] = '{{database_password}}'
gitlab_rails['db_database'] = "{{database_name}}"

View File

@ -7,7 +7,7 @@ services:
logging:
driver: journald
environment:
JOOMLA_DB_HOST: "{{database_host}}:3306"
JOOMLA_DB_HOST: "{{database_host}}:{{database_port}}"
JOOMLA_DB_USER: "{{database_username}}"
JOOMLA_DB_PASSWORD: "{{database_password}}"
JOOMLA_DB_NAME: "{{database_name}}"

View File

@ -16,7 +16,7 @@ address = "0.0.0.0:9000"
# Database.
[db]
host = "{{database_host}}"
port = 5432
port = {{database_port}}
user = "{{database_username}}"
password = "{{database_password}}"

View File

@ -17,7 +17,7 @@
volumes:
- central_mariadb_database:/var/lib/mysql
published_ports:
- "127.0.0.1:3306:3306" # can be that this will be removed if all applications use sockets
- "127.0.0.1:{{database_port}}:3306" # can be that this will be removed if all applications use sockets
command: "--transaction-isolation=READ-COMMITTED --binlog-format=ROW" #for nextcloud
restart_policy: "{{docker_restart_policy}}"
healthcheck:
@ -46,7 +46,7 @@
login_user: root
login_password: "{{ central_mariadb_root_password }}"
login_host: 127.0.0.1
login_port: 3306
login_port: "{{database_port}}"
- name: "Create database user: {{ database_username }}"
mysql_user:
@ -58,7 +58,7 @@
login_user: root
login_password: "{{central_mariadb_root_password}}"
login_host: 127.0.0.1
login_port: 3306
login_port: "{{database_port}}"
- name: Grant database privileges
ansible.builtin.shell:

View File

@ -7,7 +7,7 @@ VAPID_PRIVATE_KEY={{mastodon_vapid_private_key}}
VAPID_PUBLIC_KEY={{mastodon_vapid_public_key}}
DB_HOST={{database_host}}
DB_PORT=5432
DB_PORT={{database_port}}
DB_NAME={{database_name}}
DB_USER={{database_username}}
DB_PASS={{database_password}}

View File

@ -10,7 +10,7 @@ services:
ports:
- "127.0.0.1:{{http_port}}:80"
environment:
MATOMO_DATABASE_HOST: "{{database_host}}:3306"
MATOMO_DATABASE_HOST: "{{database_host}}:{{database_port}}"
MATOMO_DATABASE_ADAPTER: "mysql"
MATOMO_DATABASE_USERNAME: "{{database_username}}"
MATOMO_DATABASE_PASSWORD: "{{database_password}}"

View File

@ -10,7 +10,7 @@ services:
driver: journald
environment:
- MOODLE_DATABASE_HOST={{database_host}}
- MOODLE_DATABASE_PORT_NUMBER=3306
- MOODLE_DATABASE_PORT_NUMBER={{database_port}}
- MOODLE_DATABASE_USER={{database_username}}
- MOODLE_DATABASE_NAME={{database_name}}
- MOODLE_DATABASE_PASSWORD={{database_password}}

View File

@ -19,7 +19,7 @@ services:
MYSQL_DATABASE: "{{database_name}}"
MYSQL_USER: "{{database_username}}"
MYSQL_PASSWORD: "{{database_password}}"
MYSQL_HOST: {{database_host}}:3306
MYSQL_HOST: "{{database_host}}:{{database_port}}"
# Memory
PHP_MEMORY_LIMIT: 1G # Required for plugin duplicate finder

View File

@ -61,7 +61,7 @@ DB_CONNECTION=mysql
DB_DATABASE={{database_name}}
DB_HOST={{database_host}}
DB_PASSWORD="{{pixelfed_database_password}}"
DB_PORT=3306
DB_PORT="{{database_port}}"
DB_USERNAME={{database_username}}
## Cache (Redis)

View File

@ -15,7 +15,7 @@
networks:
- name: central_postgres
published_ports:
- "127.0.0.1:5432:5432"
- "127.0.0.1:{{database_port}}:5432"
volumes:
- central_postgres_database:/var/lib/postgresql/data
restart_policy: "{{docker_restart_policy}}"
@ -46,7 +46,7 @@
login_user: postgres
login_password: "{{ central_postgres_password }}"
login_host: 127.0.0.1
login_port: 5432
login_port: "{{database_port}}"
- name: "Create database user: {{ database_username }}"
postgresql_user:
@ -57,7 +57,7 @@
login_user: postgres
login_password: "{{ central_postgres_password }}"
login_host: 127.0.0.1
login_port: 5432
login_port: "{{database_port}}"
- name: "Set privileges for database user: {{ database_username }}"
postgresql_privs:
@ -70,7 +70,7 @@
login_user: postgres
login_password: "{{ central_postgres_password }}"
login_host: 127.0.0.1
login_port: 5432
login_port: "{{database_port}}"
- name: Grant all privileges at the database level
postgresql_privs:
@ -82,7 +82,7 @@
login_user: postgres
login_password: "{{ central_postgres_password }}"
login_host: 127.0.0.1
login_port: 5432
login_port: "{{database_port}}"
- name: Grant all privileges on all tables in the public schema
postgresql_privs:
@ -96,7 +96,7 @@
login_user: postgres
login_password: "{{ central_postgres_password }}"
login_host: 127.0.0.1
login_port: 5432
login_port: "{{database_port}}"
- name: Set comprehensive privileges for user on public schema
postgresql_query:
@ -104,7 +104,7 @@
login_user: postgres
login_password: "{{ central_postgres_password }}"
login_host: 127.0.0.1
login_port: 5432
login_port: "{{database_port}}"
query: |
GRANT USAGE ON SCHEMA public TO {{ database_username }};
GRANT CREATE ON SCHEMA public TO {{ database_username }};

View File

@ -13,7 +13,7 @@ services:
ports:
- "127.0.0.1:{{http_port}}:80"
environment:
WORDPRESS_DB_HOST: "{{database_host}}:3306"
WORDPRESS_DB_HOST: "{{database_host}}:{{database_port}}"
WORDPRESS_DB_USER: "{{database_username}}"
WORDPRESS_DB_PASSWORD: "{{database_password}}"
WORDPRESS_DB_NAME: "{{database_name}}"

View File

@ -1,4 +1,4 @@
# The following parameters need to be based:
# The following parameters need to be pased:
#
# - database_instance
# - database_name

View File

@ -2,3 +2,4 @@ database_instance: "{{ 'central-' + database_type if enable_cen
database_host: "{{ 'central-' + database_type if enable_central_database | bool else 'database' }}"
database_name: "{{ docker_compose_project_name }}"
database_username: "{{ docker_compose_project_name }}"
database_port: "{{ 3306 if database_type == 'mariadb' else 5432 }}"