Українська
Почати

← Усі шаблони · Файли та документи

Задеплойте Seafile в один клік

Синхронізація файлів і спільний доступ до них: бібліотеки синхронізуються з вашими комп’ютерами й телефонами, з історією та посиланнями

Альтернатива Dropbox і Google Drive на вашій машині.

Що таке Seafile?

Seafile — програма з відкритим кодом для синхронізації файлів і спільного доступу до них, яку використовують замість Dropbox або Google Drive. Файли живуть у бібліотеках: кожна синхронізується з настільним застосунком для Windows, macOS і Linux, а застосунки для iOS та Android дають переглядати файли й завантажувати нові. Seafile зберігає історію кожного файлу, тож попередня версія чи видалений файл повертаються, а бібліотеку можна зашифрувати окремим паролем, і тоді сервер зберігає лише те, чого не може прочитати.

Бібліотеками діляться з користувачами й групами, лише для читання або для редагування, а загальнодоступне посилання відкриває файл чи папку будь-кому, за бажання з паролем і терміном дії; посилання з правами запису дає іншим скинути туди файли. Seafile відомий тим, що швидко синхронізує велику кількість файлів: він передає лише ті блоки файлу, які змінилися.

Цей шаблон запускає редакцію Community з офіційного образу Seafile версії 14.0, з MariaDB і кешем Redis. Під час першого запуску створюються бази даних і адміністратор із поштою й паролем, які ви вказали; реєстрація лишається вимкненою. SeaDoc, онлайн-редактор документів Seafile, а також сервери сповіщень і метаданих Seafile до шаблону не входять.

Хостинг Seafile на Pethost

  1. Ви входите в Pethost — з ключем доступу, через GitHub або Google. Машини ще немає? Ви обираєте тариф, і посилання чекає, доки машина не буде готова.
  2. Вікно «Новий проєкт» відкривається на застосунку Seafile. Ви заповнюєте те, що він просить, і натискаєте «Створити проєкт»: Електронна пошта, Пароль адміністратора.
  3. За хвилину-дві Seafile працює за власною адресою з HTTPS. Секрети створюються випадково, а дані потрапляють у щонічний бекап.
  4. Це проєкт як будь-який інший: ви або ваш агент можете його змінити, відкотити або відновити.

Питання про Seafile

Seafile безкоштовний і з відкритим кодом?

Так. Редакція Community Seafile має відкритий код: сервер — за ліцензією AGPL-3.0, а його вебінтерфейс Seahub — за Apache License 2.0. Seafile Ltd. також продає редакцію Professional з функціями для більших організацій.

Seafile чи Nextcloud: що обрати?

Seafile робить одне: синхронізує файли й дає до них спільний доступ. Він відомий швидкою синхронізацією за невеликих витрат пам’яті. Nextcloud — більший пакет програм, з календарем, контактами, офісом і багатьма застосунками навколо файлів, і йому потрібно більше ресурсів.

Чи шифрує Seafile мої файли?

Уміє. Зашифровану бібліотеку шифрують на вашому комп’ютері паролем, який ви обираєте, а сервер зберігає лише зашифровані блоки. Без пароля файли не прочитає навіть адміністратор сервера.

Які застосунки працюють із Seafile?

Офіційний настільний клієнт синхронізації Seafile для Windows, macOS і Linux; SeaDrive, який показує бібліотеки як мережевий диск, не звантажуючи їх заздалегідь; і застосунки Seafile для iOS та Android. Кожен із них підключається до адреси сервера й входить у ваш акаунт.

Чи можна повернути в Seafile видалений або старіший файл?

Так. Кожна бібліотека зберігає історію своїх файлів: пункт «Історія» в меню файлу показує його попередні версії, а кошик бібліотеки зберігає видалені файли й папки, щоб їх можна було відновити. Скільки зберігати історію, задається для кожної бібліотеки окремо.

Скільки пам’яті й диска потрібно Seafile?

Seafile займає близько 750 MB пам’яті разом із MariaDB і своїм кешем; ваші файли займають стільки, скільки важать, плюс їхня історія. На Pethost йому вистачить тарифу Starter, і поруч залишиться місце для інших застосунків.

Seafile: файл Docker Compose

Шаблон — це цей compose.yaml і змінні, які записуються в .env проєкту під час його створення. Pethost запускає файл так, як його написано.

Контейнери: seafile (seafileltd/seafile-mc:14.0-latest), db (mariadb:10.11), redis (redis:8-alpine).

Томи, у щонічному бекапі: data, db.

services:
  seafile:
    image: seafileltd/seafile-mc:14.0-latest
    restart: unless-stopped
    environment:
      SEAFILE_SERVER_HOSTNAME: ${HOST}
      # HTTPS ends at the machine's proxy: Seafile writes https:// into its links.
      SEAFILE_SERVER_PROTOCOL: https
      SITE_ROOT: /
      CSRF_TRUSTED_ORIGINS: ${URL}
      JWT_PRIVATE_KEY: ${JWT_PRIVATE_KEY}
      TIME_ZONE: Etc/UTC
      SEAFILE_MYSQL_DB_HOST: db
      SEAFILE_MYSQL_DB_PORT: "3306"
      SEAFILE_MYSQL_DB_USER: seafile
      SEAFILE_MYSQL_DB_PASSWORD: ${DB_PASSWORD}
      SEAFILE_MYSQL_DB_CCNET_DB_NAME: ccnet_db
      SEAFILE_MYSQL_DB_SEAFILE_DB_NAME: seafile_db
      SEAFILE_MYSQL_DB_SEAHUB_DB_NAME: seahub_db
      # The first start makes the databases with MariaDB's root, and the admin from the fields;
      # later starts read neither. Seafile has no sign-up unless an admin turns it on.
      INIT_SEAFILE_MYSQL_ROOT_PASSWORD: ${DB_ROOT_PASSWORD}
      INIT_SEAFILE_ADMIN_EMAIL: ${ADMIN_EMAIL}
      INIT_SEAFILE_ADMIN_PASSWORD: ${ADMIN_PASSWORD}
      CACHE_PROVIDER: redis
      REDIS_HOST: redis
      REDIS_PORT: "6379"
      REDIS_PASSWORD: ""
      ENABLE_GO_FILESERVER: "true"
      # SeaDoc, the notification server and the metadata server run as containers of their own,
      # which this template leaves out.
      ENABLE_SEADOC: "false"
      ENABLE_NOTIFICATION_SERVER: "false"
      ENABLE_METADATA_MANAGEMENT: "false"
      ENABLE_SEAFDAV: "false"
      NON_ROOT: "false"
      SEAFILE_LOG_TO_STDOUT: "true"
    volumes:
      - data:/shared
    healthcheck:
      test: ["CMD-SHELL", "curl -fsS -o /dev/null http://localhost:80/api2/ping/"]
      interval: 15s
      timeout: 10s
      retries: 20
      start_period: 120s
    depends_on:
      db:
        condition: service_healthy
      redis:
        condition: service_started

  db:
    image: mariadb:10.11
    restart: unless-stopped
    environment:
      MARIADB_ROOT_PASSWORD: ${DB_ROOT_PASSWORD}
      MARIADB_AUTO_UPGRADE: "1"
    volumes:
      - db:/var/lib/mysql
    healthcheck:
      test: ["CMD", "healthcheck.sh", "--connect", "--innodb_initialized"]
      interval: 10s
      timeout: 5s
      retries: 20
      start_period: 30s

  # Seafile's cache: nothing in it is kept.
  redis:
    image: redis:8-alpine
    restart: unless-stopped
    command: ["redis-server", "--save", "", "--appendonly", "no", "--maxmemory", "64mb", "--maxmemory-policy", "allkeys-lru"]

volumes:
  data:
  db:

Ще в категорії «Файли та документи»