====== " El Botadero " ======
El Botadero es una aplicación web que está pensada para compartir archivos de manera rápida y cómoda, pero no para restringir el contenido que las personas quieran compartir.
Si alguien sube un archivo, este se lista en la página principal y //quiensea podrá descargarlo//. Para ahorrar espacio de almacenamiento los archivos subidos se //borran automáticamente// después de un número configurable de días dependiendo su tamaño.
{{ :servicios:botadero1.jpeg?200 |}}
{{ :servicios:botadero2.jpeg?200 |}}
{{:servicios:botadero3.jpeg?200 |}}
La aplicación es bastante liviana y no requiere de la instalación de un gestor de base de datos, por ahora la regulación del contenido se hace borrando archivos manualmente, en un futuro la aplicación contendrá una interfaz web para hacerlo.
===== Instalación =====
La última versión de la aplicación y su código fuente siempre está disponible en https://notabug.org/strysg/botadero/
El Botadero está escrito en python 2.7, usando el micro framework web Flask. Si no has desplegado antes una aplicación web con wsgi, uwsgi o gunicorn sigue las siguientes instrucciones. De otra forma puedes revisar las notas de despliegue para [[ https://notabug.org/strysg/botadero/|Debian]] o [[https://notabug.org/strysg/botadero/src/master/Docu/notas_deploy_nginx_ubuntu.txt|Ubuntu]].
==== Instalando programas necesarios ====
En un derivado de Debian se deben instalar los siguientes paquetes por ejemplo usando apt-get:
sudo apt-get install build-essential python python-dev python-pip virtualenv
Lo más recomendable es usar un servidor web como NGINX o APACHE para poder servir múltiples aplicaciones a través de un mismo puerto de red en este caso el puerto 80 por defecto para servidores web.
sudo apt-get install nginx # o algun otro servidor web
=== Instalando entorno virtual ===
Aprovechando que con virtualenv se pueden crear entornos virtuales con binarios y bibliotecas de python aislados del sistema operativo, instalaremos ''Flask'' y ''uwsgi'' en un entorno virtual.
Descargamos el código fuente:
git clone https://notabug.org/strysg/botadero
Si no se usa git , descárgalo como .zip o .tar.gz:
wget https://notabug.org/strysg/botadero/archive/master.zip
En caso de No haber usado git descomprimios el archivo con el código fuente en una carpeta de nuestra elección, por ejemplo ''botadero''
cd ruta/con/el/codigo/fuente/del/botadero
# iniciamos el entorno virtual que se almacenara en la carpeta venv
virtualenv venv
# activamos el entorno virtual recién creado
. venv/bin/activate
# descargamos e instalamos Flask y uwsgi dentro del entorno virtual
pip install Flask uwsgi
=== Probar si la aplicación funciona ===
python runsever.py
Si todo anda bien la aplicación se debería poder probar abriendo un navegador web y entrando a la URL: ''localhost:5000'' , Flask usa el puerto 5000 por defecto.
==== Desplegando con un servidor WEB ====
Sigue las instrucciones para desplegar la aplicación en [[ https://notabug.org/strysg/botadero/|Debian]] o [[https://notabug.org/strysg/botadero/src/master/Docu/notas_deploy_nginx_ubuntu.txt|Ubuntu]].
===== Configuración (opcional) =====
==== Archivo de configuración ====
Si ya tienes la aplicación ejecutándose puedes ajustarla a tus necesidades, por ejemplo para limitar el espacio utilizado por la aplicación o el tiempo que pueden permanecer los archivos antes de ser borrados.
Las configuraciones se hacen desde el archivo ''parametros.txt'' en la carpeta del código fuente. El archivo ya viene con configuraciones por defecto pero puedes cambiarlas editándolo, mira este ejemplo si tu equipo cuenta con poco almacenamiento disponible.
# Espacio de alamcenamiento maximo que puede disponer el botadero (5GB)
TOTAL_STORAGE 5000000000
# Tamanyo maximo de archivos permitidos (50MB)
SIZE_MAX_TO_UPLOAD 50000000
# Borrado de archivos segun tamanyo (6MB y 20MB)
SIZE_1 6000000
SIZE_2 20000000
# Dias para borrar archivos que ocupan menos que SIZE_1 (8 dias)
TIME_TO_DEL_0 8
# Dias para borrar archivos que ocupan espacio entre SIZE_1 y SIZE_2 (6 dias)
TIME_TO_DEL_1 6
# Dias para borrar archivos que ocupan mas que SIZE_2 (3 dias)
TIME_TO_DEL_2 3
Recuerda reiniciar la aplicación el botadero para que los cambios surtan efecto.
==== Categorías ====
Adicionalmente se pueden crear categorías para que los archivos se puedan subir/descargar de manera más cómoda, revisa el archivo ''categorias.txt'' dentro de la carpeta ''Docu'' que indica como agregar o quitar categorías.