# Pyrom python/flask port of [porom](https://git.poto.cafe/yagich/porom) this is now the canonical implementation of porom. it's compatible with the database 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) 1. clone the repo 2. create `config/secrets.prod.env` according to `config/secrets.prod.env.example` 3. create `config/pyrom_config.toml` according to `config/pyrom_config.toml.example` and modify as needed 4. make sure the `data/` folder is writable by the app: ```bash $ chmod -R 777 data/ ``` 5. bring up the container: ```bash $ docker compose up --build ``` - 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. 6. point your favorite proxy at `localhost:8080` ## 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 $ source .venv/bin/activate $ python -m app.run ``` # acknowledgments pyrom uses many open-source and otherwise free-culture components. see the [THIRDPARTY](./THIRDPARTY.md) file for full credit.