From 10c755775de6cee6b542d3ccf30b713a713540b9 Mon Sep 17 00:00:00 2001 From: Menno van Leeuwen Date: Mon, 17 Mar 2025 15:40:12 +0100 Subject: [PATCH] feat: remove Seadoc server configuration and replace with OnlyOffice in Docker Compose setup --- .../tasks/servers/services/caddy/Caddyfile.j2 | 40 +++---------------- .../services/seafile/docker-compose.yml.j2 | 29 +++++--------- .../servers/services/seafile/seafile.yml | 6 --- 3 files changed, 14 insertions(+), 61 deletions(-) diff --git a/config/ansible/tasks/servers/services/caddy/Caddyfile.j2 b/config/ansible/tasks/servers/services/caddy/Caddyfile.j2 index 3db92c4..3ee90b7 100644 --- a/config/ansible/tasks/servers/services/caddy/Caddyfile.j2 +++ b/config/ansible/tasks/servers/services/caddy/Caddyfile.j2 @@ -25,40 +25,10 @@ status.vleeuwen.me status.mvl.sh { sf.mvl.sh { reverse_proxy seafile:80 - - handle /sdoc-server/* { - uri strip_prefix /sdoc-server - reverse_proxy seafile:80 { - header_up Host {host} - header_up X-Real-IP {remote_host} - header_up X-Forwarded-For {remote_host} - header_up X-Forwarded-Host {host} - header_up X-Forwarded-Proto {scheme} - } - } - - handle /socket.io* { - reverse_proxy seafile:80 { - header_up Host {host} - header_up X-Real-IP {remote_host} - header_up X-Forwarded-For {remote_host} - header_up X-Forwarded-Proto {scheme} - header_up X-Forwarded-Host {host} - - transport http { - versions h1 h2c - } - } - } - - handle_path /* { - reverse_proxy seafile:80 - } - tls {{ caddy_email }} - - # Set maximum upload size - request_body { - max_size 100MB - } +} + +sf.mvl.sh:6233 { + reverse_proxy onlyoffice:6233 + tls {{ caddy_email }} } 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 4aae85a..ea9a0fc 100644 --- a/config/ansible/tasks/servers/services/seafile/docker-compose.yml.j2 +++ b/config/ansible/tasks/servers/services/seafile/docker-compose.yml.j2 @@ -35,8 +35,7 @@ services: - SEADRIVE_SERVER_LETSENCRYPT=false - SEAFILE_SERVER_PROTOCOL={{ seafile_server_protocol | default('http') }} - JWT_PRIVATE_KEY={{ jwt_private_key | default('') }} - - SEADOC_SERVER_URL=https://sf.mvl.sh/sdoc-server - - ENABLE_SEADOC=true + - ENABLE_SEADOC=false volumes: - {{ seafile_volume | default('/opt/seafile-data') }}:/shared networks: @@ -69,29 +68,19 @@ services: - seafile restart: unless-stopped - seadoc-server: - image: {{ seadoc_image | default('seafileltd/sdoc-server:1.0-latest') }} - container_name: seadoc-server + onlyoffice: + image: onlyoffice/documentserver:8.3.1.1 + restart: unless-stopped environment: - - DB_HOST={{ seafile_mysql_db_host | default('db') }} - - DB_USER={{ seafile_mysql_db_user | default('seafile') }} - - DB_PORT=${SEAFILE_MYSQL_DB_PORT:-3306} - - DB_ROOT_PASSWD={{ seafile_mysql_root_password | default('ROOT_PASSWORD') }} - - DB_PASSWORD={{ seafile_mysql_db_password | default('PASSWORD') }} - - DB_NAME={{ seafile_mysql_db_name | default('seafile') }} - - TIME_ZONE={{ time_zone | default('Europe/Amsterdam') }} - - JWT_PRIVATE_KEY={{ jwt_private_key | default('') }} - - SEAHUB_SERVICE_URL=https://sf.mvl.sh + - JWT_ENABLED=true + - JWT_SECRET={{ jwt_private_key | default('') }} volumes: - - {{ seadoc_volume | default('/opt/seadoc-data') }}:/shared - - {{ seafile_volume | default('/opt/seafile-data') }}:/shared/seafile + - {{ seafile_data_dir }}/onlyoffice/logs:/var/log/onlyoffice + - {{ seafile_data_dir }}/onlyoffice/data:/var/www/onlyoffice/Data + - {{ seafile_data_dir }}/onlyoffice/lib:/var/lib/onlyoffice networks: - seafile-net - caddy_network - depends_on: - - db - - seafile - restart: unless-stopped networks: seafile-net: diff --git a/config/ansible/tasks/servers/services/seafile/seafile.yml b/config/ansible/tasks/servers/services/seafile/seafile.yml index 6f7302a..8b77af1 100644 --- a/config/ansible/tasks/servers/services/seafile/seafile.yml +++ b/config/ansible/tasks/servers/services/seafile/seafile.yml @@ -12,13 +12,11 @@ seafile_image: "seafileltd/seafile-mc:12.0-latest" seafile_db_image: "mariadb:10.11" seafile_memcached_image: "memcached:1.6.29" - seadoc_image: "seafileltd/sdoc-server:1.0-latest" notification_server_image: "seafileltd/notification-server:12.0-latest" # Volume paths seafile_volume: "{{ seafile_data_dir }}/seafile-data" seafile_mysql_volume: "{{ seafile_data_dir }}/seafile-mysql/db" - seadoc_volume: "{{ seafile_data_dir }}/seadoc-data" notification_server_volume: "{{ seafile_data_dir }}/notification-data" # Database settings @@ -37,9 +35,6 @@ seafile_admin_email: "menno@vleeuwen.me" seafile_admin_password: "{{ lookup('community.general.onepassword', 'bbzudwdo3byqs4pscd2wy7qsn4', vault='j7nmhqlsjmp2r6umly5t75hzb4', field='password') }}" - # Features - enable_seadoc: "true" - - name: Create Seafile directories ansible.builtin.file: path: "{{ seafile_dir }}" @@ -50,7 +45,6 @@ - "{{ seafile_service_dir }}" - "{{ notification_server_volume }}/logs" - "{{ seafile_volume }}/logs" - - "{{ seadoc_volume }}/logs" loop_control: loop_var: seafile_dir