Português
Começar

← Todos os templates · Arquivos e documentos

Faça deploy de copyparty em um clique

Um servidor de arquivos no navegador: uploads retomáveis, player de mídia e links de compartilhamento, com WebDAV

Uma alternativa auto-hospedada para Dropbox e Google Drive.

O que é copyparty?

O copyparty transforma uma máquina num servidor de arquivos que qualquer navegador consegue usar. O uploader dele, o up2k, envia arquivos grandes em partes paralelas e retoma um upload que foi interrompido, sem limite de tamanho. As pastas aparecem como lista ou como miniaturas de imagens e vídeos, as músicas tocam no navegador com transcodificação, arquivos de texto e Markdown abrem num visualizador e num editor, e as pastas são baixadas como zip ou tar. Ele indexa os arquivos para buscá-los por nome, data, tamanho ou tags de música, e também os serve por WebDAV, para que um computador possa montá-los como uma unidade.

As pessoas usam o copyparty para guardar e compartilhar seus arquivos sem Dropbox nem Google Drive. Este template compartilha uma pasta, guardada num volume, com a única conta criada a partir dos campos, e com mais ninguém; os links de compartilhamento liberam um arquivo ou uma pasta, com senha ou prazo de validade, se você quiser. Mais contas e pastas são mais argumentos -a e -v no compose.yaml. O porém: a interface é densa, feita mais para a velocidade que para a aparência, e os servidores FTP, SFTP e SMB dele precisam de portas que este template não publica, então só o navegador e o WebDAV chegam a ele.

Hospedagem de copyparty no Pethost

  1. Você entra no Pethost com uma passkey, GitHub ou Google. Ainda não tem máquina? Você escolhe um plano, e o link espera até ela ficar pronta.
  2. Novo projeto abre em copyparty. Você preenche o que ele pede e clica em Criar projeto: Usuário, Senha do administrador.
  3. Em um ou dois minutos copyparty está no ar no próprio endereço com HTTPS. Os segredos são gerados ao acaso, e os dados vão para o backup noturno.
  4. É um projeto como qualquer outro: você ou seu agente podem alterá-lo, fazer rollback ou restaurá-lo.

Perguntas sobre copyparty

O copyparty é gratuito?

Sim. O copyparty é de código aberto sob a licença MIT, sem edição paga e sem limite de arquivos, usuários ou tamanho de upload.

É seguro colocar o copyparty no ar?

Este template pede o usuário e a senha para tudo, e um endereço sem eles não vê nenhum arquivo. O copyparty bloqueia um endereço por 24 horas depois de 9 tentativas de login com falha em uma hora, e lê o endereço real do cliente pelo proxy, então o bloqueio atinge o endereço certo.

Posso montar o copyparty como unidade de rede?

Sim, por WebDAV: no Windows com “Mapear unidade de rede”, no macOS com “Conectar ao Servidor” no Finder, no Linux com o gerenciador de arquivos ou o rclone. Entre com o mesmo usuário e a mesma senha; o botão “connect” no “control panel” do copyparty lista os passos para cada um.

Como compartilho um arquivo com o copyparty?

Selecione o arquivo ou a pasta e clique em “share”, no canto inferior direito: o copyparty cria um link em /share, com senha, prazo de validade e uploads de visitantes, se você escolher. O dono de um compartilhamento o exclui ou o prorroga no “control panel”.

Como adiciono mais usuários ao copyparty?

Adicione um argumento -a name:password para cada um na chave command do compose.yaml e cite-os na linha -v da pasta, por exemplo A,owner:r,friend para acesso somente leitura. Faça deploy de novo, e eles já podem entrar.

De quanta memória e disco copyparty precisa?

O copyparty é muito leve: cerca de 40 MB de memória, e o disco guarda seus arquivos, com um pouco mais para as miniaturas e o índice deles. No Pethost, o plano Starter basta, com espaço para outros apps ao lado.

Arquivo Docker Compose de copyparty

O template é este compose.yaml e as variáveis gravadas no .env do projeto quando ele é criado. O Pethost roda o arquivo exatamente como está escrito.

Containers: copyparty (copyparty/ac:1.20.26).

Volumes, no backup noturno: files, state.

services:
  copyparty:
    image: copyparty/ac:1.20.26
    restart: unless-stopped
    # As copyparty's own instructions run it: as a user, not as root.
    user: "1000:1000"
    environment:
      # copyparty would read a $ in an argument as a variable of its own, and the password may
      # hold one: the arguments below are taken as they are.
      PRTY_NO_ENVEXPAND: "1"
    # Given no volume, copyparty shares its folder with anyone, to read and write. So the files
    # volume is shared at the address's root with the one account made from the fields, which may
    # do everything there (A: read, write, move, delete, admin), and with nobody else.
    command:
      - -a
      - ${ADMIN_USERNAME}:${ADMIN_PASSWORD}
      - -v
      - /w::A,${ADMIN_USERNAME}
      # The sign-in asks for the username and the password, not the password alone.
      - --usernames
      # The files are indexed, for search and for the uploads it has already seen, and so are the
      # tags of music and videos; the index and thumbnails are kept beside the config, not among
      # the files.
      - -e2dsa
      - -e2ts
      - --hist
      - /cfg/hists
      # Links to a file or a folder, with a password or an expiry if wanted, under /share.
      - --shr
      - /share
      # Requests come through the proxy, which sends the client's address in X-Forwarded-For.
      - --xff-hdr
      - x-forwarded-for
      - --xff-src
      - lan
      - --rproxy
      - "1"
      - --no-robots
    volumes:
      - files:/w
      # Sessions, shares, the index and thumbnails.
      - state:/cfg

volumes:
  files:
  state:

Mais em Arquivos e documentos