An open source alternative front-end to Instructables.
Kumi
bc9074fc2b
Introduce dynamic loading of project data and streamlined configuration management. This update modularizes the codebase, separating routes and utilities for improved maintainability and scalability. It also adds a new configuration system to manage environment variables more efficiently, ensuring a seamless setup process for different environments. The refactor includes the addition of Typesense API key retrieval for enhanced search capabilities and the initialization of the application with environment-specific settings, providing a foundation for further feature development and optimization. The change underscores a shift towards a more maintainable and scalable architecture, setting the stage for future enhancements and features. By organizing the route and utility functions into separate modules, the codebase becomes easier to navigate and extend. The new config management approach centralizes settings, aiding in the smooth adaptation to varying deployment conditions. Additionally, the introduction of dynamic project data loading aims to keep the content fresh and relevant, improving the user experience. This commit marks a significant step in the project's evolution, streamlining its structure and paving the way for continuous improvement and growth. |
||
---|---|---|
src/structables | ||
.gitignore | ||
cronjob.txt | ||
LICENSE | ||
pyproject.toml | ||
README.md |
Structables
An open source alternative front-end to Instructables. This is a fork of snowcatridge10's Indestructables to get rid of Selenium. Indestructables itself is a fork of Cobra's Destructables.
Instances
URL | Provided by | Country | Comments |
---|---|---|---|
https://structables.private.coffee/ | Private.coffee | Austria |
To add your own instance to this list, please open a pull request or issue.
Opening Issues
If you're having problems using Structables, or if you have ideas or feedback for us, feel free to open an issue in the Private.coffee Git or on Github.
Of course, you can also join our Matrix room to discuss your ideas with us.
Run your own instance
Production
- Create a virtual environment:
python3 -m venv venv
- Activate the virtual environment:
source venv/bin/activate
- Install the packages:
pip install structables uwsgi
- Run
uwsgi --plugin python3 --http-socket 0.0.0.0:8002 --module structables.main:app --processes 4 --threads 4
- Point your reverse proxy to http://localhost:8002 and (optionally) serve static files from the
venv/lib/pythonX.XX/site-packages/structables/static
directory - Connect to your instance under your domain
Development
- Clone the repository:
git clone https://git.private.coffee/privatecoffee/structables.git && cd structables
- Create a virtual environment:
python3 -m venv venv
- Activate the virtual environment:
source venv/bin/activate
- Install in editable mode:
pip install -e .
- Run
structables
- Connect to http://localhost:8002
License
This project, as well as the two projects it is based on, are licensed under the GNU Affero General Public License v3. See the LICENSE file for more information.