jamanndenn は、会議をスケジュールし、投票を実行するためのシンプルな Web アプリケーションであり、Doodle に代わる自由な代替手段です。以下のテクノロジーを使用しています。
jamanndenn はSebastian Pipping によって開発されたリブレ ソフトウェアです。サーバー コードは GNU Affero GPL ライセンス バージョン 3 以降に基づいてライセンスされ、クライアント コードは GNU GPL ライセンス バージョン 3 以降に基づいてライセンスされます。
バグを報告して、気に入った場合はお知らせください。
「セットアップ (JSON)」というタイトルのテキストエリアでは、次のキーを認識する単純な JSON ベースの形式が使用されます。
equal_width
— 潜在的な投票者のバイアスに対抗するために、すべてのオプションを同じ幅 ( true
またはfalse
) に引き上げるかどうかを制御するブール値lifetime
— このポーリングが削除されるまでの期間。 "week"
または"month"
を指定できます。 enum のような文字列options
— オプションごとに 1 つずつの文字列のリスト。マークダウンに似た構文をサポート: 太字、斜体、インライン コードtitle
— 実行する投票のタイトルまたは見出し。マークダウンに似た構文をサポート: 太字、斜体、インライン コードGit リポジトリのクローンを作成せずに最新リリースをインストールするには:
# pip3 インストール jamanndenn --user
Git クローンからインストールするには:
# ./setup.py インストール --user
次のような単純なファイル.env
を作成します。
JAWANNDENN_POSTGRES_NAME=ジャワンデン JAWANNDENN_POSTGRES_USER=ジャワンデン JAWANDENN_POSTGRES_PASSWORD=dEb2PIcinemA8poH JAWANNDENN_SECRET_KEY=606ea88f183a27919d5c27ec7f948906d23fdd7821684eb59e8bcf7377e3853b
コピーして貼り付けた後は、必ずこれらの値を調整してください。
その後、 docker-compose up --build
使用して Docker イメージをビルドして実行できます。
アプリはlocalhost:54080
で提供されます。 PostgreSQL データは、ホスト システム上の~/.jawanndenn-docker-pgdata/
に保存されます。また、プロセス間のレート制限に使用される Redis のインスタンスと、構成された有効期間を超えたポーリングを 60 分ごとに削除する「cron」ハウスキーピング コンテナーもあります。
(jawanndenn の前にメンテナンスの手間がかからない SSL リバース プロキシが必要な場合は、docker-ssl-reverse-proxy が興味深いかもしれません。)
ご使用の環境で調整できる環境変数がさらにいくつかあります。全体として、次の変数があります。
DJANGO_SETTINGS_MODULE
使用する Django 設定モジュール。デフォルトはjawanndenn.settings
です ( docker-compose.yml
を参照)。
JAWANNDENN_ALLOWED_HOSTS
jamanndenn にサービスを提供するホスト名 (カンマ区切りのリスト) は、メイン実稼働サーバーではjawanndenn.de,www.jawanndenn.de
に設定され、デフォルトは127.0.0.1,0.0.0.0,localhost
です ( jawanndenn/settings.py
を参照)
JAWANNDENN_DEBUG
デバッグ モードは、 True
を除くすべての値で無効になっており、デフォルトで無効になっていますが、セキュリティのために運用環境では有効にしないでください ( jawanndenn/settings.py
参照)
JAWANNDENN_MAX_POLLS
保存するポーリングの最大合計数、サービス拒否保護、デフォルトは1000
( jawanndenn/settings.py
およびdocker-compose.yml
を参照)
JAWANNDENN_MAX_VOTES_PER_POLL
保存するポーリングの最大合計数、サービス拒否保護、デフォルトは40
( jawanndenn/settings.py
を参照)
JAWANNDENN_POSTGRES_HOST
接続先の PostgreSQL データベースのホスト名。デフォルトはpostgres
( docker-compose.yml
を参照)
JAWANNDENN_POSTGRES_NAME
接続する PostgreSQL データベースのデータベース名。デフォルトなし、常に必須
JAWANNDENN_POSTGRES_PASSWORD
PostgreSQL データベースにログインするためのパスワード。デフォルトなし、常に必須
JAWANNDENN_POSTGRES_PORT
接続する PostgreSQL データベースのポート。デフォルトは5432
( docker-compose.yml
を参照)
JAWANNDENN_POSTGRES_USER
PostgreSQL データベースにログインするためのユーザー名。デフォルトなし、常に必須
JAWANNDENN_REDIS_HOST
接続する Redis データベースのホスト名。デフォルトはredis
( docker-compose.yml
を参照)
JAWANNDENN_REDIS_PORT
接続する Redis データベースのポート。デフォルトは6379
( docker-compose.yml
を参照)
JAWANNDENN_SECRET_KEY
Django の秘密鍵。長く、生成され、他の場所で使用されないようにする必要があります。デフォルトなし、常に必須
JAWANNDENN_SENTRY_DSN
Sentry で使用するデータ ソース名 (DSN)、デフォルトで無効/空 ( jawanndenn/settings.py
参照)
JAWANNDENN_URL_PREFIX
同じドメインで複数のアプリを並べてホストするのに役立つように、ドメイン名の後ろではなく URL に挿入するプレフィックス文字列。たとえば、プレフィックスprefix123
はhttps://<domain>/prefix123/poll/<id>
のような URL になります。デフォルトでは空です ( jawanndenn/settings.py
参照)
インストールすると、呼び出しは次のように簡単になります。
# ジャワンデン
開発中に、次を使用して Git クローンからjamanndenn を実行することもできます。
# パイソンパス=。 python3 -m jamanndenn --debug
現在サポートされている引数は次のとおりです。
# ジョワンデン -- ヘルプ 使用法: jamanndenn [-h] [--debug] [--host HOST] [--port PORT] [--url-prefix PATH] [--database-sqlite3 ファイル] [--django-secret-key-file ファイル] [--max-polls COUNT] [--投票ごとの最大投票数 COUNT] [--dumpdata] [--loaddata ファイル.json] オプションの引数: -h、--help このヘルプ メッセージを表示して終了します --debug デバッグ モードを有効にします (デフォルト: 無効) --host HOST リッスンするホスト名または IP アドレス (デフォルト: 127.0.0.1) --port PORT リッスンするポート (デフォルト: 8080) --url-prefix PATH URL の前に付加するパス (デフォルト: "") --database-sqlite3 ファイル データベースに書き込むファイル (デフォルト: ~/jawanndenn.sqlite3) --django-secret-key-file ファイル Django 秘密鍵データに使用するファイル (デフォルト: ~/jawanndenn.secret_key) 制限設定: --max-polls COUNT 合計ポーリングの最大数 (デフォルト: 1000) --投票あたりの最大投票数 COUNT 投票ごとの最大投票数 (デフォルト: 40) データのインポート/エクスポート引数: --dumpdata データベースの JSON エクスポートを標準出力にダンプします。 それからやめてください。 --loaddata FILE.json FILE.json からデータベースの JSON エクスポートをロードします。 それからやめてください。
移行には 4 つの手順が必要です。
pip2 install --upgrade 'jawanndenn<2'
; JSON データ エクスポートはリリース 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'
python3 -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
今後の機能のリストをご確認ください。
XSS 脆弱性を責任を持って報告してくださった Arne Maier (@KordonDev) に心より感謝いたします。