O Seafile é uma plataforma de armazenamento e sincronização de arquivos que oferece privacidade, controle total e alto desempenho. Neste guia, você verá como instalar a versão Community Edition 12.0 utilizando Docker, de forma prática, segura e otimizada.
Pré-instalação
Requisitos mínimos e recomendados
Antes de iniciar, verifique se o servidor atende aos requisitos para executar o Seafile Community Edition 12.0 via Docker.
Requisitos mínimos
- CPU: 2 vCPUs (x86_64)
- Memória RAM: 2 GB (mínimo) – recomendado 4 GB para melhor desempenho
- Armazenamento: ~10 GB para o sistema e Docker + espaço para os arquivos (mínimo sugerido: 100 GB)
- Rede: Conexão estável de 1 Gbps
- Sistema operacional: Linux 64-bit (Ubuntu 20.04 ou superior recomendado)
Requisitos recomendados para produção
- CPU: 4 vCPUs ou mais
- Memória RAM: 8 GB ou mais
- Armazenamento: SSD (NVMe ou SATA) com alta taxa de IOPS
- Rede: 1 a 10 Gbps, conforme número de usuários simultâneos
- Backup: solução externa configurada
Observação: Se for integrar com OnlyOffice ou SeaDoc, considere um servidor com mais CPU e RAM.
Instalando Docker
Instale o Docker Engine conforme seu sistema:
Debian/Ubuntu:
curl -sSL https://get.docker.com/ | CHANNEL=stable sh systemctl enable --now docker
RHEL-based (ex.: Rocky Linux 9):
dnf config-manager --add-repo=https://download.docker.com/linux/centos/docker-ce.repo dnf install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin systemctl enable --now docker
DNS: apontar o domínio
Configure os registros DNS para o host definido em SEAFILE_SERVER_HOSTNAME
:
- A →
files.seusite.com
→<IPv4_DO_SERVIDOR>
- AAAA →
files.seusite.com
→<IPv6_DO_SERVIDOR>
- TTL: 300s
dig +short A files.seusite.com dig +short AAAA files.seusite.com
Dica: No Cloudflare, desative o proxy (nuvem cinza) para emitir o certificado inicialmente.
Instalando o Seafile CE 12.0
1 – Preparar o ambiente
apt update && apt upgrade -y apt install -y ca-certificates curl gnupg lsb-release
2 – Criar pasta do projeto
mkdir -p /opt/seafile cd /opt/seafile
3 – Baixar arquivos oficiais
wget https://manual.seafile.com/12.0/repo/docker/seadoc.yml wget https://manual.seafile.com/12.0/repo/docker/ce/seafile-server.yml wget https://manual.seafile.com/12.0/repo/docker/caddy.yml nano .env
4 – Criar o arquivo .env
Exemplo seguro:
COMPOSE_FILE='seafile-server.yml,caddy.yml,seadoc.yml'
COMPOSE_PATH_SEPARATOR=','
SEAFILE_IMAGE=seafileltd/seafile-mc:12.0-latest
SEAFILE_DB_IMAGE=mariadb:10.11
SEAFILE_MEMCACHED_IMAGE=memcached:1.6.29
SEAFILE_CADDY_IMAGE=lucaslorentz/caddy-docker-proxy:2.9-alpine
SEAFILE_VOLUME=/opt/seafile-data
SEAFILE_MYSQL_VOLUME=/opt/seafile-mysql/db
SEAFILE_CADDY_VOLUME=/opt/seafile-caddy
SEAFILE_MYSQL_DB_HOST=db
INIT_SEAFILE_MYSQL_ROOT_PASSWORD=<senha_forte_root_mysql>
SEAFILE_MYSQL_DB_USER=seafile
SEAFILE_MYSQL_DB_PASSWORD=<senha_forte_mysql_seafile>
TIME_ZONE=America/Sao_Paulo
JWT_PRIVATE_KEY=<chave_jwt_32_chars>
SEAFILE_SERVER_HOSTNAME=files.seusite.com
SEAFILE_SERVER_PROTOCOL=https
[email protected]
INIT_SEAFILE_ADMIN_PASSWORD=<senha_forte_admin>
SEADOC_IMAGE=seafileltd/sdoc-server:1.0-latest
SEADOC_VOLUME=/opt/seadoc-data
ENABLE_SEADOC=true
NOTIFICATION_SERVER_IMAGE=seafileltd/notification-server:12.0-latest
NOTIFICATION_SERVER_VOLUME=/opt/notification-data
Gere senhas seguras com o nosso Gerador de Senhas
5 – Iniciar o Seafile
docker compose -f seafile-server.yml -f caddy.yml -f seadoc.yml up -d
Acesse: https://files.seusite.com
6 – Configurar firewall (UFW)
apt install ufw ufw allow 80/tcp ufw allow 443/tcp ufw default deny incoming ufw default allow outgoing ufw reload
Não esqueça de liberar sua porta SSH personalizada.
7 – Início automático no boot
nano /etc/systemd/system/seafile-docker.service
Conteúdo:
[Unit]
Description=Seafile Docker Stack
After=docker.service
Requires=docker.service
[Service]
Type=oneshot
RemainAfterExit=yes
WorkingDirectory=/opt/seafile
ExecStart=/usr/bin/docker compose -f seafile-server.yml -f caddy.yml -f seadoc.yml up -d
ExecStop=/usr/bin/docker compose -f seafile-server.yml -f caddy.yml -f seadoc.yml down
TimeoutStartSec=0
[Install]
WantedBy=multi-user.target
Salvar e ativar:
systemctl daemon-reexec
systemctl daemon-reload
systemctl enable seafile-docker
systemctl start seafile-docker
8 – Informações de login
- Admin: valor de
INIT_SEAFILE_ADMIN_EMAIL
- Senha: valor de
INIT_SEAFILE_ADMIN_PASSWORD
Conclusão
Seguindo este guia, você terá o Seafile CE 12.0 instalado via Docker, pronto para sincronização segura de arquivos. Essa solução é ideal para Servidores Dedicados, VPS e VPS Storage, garantindo desempenho e controle total.