From ff6acb038ebaa99b27f28834ad4a301a80287b06 Mon Sep 17 00:00:00 2001 From: Menno van Leeuwen Date: Mon, 17 Mar 2025 14:19:30 +0100 Subject: [PATCH] feat: remove .env.j2 file and update docker-compose.yml.j2 to use inline environment variables --- .../tasks/servers/services/seafile/.env.j2 | 29 -------- .../services/seafile/docker-compose.yml.j2 | 67 +++++++++---------- .../servers/services/seafile/seafile.yml | 7 +- 3 files changed, 34 insertions(+), 69 deletions(-) delete mode 100644 config/ansible/tasks/servers/services/seafile/.env.j2 diff --git a/config/ansible/tasks/servers/services/seafile/.env.j2 b/config/ansible/tasks/servers/services/seafile/.env.j2 deleted file mode 100644 index b94983a..0000000 --- a/config/ansible/tasks/servers/services/seafile/.env.j2 +++ /dev/null @@ -1,29 +0,0 @@ -SEAFILE_IMAGE={{ seafile_image | default('seafileltd/seafile-mc:12.0-latest') }} -SEAFILE_DB_IMAGE={{ seafile_db_image | default('mariadb:10.11') }} -SEAFILE_MEMCACHED_IMAGE={{ seafile_memcached_image | default('memcached:1.6.29') }} - -SEAFILE_VOLUME={{ seafile_volume | default('/opt/seafile-data') }} -SEAFILE_MYSQL_VOLUME={{ seafile_mysql_volume | default('/opt/seafile-mysql/db') }} - -SEAFILE_MYSQL_DB_HOST={{ seafile_mysql_db_host | default('db') }} -INIT_SEAFILE_MYSQL_ROOT_PASSWORD={{ seafile_mysql_root_password | default('ROOT_PASSWORD') }} -SEAFILE_MYSQL_DB_USER={{ seafile_mysql_db_user | default('seafile') }} -SEAFILE_MYSQL_DB_PASSWORD={{ seafile_mysql_db_password | default('PASSWORD') }} - -TIME_ZONE={{ time_zone | default('Europe/Amsterdam') }} - -JWT_PRIVATE_KEY={{ jwt_private_key | default('') }} - -SEAFILE_SERVER_HOSTNAME={{ seafile_server_hostname | default('sf.mvl.sh') }} -SEAFILE_SERVER_PROTOCOL={{ seafile_server_protocol | default('http') }} - -INIT_SEAFILE_ADMIN_EMAIL={{ seafile_admin_email | default('menno@vleeuwen.me') }} -INIT_SEAFILE_ADMIN_PASSWORD={{ seafile_admin_password | default('WIP123') }} - -SEADOC_IMAGE={{ seadoc_image | default('seafileltd/sdoc-server:1.0-latest') }} -SEADOC_VOLUME={{ seadoc_volume | default('/opt/seadoc-data') }} - -ENABLE_SEADOC={{ enable_seadoc | default('true') }} - -NOTIFICATION_SERVER_IMAGE={{ notification_server_image | default('seafileltd/notification-server:12.0-latest') }} -NOTIFICATION_SERVER_VOLUME={{ notification_server_volume | default('/opt/notification-data') }} diff --git a/config/ansible/tasks/servers/services/seafile/docker-compose.yml.j2 b/config/ansible/tasks/servers/services/seafile/docker-compose.yml.j2 index e8873b1..af8b72b 100644 --- a/config/ansible/tasks/servers/services/seafile/docker-compose.yml.j2 +++ b/config/ansible/tasks/servers/services/seafile/docker-compose.yml.j2 @@ -1,20 +1,20 @@ services: db: - image: ${SEAFILE_DB_IMAGE} + image: {{ seafile_db_image | default('mariadb:10.11') }} container_name: seafile-mysql environment: - - MYSQL_ROOT_PASSWORD=${INIT_SEAFILE_MYSQL_ROOT_PASSWORD} - - MYSQL_LOG_CONSOLE=true + MYSQL_ROOT_PASSWORD: {{ seafile_mysql_root_password | default('ROOT_PASSWORD') }} + MYSQL_USER: {{ seafile_mysql_db_user | default('seafile') }} + MYSQL_PASSWORD: {{ seafile_mysql_db_password | default('PASSWORD') }} + MYSQL_DATABASE: {{ seafile_mysql_db_name | default('seafile') }} volumes: - - ${SEAFILE_MYSQL_VOLUME}:/var/lib/mysql - env_file: - - {{seafile_service_dir }}/.env + - {{ seafile_mysql_volume | default('/opt/seafile-mysql/db') }}:/var/lib/mysql networks: - seafile-net restart: unless-stopped memcached: - image: ${SEAFILE_MEMCACHED_IMAGE} + image: {{ seafile_memcached_image | default('memcached:1.6.29') }} container_name: seafile-memcached entrypoint: memcached -m 256 networks: @@ -22,22 +22,20 @@ services: restart: unless-stopped seafile: - image: ${SEAFILE_IMAGE} + image: {{ seafile_image | default('seafileltd/seafile-mc:12.0-latest') }} container_name: seafile environment: - - DB_HOST=${SEAFILE_MYSQL_DB_HOST} - - DB_ROOT_PASSWD=${INIT_SEAFILE_MYSQL_ROOT_PASSWORD} - - TIME_ZONE=${TIME_ZONE} - - SEAFILE_ADMIN_EMAIL=${INIT_SEAFILE_ADMIN_EMAIL} - - SEAFILE_ADMIN_PASSWORD=${INIT_SEAFILE_ADMIN_PASSWORD} - - SEAFILE_SERVER_HOSTNAME=${SEAFILE_SERVER_HOSTNAME} + - DB_HOST={{ seafile_mysql_db_host | default('db') }} + - DB_ROOT_PASSWD={{ seafile_mysql_root_password | default('ROOT_PASSWORD') }} + - TIME_ZONE={{ time_zone | default('Europe/Amsterdam') }} + - SEAFILE_ADMIN_EMAIL={{ seafile_admin_email | default('menno@vleeuwen.me') }} + - SEAFILE_ADMIN_PASSWORD={{ seafile_admin_password | default('WIP123') }} + - SEAFILE_SERVER_HOSTNAME={{ seafile_server_hostname | default('sf.mvl.sh') }} - SEAFILE_SERVER_LETSENCRYPT=false - SEADRIVE_SERVER_LETSENCRYPT=false - - SEAFILE_SERVER_PROTOCOL=${SEAFILE_SERVER_PROTOCOL} + - SEAFILE_SERVER_PROTOCOL={{ seafile_server_protocol | default('http') }} volumes: - - ${SEAFILE_VOLUME}:/shared - env_file: - - {{seafile_service_dir }}/.env + - {{ seafile_volume | default('/opt/seafile-data') }}:/shared networks: - seafile-net - caddy_network @@ -51,17 +49,15 @@ services: - memcached notification-server: - image: ${NOTIFICATION_SERVER_IMAGE} + image: {{ notification_server_image | default('seafileltd/notification-server:12.0-latest') }} container_name: notification-server environment: - - DB_HOST=${SEAFILE_MYSQL_DB_HOST} - - DB_ROOT_PASSWD=${INIT_SEAFILE_MYSQL_ROOT_PASSWORD} - - TIME_ZONE=${TIME_ZONE} - env_file: - - {{seafile_service_dir }}/.env + - DB_HOST={{ seafile_mysql_db_host | default('db') }} + - DB_ROOT_PASSWD={{ seafile_mysql_root_password | default('ROOT_PASSWORD') }} + - TIME_ZONE={{ time_zone | default('Europe/Amsterdam') }} volumes: - - ${NOTIFICATION_SERVER_VOLUME}:/shared - - ${SEAFILE_VOLUME}:/shared/seafile + - {{ notification_server_volume | default('/opt/notification-data') }}:/shared + - {{ seafile_volume | default('/opt/seafile-data') }}:/shared/seafile networks: - seafile-net - caddy_network @@ -71,18 +67,16 @@ services: restart: unless-stopped seadoc-server: - image: ${SEADOC_IMAGE} + image: {{ seadoc_image | default('seafileltd/sdoc-server:1.0-latest') }} container_name: seadoc-server environment: - - DB_HOST=${SEAFILE_MYSQL_DB_HOST} - - DB_ROOT_PASSWD=${INIT_SEAFILE_MYSQL_ROOT_PASSWORD} - - TIME_ZONE=${TIME_ZONE} - - JWT_PRIVATE_KEY=${JWT_PRIVATE_KEY} + - DB_HOST={{ seafile_mysql_db_host | default('db') }} + - DB_ROOT_PASSWD={{ seafile_mysql_root_password | default('ROOT_PASSWORD') }} + - TIME_ZONE={{ time_zone | default('Europe/Amsterdam') }} + - JWT_PRIVATE_KEY={{ jwt_private_key | default('') }} volumes: - - ${SEADOC_VOLUME}:/shared - - ${SEAFILE_VOLUME}:/shared/seafile - env_file: - - {{seafile_service_dir }}/.env + - {{ seadoc_volume | default('/opt/seadoc-data') }}:/shared + - {{ seafile_volume | default('/opt/seafile-data') }}:/shared/seafile networks: - seafile-net - caddy_network @@ -90,6 +84,9 @@ services: - db - seafile restart: unless-stopped + {% if enable_seadoc | default('true') != 'true' %} + profiles: ["disabled"] + {% endif %} networks: seafile-net: diff --git a/config/ansible/tasks/servers/services/seafile/seafile.yml b/config/ansible/tasks/servers/services/seafile/seafile.yml index 0431cfe..8b07514 100644 --- a/config/ansible/tasks/servers/services/seafile/seafile.yml +++ b/config/ansible/tasks/servers/services/seafile/seafile.yml @@ -56,12 +56,9 @@ - name: Deploy Seafile configuration files ansible.builtin.template: - src: "{{ item }}" - dest: "{{ seafile_service_dir }}/{{ item | replace('.j2', '') }}" + src: docker-compose.yml.j2 + dest: "{{ plex_service_dir }}/docker-compose.yml" mode: "0644" - loop: - - docker-compose.yml.j2 - - .env.j2 register: seafile_configs - name: Stop Seafile service