Skip to content
The open-source core of Pinry, a tiling image board system for people who want to save, tag, and share images, videos and webpages in an easy to skim through format.
Python JavaScript HTML CSS Shell Makefile Dockerfile
Branch: master
Clone or download
winkidney Merge pull request #154 from willstott101/perf1
Various performance improvements.
Latest commit 4f3cb74 Jul 22, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
core Only load Image once when creating all three Thumbnail sizes. Jul 18, 2019
django_images Only load Image once when creating all three Thumbnail sizes. Jul 18, 2019
doc Doc: Change removing of migration-file to optional Sep 4, 2018
docker made build and entrypoint scripts executable Jun 1, 2019
pinry Only load Image once when creating all three Thumbnail sizes. Jul 18, 2019
users Escape special regex character - Jul 4, 2019
.dockerignore Ignore files not related to Docker image during build Mar 26, 2019
.flake8 Feature: Add flake8 command in Makefile Feb 22, 2019
.gitignore Feature: Ignore local_settings.py Sep 4, 2018
.travis.yml Feature: Enable flake8 check in travis Feb 22, 2019
Dockerfile Fix: python3 will install python 3.7 and cause a syntax error Sep 4, 2018
Dockerfile.autobuild add clients for mysql, postgresql, and oracle Jun 1, 2019
LICENSE Update license to 2018 and plaintext Feb 5, 2018
Makefile Feature: Add flake8 command in Makefile Feb 22, 2019
Pipfile Feature: Use psycopg2-binary as dep instead of psycopg2 Feb 22, 2019
Pipfile.lock Feature: Use psycopg2-binary as dep instead of psycopg2 Feb 22, 2019
README.rst Update scripts and instructions for using/building Docker image Mar 21, 2019
docker-compose.example.yml Refactor: Use stdout as the log-output Sep 4, 2018
logo.png Updated requirements and other items in preps of new pinry version Sep 22, 2013
manage.py Fix: Add a mark 'IS_TEST' to decide if we should load image-urls Aug 27, 2018
start_docker_with_current_user.sh Fix: Fix non-effect env Sep 4, 2018

README.rst

Pinry

The open-source core of Pinry, a tiling image board system for people who want to save, tag, and share images, videos and webpages in an easy to skim through format.

For more information visit getpinry.com.

Feature

Setup Guide for users

Please use docker to install pinry

Developers or users who are familiar with python/nginx could setup Pinry with following guide : )

Quick Start for Developers

You need only three following lines to initialize your pinry:

make bootstrap
make serve

Now the development server has been running, enjoy : )

Upgrade from old version

Our currently version is 2.x, If you are old user of Pinry, please follow document below to upgrade to 2.x.

For source code users:

Read our online doc about how to upgrade to 2.x

For docker users, please contact us for help: )

Requirements

Pinry is built on top of Django and optimized to run on a Linux environment. However we have gotten Pinry to work on Windows and Mac as well but it may require some extra digging around configuration. Pinry's Python requirements are all in the Pipfile file. You can easily install these using pipenv, to get pipenv, if you already have Python and pip, run python pip install pipenv.

Testing

We have many tests built into Pinry to ensure that changes don't break anything. If you are live dangerously and have cutting edge new Pinry features first you can use our master branch for your own instance. We recommend using our tags/versions though.

To run Pinry's tests inside the Pinry repo run:

pipenv install --dev --three
pipenv run python manage.py test

Docker

Follow the steps below to install Pinry locally or on any server. This process installs the minimal requirements to run Pinry. For development requirements and procedures, see testing above.

Current docker configuration will just mount source code directory to docker app directory and run any codes existed in current git branch, you may also add "local_settings.py" to customize settings without changing settings file in pinry/settings.

  • Install the requirements:
    • Docker
    • Docker Compose
  • Set any custom configuration options you need and run:

    cp docker-compose.example.yml docker-compose.yml
    # edit docker-compose.yml and change the secret-key,
    # don't forget to backup this config file.
    docker-compose up -d
    
  • If you want to run Pinry with current user in docker:

    ./start_docker_with_current_user.sh [-d]
    
  • Bootstrap the database(optional):

    docker-compose exec web python3 manage.py migrate --settings=pinry.settings.docker
    

Note : No static file server configured, your should configure nginx or other server to serve static files from ./static

Linting

So everything isn't a mess:

pipenv run flake8 --exclude=migrations

Contributors

The core contributors for Pinry have been/currently are:

For a full list of contributors check out the GitHub Contributors Graph.

You can’t perform that action at this time.