Coloque o Fuxico no ar em segundos. Escolha entre Docker Compose (FrankenPHP com atualizações automáticas via Watchtower) ou o servidor portátil em arquivo único fuxico.php.
A imagem de produção oficial é baseada em FrankenPHP Alpine, roda com usuário não-root e já vem pré-configurada para persistência de dados e atualizações automáticas via Watchtower:
services:
fuxico:
image: lumenpink/fuxico:latest
container_name: fuxico
restart: unless-stopped
ports:
- "8080:8080"
environment:
- FUXICO_PUBLIC_MODE=true
- FUXICO_DATA_DIR=/workspace/data
- FUXICO_AUTH_TOKENS=tatanka
volumes:
- ./data:/workspace/data
labels:
- "com.centurylinklabs.watchtower.scope=fuxico"
watchtower:
image: containrrr/watchtower
container_name: fuxico_watchtower
restart: unless-stopped
environment:
- WATCHTOWER_SCOPE=fuxico
- WATCHTOWER_POLL_INTERVAL=3600
- WATCHTOWER_CLEANUP=true
volumes:
- /var/run/docker.sock:/var/run/docker.sock
docker compose up -d
Baixe o arquivo fuxico.php diretamente e execute em qualquer servidor ou VPS com PHP 8.2+. Sem pasta vendor, sem instalar banco de dados, sem compilação:
# 1. Baixar o servidor completo em arquivo único: curl -O https://fuxico.2lp.in/fuxico.php # 2. Iniciar servidor embutido instantâneo: FUXICO_PUBLIC_MODE=true php -S 0.0.0.0:8080 fuxico.php
fux.exemplo.com {
encode zstd gzip
request_body {
max_size 512MB
}
reverse_proxy 127.0.0.1:8080
}
server {
listen 80;
server_name fux.exemplo.com;
client_max_body_size 500M;
location / {
proxy_pass http://127.0.0.1:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
Personalize o comportamento do Fuxico exportando qualquer uma das variáveis abaixo:
| Variável | Padrão | Descrição |
|---|---|---|
FUXICO_PUBLIC_MODE |
false |
Quando true, qualquer pessoa pode enviar arquivos sem token (modo 0x0.st público). Quando false, exige um token mestre. |
FUXICO_AUTH_TOKENS |
tatanka |
Lista de tokens mestres autorizados separados por vírgula (para instâncias privadas). |
FUXICO_DATA_DIR |
./data |
Diretório raiz onde o banco SQLite e os arquivos enviados são armazenados. |
FUXICO_MAX_UPLOAD_SIZE |
524288000 |
Tamanho máximo aceito por upload em bytes (padrão: 500 MB). |
FUXICO_SLUG_LENGTH |
5 |
Número de caracteres de slugs normais (ex: /abcde.png). |
FUXICO_SECRET_SLUG_LENGTH |
16 |
Número de caracteres de slugs secretos de alta entropia (ex: /8x9yt4m2k9p1q7z0.png). |
FUXICO_BASE_URL |
(automático) | Sobrescreve a URL base da aplicação (ex: https://fux.exemplo.com). |
FUXICO_LANG |
pt |
Idioma padrão da interface (pt ou en). Detecta o cabeçalho Accept-Language se omitido. |