Skip to main content

A simple frontend for Instructables

Project description

Structables

An open source alternative front-end to Instructables. This is a fork of snowcatridge10's Indestructables, which itself is a fork of Cobra's Destructables.

Support Private.coffee! Matrix PyPI PyPI - Python Version PyPI - License Latest Git Commit

Instances

URL Provided by Country Comments
structables.private.coffee Private.coffee Austria
structables.bloat.cat Bloat.cat Germany

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: Manual

  1. Create a virtual environment: python3 -m venv venv
  2. Activate the virtual environment: source venv/bin/activate
  3. Install the packages: pip install structables uwsgi
  4. Run uwsgi --plugin python3 --http-socket 0.0.0.0:8002 --module structables.main:app --processes 4 --threads 4
  5. Point your reverse proxy to http://localhost:8002 and (optionally) serve static files from the venv/lib/pythonX.XX/site-packages/structables/static directory
  6. Connect to your instance under your domain
  7. Ensure that /cron/ is executed at regular intervals so that the app updates its cached data.

Production: Docker

  1. Copy .env.example to .env and adjust the settings as necessary

  2. Copy docker-compose-example.yml to docker-compose.yml and adjust it as necessary, for example modifying resource limits or changing the port/host configuration

  3. Build and run the Docker container:

    docker-compose up [-d]
    
  4. Point your reverse proxy to http://127.0.0.1:8002 (or your chosen port, if you modified it) and (optionally) serve static files from structables/static

  5. Connect to your instance under your domain

  6. Ensure that /cron/ is executed at regular intervals so that the app updates its cached data.

Development

  1. Clone the repository: git clone https://git.private.coffee/privatecoffee/structables.git && cd structables
  2. Create a virtual environment: python3 -m venv venv
  3. Activate the virtual environment: source venv/bin/activate
  4. Install in editable mode: pip install -e .
  5. Run structables
  6. 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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

structables-0.3.15.tar.gz (1.1 MB view details)

Uploaded Source

Built Distribution

structables-0.3.15-py3-none-any.whl (1.1 MB view details)

Uploaded Python 3

File details

Details for the file structables-0.3.15.tar.gz.

File metadata

  • Download URL: structables-0.3.15.tar.gz
  • Upload date:
  • Size: 1.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.11.2

File hashes

Hashes for structables-0.3.15.tar.gz
Algorithm Hash digest
SHA256 80250b513e8c35e30b2001e6fbe1ef7cdf0b4137c8ef21aea44c8cb54adea07a
MD5 4bd1221c5f468b8368e1b9e9f9fcff5d
BLAKE2b-256 5a66891b6988a15f07190aea0ea62af65d818af9cc79b2202057a54fe474970b

See more details on using hashes here.

File details

Details for the file structables-0.3.15-py3-none-any.whl.

File metadata

File hashes

Hashes for structables-0.3.15-py3-none-any.whl
Algorithm Hash digest
SHA256 9626190355dc9b7c0ca92e929e74d488c75580106d46493917ccb965c280ed3e
MD5 7659ded0d80baa2c6d8a32f1c3385919
BLAKE2b-256 ca85d4ef6aa6804149d82d1cc2f33fe253675b40608eff5265546694c3fe3d8d

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page