diff --git a/README.md b/README.md new file mode 100644 index 0000000..3160abc --- /dev/null +++ b/README.md @@ -0,0 +1,62 @@ +# Pyrom +python/flask port of [porom](https://git.poto.cafe/yagich/porom) + +this is now the canonical implementation of porom + +# License +Released under [CNPLv7+](https://thufie.lain.haus/NPL.html). +Please read the [full terms](./LICENSE.md) for proper wording. + +# installing & first time setup +## docker (production) +create `config/secrets.prod.env` according to `config/secrets.prod.env.example` + +```bash +$ docker compose up +``` + +- opens port 8080 +- exposes `data/db` and `data/static` for data backup and persistence + +make sure to run it in an interactive session the first time, because it will spit out the password to the auto-created admin account. + +## manual (development) +1. install python >= 3.13, sqlite3, libargon2, and imagemagick & clone repo +2. create a venv: + +```bash +$ python -m venv .venv +$ source .venv/bin/activate +``` + +3. install requirements: + +```bash +$ pip install -r requirements.txt +``` + +4. run dev server: + +```bash +$ python -m app.run +``` + +the server will run on localhost:8080. when run for the first time, it will create an admin account and print its credentials to the terminal, so make sure to run this in an interactive session. + +press Ctrl+C to stop the server. + +to deactivate the venv: + +```bash +$ deactivate +``` + +when you want to run the server again, make sure to activate the venv first: +```bash +$ python -m venv .venv +$ source .venv/bin/activate +$ python -m app.run +``` + +# icons +the icons in the `data/static/misc/` folder are by [Gabriele Malaspina](https://www.figma.com/community/file/1136337054881623512/iconcino-v2-0-0-free-icons-cc0-1-0-license) diff --git a/THIRDPARTY.md b/THIRDPARTY.md new file mode 100644 index 0000000..d6ad09d --- /dev/null +++ b/THIRDPARTY.md @@ -0,0 +1,33 @@ +# Acknowledgments + +## Flask + +URL: https://flask.palletsprojects.com/en/stable/ +Copyright: `Copyright 2010 Pallets` +License: BSD-3-Clause +Repo: https://github.com/pallets/flask + +## ChicagoFLF + +Affected files: [`data/static/fonts/ChicagoFLF.woff2`](./data/static/fonts/ChicagoFLF.woff2) +No canonical URL that I could find. +Obtained from: https://usemodify.com/fonts/chicago/ +License: Public Domain +Designers: Susan Kare, Robin Casady + +## Cadman + +Affected files: [`data/static/fonts/Cadman_Bold.woff2`](./data/static/fonts/Cadman_Bold.woff2) [`data/static/fonts/Cadman_BoldItalic.woff2`](./data/static/fonts/Cadman_BoldItalic.woff2) [`data/static/fonts/Cadman_Italic.woff2`](./data/static/fonts/Cadman_Italic.woff2) [`data/static/fonts/Cadman_Roman.woff2`](./data/static/fonts/Cadman_Roman.woff2) +URL: https://localfonts.eu/shop/cyrillic-script/serbian/serbian-cyrillic-sans-serif/cadman/ +Copyright: `© 2017-2020 by Paul James Miller. All rights reserved.` +License: SIL Open Font License 1.1 +Designers: Paul James Miller + +## ICONCINO + +Affected files: [`data/static/misc/error.svg`](./data/static/misc/error.svg) [`data/static/misc/image.svg`](./data/static/misc/image.svg) [`data/static/misc/info.svg`](./data/static/misc/info.svg) [`data/static/misc/lock.svg`](./data/static/misc/lock.svg) [`data/static/misc/sticky.svg`](./data/static/misc/sticky.svg) [`data/static/misc/warn.svg`](./data/static/misc/warn.svg) +URL: https://www.figma.com/community/file/1136337054881623512/iconcino-v2-0-0-free-icons-cc0-1-0-license +Copyright: Gabriele Malaspina +Designers: Gabriele Malaspina +License: CC0 1.0/CC BY 4.0 +CC BY 4.0 compliance: Modified to indicate the URL. Modified size. diff --git a/requirements.txt b/requirements.txt index 12e7ef3..6860600 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,5 +1,16 @@ -flask -argon2-cffi -wand -dotenv -python-slugify +argon2-cffi==25.1.0 +argon2-cffi-bindings==21.2.0 +blinker==1.9.0 +cffi==1.17.1 +click==8.2.1 +dotenv==0.9.9 +Flask==3.1.1 +itsdangerous==2.2.0 +Jinja2==3.1.6 +MarkupSafe==3.0.2 +pycparser==2.22 +python-dotenv==1.1.1 +python-slugify==8.0.4 +text-unidecode==1.3 +Wand==0.6.13 +Werkzeug==3.1.3