Spaces:
Paused
Paused
| # USAMOS O CADDY COMO BASE (Servidor Web Moderno) | |
| FROM caddy:2.7.6-alpine | |
| # INSTALAMOS O FILEBROWSER (Gerenciador de Arquivos) | |
| RUN apk add --no-cache curl bash | |
| RUN curl -fsSL https://raw.githubusercontent.com/filebrowser/get/master/get.sh | bash | |
| # CONFIGURAÇÃO DE AMBIENTE | |
| ENV FB_DATABASE=/data/filebrowser.db | |
| ENV FB_ROOT=/srv/site | |
| ENV FB_PORT=8080 | |
| ENV FB_ADDRESS=127.0.0.1 | |
| # CRIA AS PASTAS NECESSÁRIAS | |
| RUN mkdir -p /srv/site /data /etc/caddy | |
| # CRIA UM SITE DE EXEMPLO | |
| RUN echo '<h1 style="font-family:sans-serif;text-align:center;margin-top:20%;">Seu site está pronto!</h1><p style="text-align:center;">Acesse <b>/admin</b> para fazer upload dos seus arquivos.</p>' > /srv/site/index.html | |
| # CONFIGURA O CADDY (A MÁGICA ACONTECE AQUI) | |
| # Ele diz: "Escute na porta 7860. Se acessarem /admin, mostre o gerenciador. Se acessarem a raiz, mostre o site." | |
| RUN echo $':7860 {\n\ | |
| # Onde ficam os arquivos do seu site\n\ | |
| root * /srv/site\n\ | |
| \n\ | |
| # Habilita o servidor de arquivos estáticos (HTML, CSS, JS)\n\ | |
| file_server\n\ | |
| \n\ | |
| # Rota para o Painel Administrativo (FileBrowser)\n\ | |
| handle_path /admin* {\n\ | |
| reverse_proxy 127.0.0.1:8080\n\ | |
| }\n\ | |
| }' > /etc/caddy/Caddyfile | |
| # SCRIPT DE INICIALIZAÇÃO (Inicia o Painel e o Site juntos) | |
| RUN echo $'#!/bin/bash\n\ | |
| # Configura o usuário do painel na primeira vez\n\ | |
| if [ ! -f /data/filebrowser.db ]; then\n\ | |
| filebrowser config init --database=/data/filebrowser.db\n\ | |
| filebrowser config set --address 127.0.0.1 --port 8080 --database=/data/filebrowser.db\n\ | |
| # SENHA DO PAINEL: admin / admin123\n\ | |
| filebrowser users add admin admin123 --perm.admin --database=/data/filebrowser.db\n\ | |
| fi\n\ | |
| \n\ | |
| # Inicia o FileBrowser no fundo (Backstage)\n\ | |
| filebrowser --database=/data/filebrowser.db --root=/srv/site &\n\ | |
| \n\ | |
| # Inicia o Caddy na frente (Palco)\n\ | |
| caddy run --config /etc/caddy/Caddyfile --adapter caddyfile' > /start.sh && chmod +x /start.sh | |
| # PERMISSÕES | |
| RUN chmod -R 777 /srv /data | |
| # PORTA DO HUGGING FACE | |
| EXPOSE 7860 | |
| # INICIAR | |
| CMD ["/start.sh"] |