+
+ + +
+
+
+ +
+
+
+ + +
+
+
+ + +
+
+
+ + +
+
+ + + + + +

Pinry Docker

+

A nice and easy way to get a Pinry instance up and running using docker. For +help on getting started with docker see the official getting started guide at +the end of this page.

+

Getting Pinry Docker

+

Running this will get the latest version of pinry itself

+
git clone https://github.com/pinry/pinry
+cd pinry/docker
+./build_docker.sh
+
+ + +

Now you can start your container by command like this

+
# this is where your database, local_settings and pins located
+mkdir data
+# use absolute path for docker to avoid using default data-volume (we use directory instead)
+./start_docker.sh `readlink -f data`
+
+ + +

Please visit http://your-ip to visit your instance and register a new account, enjoy it.

+

Configuring docker-pinry

+

Enable signups for new users by editing pinry/local_settings.py

+
ALLOW_NEW_REGISTRATIONS = True
+
+ + +

Building docker-pinry again (with latest version)

+

Running this will build you a docker image with the latest version of pinry

+
git pull --rebase
+cd ./docker/
+./build_docker.sh
+
+ + +

Backup

+

Just copy data folder's content to an safe place, enjoy :)

+

Why include nginx and not just map to gunicorn directly?

+

Because gunicorn/django can't serve static files very well and it is unwise to do +so for security reasons. I built this so that people can have a full hosted +solution in a container. If you have a host machine running nginx then of course +there is no point to run nginx in the container as well, you can simply disable +nginx, map gunicorn to a port and then set your host machine's nginx to display +your media and static files since that directory is shared between the container +and host.

+

Why use sqlite3?

+

Because it has a very low resource cost and most pinry websites are small +personal ones. Why have a full on database for that? If you need more power +than you can easily modify the data/local_settings.py to point to a +stronger database solution.

+

Links

+ + + + + + + + + + +
+
+
+