Jawanndenn es una aplicación web sencilla para programar reuniones y realizar encuestas, una alternativa libre a Doodle. Está utilizando la siguiente tecnología:
Jawanndenn es un software libre desarrollado por Sebastian Pipping. El código del servidor tiene la licencia GNU Affero GPL versión 3 o posterior, mientras que el código del cliente tiene la licencia GNU GPL versión 3 o posterior.
Por favor informe errores y avíseme si le gusta.
El área de texto titulada "Configuración (JSON)" utiliza un formato simple basado en JSON que conoce las siguientes claves:
equal_width
: un bool para controlar si todas las opciones se bombean al mismo ancho ( true
o false
) para contrarrestar el posible sesgo de los votantes.lifetime
: duración después de la cual se eliminará esta encuesta; puede ser "week"
o "month"
; una cadena tipo enumeraciónoptions
: una lista de cadenas, una para cada opción; admite sintaxis similar a Markdown para: negrita, cursiva y código en líneatitle
: el título o titular de la encuesta que se realizará; admite sintaxis similar a Markdown para: negrita, cursiva y código en línea Para instalar la última versión sin clonar el repositorio de Git:
# pip3 instala jawanndenn --usuario
Para instalar desde un clon de Git:
# ./setup.py instalar --usuario
Crea un archivo simple .env
como este:
JAWANNDENN_POSTGRES_NAME=jawanndenn JAWANNDENN_POSTGRES_USER=jawanndenn JAWANNDENN_POSTGRES_PASSWORD=dEb2PIcinemA8poH JAWANNDENN_SECRET_KEY=606ea88f183a27919d5c27ec7f948906d23fdd7821684eb59e8bcf7377e3853b
¡Asegúrese de ajustar estos valores después de copiar y pegar!
Luego puede crear y ejecutar una imagen de la ventana acoplable usando docker-compose up --build
.
La aplicación se sirve en localhost:54080
. Los datos de PostgreSQL se guardan en ~/.jawanndenn-docker-pgdata/
en el sistema host. También hay una instancia de Redis que se utiliza para limitar la velocidad entre procesos y un contenedor de limpieza "cron" que eliminará las encuestas que hayan excedido su vida útil configurada, cada 60 minutos.
(Si necesita un proxy inverso SSL de bajo mantenimiento frente a jawanndenn, docker-ssl-reverse-proxy podría ser de su interés).
Hay algunas variables de entorno más que quizás desee ajustar en su entorno. En total, existen estas variables:
DJANGO_SETTINGS_MODULE
Módulo de configuración de Django a usar, déjelo como está, el valor predeterminado es jawanndenn.settings
(consulte docker-compose.yml
)
JAWANNDENN_ALLOWED_HOSTS
Los nombres de host para servir a Jawanndenn, lista separada por comas, están configurados en jawanndenn.de,www.jawanndenn.de
en el servidor de producción principal, por defecto es 127.0.0.1,0.0.0.0,localhost
(consulte jawanndenn/settings.py
).
JAWANNDENN_DEBUG
El modo de depuración, deshabilitado para todos los valores excepto True
, deshabilitado de forma predeterminada, nunca debe habilitarse en producción por motivos de seguridad (consulte jawanndenn/settings.py
).
JAWANNDENN_MAX_POLLS
Número total máximo de encuestas para almacenar, protección contra denegación de servicio, el valor predeterminado es 1000
(consulte jawanndenn/settings.py
y docker-compose.yml
).
JAWANNDENN_MAX_VOTES_PER_POLL
Número total máximo de encuestas para almacenar, protección contra denegación de servicio, el valor predeterminado es 40
(consulte jawanndenn/settings.py
)
JAWANNDENN_POSTGRES_HOST
Nombre de host de la base de datos PostgreSQL a la que conectarse; el valor predeterminado es postgres
(consulte docker-compose.yml
)
JAWANNDENN_POSTGRES_NAME
Nombre de la base de datos PostgreSQL a la que conectarse; sin valor predeterminado, siempre requerido
JAWANNDENN_POSTGRES_PASSWORD
Contraseña para iniciar sesión en la base de datos PostgreSQL; sin valor predeterminado, siempre requerido
JAWANNDENN_POSTGRES_PORT
Puerto de la base de datos PostgreSQL para conectarse; El valor predeterminado es 5432
(consulte docker-compose.yml
).
JAWANNDENN_POSTGRES_USER
Nombre de usuario para iniciar sesión en la base de datos PostgreSQL; sin valor predeterminado, siempre requerido
JAWANNDENN_REDIS_HOST
Nombre de host de la base de datos de Redis a la que conectarse; el valor predeterminado es redis
(consulte docker-compose.yml
)
JAWANNDENN_REDIS_PORT
Puerto de la base de datos de Redis al que conectarse; El valor predeterminado es 6379
(consulte docker-compose.yml
).
JAWANNDENN_SECRET_KEY
clave secreta de Django; debe ser largo, generado y no utilizado en ningún otro lugar; sin valor predeterminado, siempre requerido
JAWANNDENN_SENTRY_DSN
Nombre de la fuente de datos (DSN) para usar con Sentry, deshabilitado/vacío de forma predeterminada (consulte jawanndenn/settings.py
)
JAWANNDENN_URL_PREFIX
Cadena de prefijo para insertar en las URL en lugar de después del nombre de dominio para ayudar a alojar varias aplicaciones bajo el mismo dominio una al lado de la otra; por ejemplo, el prefijo prefix123
dará como resultado URL como https://<domain>/prefix123/poll/<id>
; vacío de forma predeterminada (consulte jawanndenn/settings.py
)
Cuando está instalado, la invocación es tan simple como
#jawanndenn
Durante el desarrollo, es posible que quieras ejecutar jawanndenn desde el clon de Git usando
#PYTHONPATH=. python3 -m jawanndenn --depurar
Los argumentos actualmente soportados son:
#jawanndenn --ayuda uso: jawanndenn [-h] [--debug] [--host HOST] [--port PUERTO] [--RUTA de prefijo de URL] [--ARCHIVO de base de datos-sqlite3] [--django-secret-key-file ARCHIVO] [--max-polls COUNT] [--max-votos-por-encuesta COUNT] [--dumpdata] [--loaddata ARCHIVO.json] argumentos opcionales: -h, --help muestra este mensaje de ayuda y sale --debug Habilita el modo de depuración (predeterminado: deshabilitado) --host HOST Nombre de host o dirección IP para escuchar (predeterminado: 127.0.0.1) --port PORT Puerto para escuchar (predeterminado: 8080) --url-prefix PATH Ruta para anteponer las URL (predeterminado: "") --database-sqlite3 ARCHIVO Archivo en el que escribir la base de datos (predeterminado: ~/jawanndenn.sqlite3) --django-secret-key-file ARCHIVO Archivo a utilizar para los datos de la clave secreta de Django (predeterminado: ~/jawanndenn.clave_secreta) configuración límite: --max-polls COUNT Número máximo de encuestas en total (predeterminado: 1000) --max-votos-por-encuesta COUNT Número máximo de votos por encuesta (predeterminado: 40) Argumentos de importación/exportación de datos: --dumpdata Vuelca una exportación JSON de la base de datos a la salida estándar, luego renuncia. --loaddata FILE.json Carga una exportación JSON de la base de datos desde FILE.json, luego renuncia.
La migración requiere cuatro pasos:
pip2 install --upgrade 'jawanndenn<2'
; La exportación de datos JSON se introdujo por primera vez con la versión 1.6.3.python2 -m jawanndenn --dumpdata > dump.json
docker-compose run -T jawanndenn --database-pickle /data/polls.pickle --dumpdata > dump.json
pip3 install 'jawanndenn>=2'
en algún lugarpython3 -m jawanndenn --loaddata dump.json
docker-compose run -T jawanndenn sh -c 'cat > /tmp/dump.json && DJANGO_SETTINGS_MODULE=jawanndenn.settings python3 -m django loaddata /tmp/dump.json' < dump.json
Consulte la lista de próximas funciones.
Un agradecimiento especial a Arne Maier (@KordonDev) por informar de manera responsable una vulnerabilidad XSS.