diff --git a/manuscript/images/privatebin.png b/manuscript/images/privatebin.png new file mode 100644 index 0000000..8d71fb4 Binary files /dev/null and b/manuscript/images/privatebin.png differ diff --git a/manuscript/recipies/privatebin.md b/manuscript/recipies/privatebin.md new file mode 100644 index 0000000..5bb2c32 --- /dev/null +++ b/manuscript/recipies/privatebin.md @@ -0,0 +1,70 @@ +# PrivateBin + +PrivateBin is a minimalist, open source online pastebin where the server (can) has zero knowledge of pasted data. We all need to paste data / log files somewhere when it doesn't make sense to paste it inline. With PasteBin, you can own the hosting, access, and eventual deletion of this data. + +![PrivateBin Screenshot](../images/privatebin.png) + +## Ingredients + +1. [Docker swarm cluster](/ha-docker-swarm/design/) with [persistent shared storage](/ha-docker-swarm/shared-storage-ceph.md) +2. [Traefik](/ha-docker-swarm/traefik_public) configured per design +3. DNS entry for the hostname you intend to use, pointed to your [keepalived](ha-docker-swarm/keepalived/) IP + +## Preparation + +### Setup data locations + +We'll need a single location to bind-mount into our container, so create /var/data/privatebin, and make it world-writable (_there might be a more secure way to do this!_) + +``` +mkdir /var/data/privatebin +chmod 777 /var/data/privatebin/ +``` + +### Setup Docker Swarm + +Create a docker swarm config file in docker-compose syntax (v3), something like this: + +!!! tip + I share (_with my [patreon patrons](https://www.patreon.com/funkypenguin)_) a private "_premix_" git repository, which includes necessary docker-compose and env files for all published recipes. This means that patrons can launch any recipe with just a ```git pull``` and a ```docker stack deploy``` 👍 + + +``` +version: '3' + +services: + app: + image: privatebin/nginx-fpm-alpine + volumes: + - /var/data/privatebin:/srv/data + networks: + - traefik_public + deploy: + labels: + - traefik.frontend.rule=Host:privatebin.funkypenguin.co.nz + - traefik.docker.network=traefik_public + - traefik.port=4180 + +networks: + traefik_public: + external: true +``` + +## Serving + +### Launch PrivateBin stack + +Launch the PrivateBin stack by running ```docker stack deploy privatebin -c ``` + +Log into your new instance at https://**YOUR-FQDN**, with user "root" and the password you specified in gitlab.env. + +## Chef's Notes + +1. The [PrivateBin repo](https://github.com/PrivateBin/PrivateBin/blob/master/INSTALL.md) explains how to tweak configuration options, or to use a database instead of file storage, if your volume justifies it :) +2. The inclusion of PrivateBin was due to the efforts of @gkoerk in our [Discord server](http://chat.funkypenguin.co.nz). Thanks Jerry!! + +### Tip your waiter (donate) 👏 + +Did you receive excellent service? Want to make your waiter happy? (_..and support development of current and future recipes!_) See the [support](/support/) page for (_free or paid)_ ways to say thank you! 👏 + +### Your comments? 💬 diff --git a/mkdocs.yml b/mkdocs.yml index f054966..747a913 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -65,13 +65,14 @@ pages: - OwnTracks: recipies/owntracks.md - Swarmprom: recipies/swarmprom.md - Turtle Pool: recipies/turtle-pool.md + - PriåteBin: recipies/privatebin.md - Menu: - Bookstack: recipies/bookstack.md - Ghost: recipies/ghost.md - GitLab: recipies/gitlab.md - GitLab Runner: recipies/gitlab-runner.md - Gollum: recipies/gollum.md - - Realms: recipies/realms.md + - Realms: recipies/realms.md - Piwik: recipies/piwik.md - Wekan: recipies/wekan.md - Tiny Tiny RSS: recipies/tiny-tiny-rss.md @@ -94,6 +95,10 @@ pages: - Minerhotel: recipies/cryptominer/minerhotel.md - Monitoring: recipies/cryptominer/monitor.md - Profit!: recipies/cryptominer/profit.md + - SSO Stack: + - Start: recipies/sso-stack.md + - OpenLDAP: recipies/sso-stack/openldap.md + - KeyCloak: recipies/sso-stack/keycloak.md - Reference: - OAuth Proxy: reference/oauth_proxy.md - Data Layout: reference/data_layout.md