feat: add Seafile service deployment and configuration with Caddy integration
Some checks failed
Ansible Lint Check / check-ansible (push) Failing after 17s
Nix Format Check / check-format (push) Successful in 57s
Python Lint Check / check-python (push) Failing after 13s

This commit is contained in:
2025-03-17 13:41:22 +01:00
parent e1dec22136
commit 9386a6d00c
6 changed files with 179 additions and 27 deletions

View File

@@ -1,47 +1,68 @@
version: '3.8'
services:
db:
image: mariadb:10.11
image: ${SEAFILE_DB_IMAGE}
container_name: seafile-mysql
environment:
- MYSQL_ROOT_PASSWORD={{ lookup('community.general.onepassword', 'bbzudwdo3byqs4pscd2wy7qsn4', vault='j7nmhqlsjmp2r6umly5t75hzb4', field='MYSQL_ROOT_PASSWORD') }}
- MYSQL_ROOT_PASSWORD=${INIT_SEAFILE_MYSQL_ROOT_PASSWORD}
- MYSQL_LOG_CONSOLE=true
- MARIADB_AUTO_UPGRADE=1
volumes:
- {{ seafile_data_dir }}/db:/var/lib/mysql
- ${SEAFILE_MYSQL_VOLUME}:/var/lib/mysql
networks:
- seafile-net
- caddy_default
restart: unless-stopped
memcached:
image: memcached:1.6.18
image: ${SEAFILE_MEMCACHED_IMAGE}
container_name: seafile-memcached
entrypoint: memcached -m 256
networks:
- seafile-net
restart: unless-stopped
seafile:
image: seafileltd/seafile-mc:11.0-latest
ports:
- "8001:80"
volumes:
- {{ seafile_data_dir }}/shared:/shared
image: ${SEAFILE_IMAGE}
container_name: seafile
environment:
- DB_HOST=db
- DB_ROOT_PASSWD={{ lookup('community.general.onepassword', 'bbzudwdo3byqs4pscd2wy7qsn4', vault='j7nmhqlsjmp2r6umly5t75hzb4', field='MYSQL_ROOT_PASSWORD') }}
- TIME_ZONE=Europe/Amsterdam
- SEAFILE_ADMIN_EMAIL=menno@vleeuwen.me
- SEAFILE_ADMIN_PASSWORD={{ lookup('community.general.onepassword', 'bbzudwdo3byqs4pscd2wy7qsn4', vault='j7nmhqlsjmp2r6umly5t75hzb4', field='password') }}
- 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}
- SEAFILE_SERVER_LETSENCRYPT=false
- SEAFILE_SERVER_HOSTNAME=sf.mvl.sh:8001
- SEADRIVE_SERVER_LETSENCRYPT=false
- SEAFILE_SERVER_PROTOCOL=${SEAFILE_SERVER_PROTOCOL}
volumes:
- ${SEAFILE_VOLUME}:/shared
networks:
- seafile-net
- caddy_default
restart: unless-stopped
depends_on:
- db
- memcached
notification-server:
image: ${NOTIFICATION_SERVER_IMAGE}
container_name: notification-server
environment:
- DB_HOST=${SEAFILE_MYSQL_DB_HOST}
- DB_ROOT_PASSWD=${INIT_SEAFILE_MYSQL_ROOT_PASSWORD}
- TIME_ZONE=${TIME_ZONE}
volumes:
- ${NOTIFICATION_SERVER_VOLUME}:/shared
- ${SEAFILE_VOLUME}:/shared/seafile
networks:
- seafile-net
- caddy_network
depends_on:
- db
- seafile
restart: unless-stopped
networks:
seafile-net:
caddy_network:
caddy_default:
external: true
name: caddy_default