From 031af00b24c55b75947925db94401e02678e2123 Mon Sep 17 00:00:00 2001 From: Long Nguyen Date: Wed, 21 Apr 2021 07:05:39 +0700 Subject: [PATCH] Add Seafile (#390) * Add Seafile * chore: add seafile logo & format --- public/v4/apps/seafile.yml | 74 ++++++++++++++++++++++++++++++++++++ public/v4/logos/seafile.png | Bin 0 -> 13557 bytes 2 files changed, 74 insertions(+) create mode 100644 public/v4/apps/seafile.yml create mode 100644 public/v4/logos/seafile.png diff --git a/public/v4/apps/seafile.yml b/public/v4/apps/seafile.yml new file mode 100644 index 0000000..f5e6aff --- /dev/null +++ b/public/v4/apps/seafile.yml @@ -0,0 +1,74 @@ +captainVersion: 4 +services: + $$cap_appname-db: + image: 'mariadb:$$cap_mariadb_version' + environment: + MYSQL_ROOT_PASSWORD: $$cap_mariadb_root_passwd + volumes: + - '$$cap_appname-db-data:/var/lib/mysql' + networks: + - seafile-net + caproverExtra: + notExposeAsWebApp: true + $$cap_appname-memcached: + image: 'memcached:$$cap_memcached_version' + entrypoint: memcached -m 256 + networks: + - seafile-net + caproverExtra: + notExposeAsWebApp: true + $$cap_appname-seafile: + image: 'seafileltd/seafile-mc:$$cap_seafile_version' + volumes: + - '$$cap_appname-seafile-data:/shared' + environment: + DB_HOST: srv-captain--$$cap_appname-db + DB_ROOT_PASSWD: $$cap_mariadb_root_passwd + TIME_ZONE: $cap_timezone + SEAFILE_ADMIN_EMAIL: $$cap_seafile_admin_email + SEAFILE_ADMIN_PASSWORD: $$cap_seafile_admin_password + depends_on: + $$cap_appname-db: + condition: service_healthy + $$capp_appname-memcached: + condition: service_healthy + networks: + - seafile-net +caproverOneClickApp: + variables: + - id: $$cap_seafile_version + label: Seafile Version + defaultValue: 8.0.4 + - id: $$cap_memcached_version + label: Memcached Version + defaultValue: 1.5.6 + - id: $$cap_mariadb_version + label: MariaDB Version + defaultValue: '10.5' + - id: $$cap_mariadb_root_passwd + label: MariaDB Root Password + defaultValue: zR5oZ2gN + - id: $$cap_seafile_admin_email + label: Seafile Admin Email + defaultValue: admin@localhost + - id: $$cap_seafile_admin_password + label: Seafile Admin Password + defaultValue: xL2kX7iW + - id: $cap_timezone + label: Seafile Time zone + defaultValue: Asia/Ho_Chi_Minh + instructions: + start: >- + Seafile is an open source cloud storage system with file encryption and + group sharing. For more info visit https://www.seafile.com/ + end: |- + Seafile has been successfully deployed! + App is available as http://$$cap_appname.$$cap_root_domain + displayName: Seafile + isOfficial: false + description: >- + Seafile is an open source cloud storage system with file encryption and + group sharing. + documentation: >- + This docker-compose is taken from + https://manual.seafile.com/docker/deploy%20seafile%20with%20docker/ diff --git a/public/v4/logos/seafile.png b/public/v4/logos/seafile.png new file mode 100644 index 0000000000000000000000000000000000000000..6a13266b64ef7cefcf8c5929a6c3a199a932bf7c GIT binary patch literal 13557 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