ansible-privatebin/README.md

112 lines
3.6 KiB
Markdown
Raw Permalink Normal View History

# PrivateBin Role
Role installs and configures [PrivateBin](https://privatebin.info/) docker container.
## Requirements
Need to have an SSL Certificate, geerlingguy.certbot ansible galaxy role can be used to generate a Let's Encrypt SSL for the domain, if one does not already exist.
## Role Variables
### Task Variables
```yaml
private_bin_version: {{ version | default('1.3.4') }}
private_bin_user: 65534 # UID 65534 https://github.com/PrivateBin/docker-nginx-fpm-alpine
private_bin_group: 82 # GID 82 https://github.com/PrivateBin/docker-nginx-fpm-alpine
private_bin_directory: /srv
```
### conf.php Variables
These variables are the default ones that are set in the conf.sample.php file from the PrivateBin repo.
* Variables that are set `true` can be set `false` and vise versa.
* Variables that are left blank below are commented out in the config by default unless defined.
More deatils on the Variables here https://github.com/PrivateBin/PrivateBin/wiki/Configuration
Variables are fed into the [templates/conf.php.j2](templates/conf.php.j2) file
```yaml
private_bin_main_name:
private_bin_main_dicussion: "true"
private_bin_main_opendicussion: "false"
private_bin_main_password: "true"
private_bin_main_fileupload: "false"
private_bin_main_burnafterreadingselected: "false"
private_bin_main_defaultformatter: plaintext # plaintext, markdown, syntaxhighlighting
private_bin_main_syntaxhighlightingtheme: # sons-of-obsidian
private_bin_main_paste_sizelimit: 10485760
private_bin_main_template: bootstrap-dark # bootstrap, bootstrap-page, bootstrap-dark, bootstrap-dark-page, bootstrap-compact, bootstrap-compact-page, page
private_bin_main_notice:
private_bin_main_language_selection: "false"
private_bin_main_language_default:
private_bin_main_url_shortener:
private_bin_main_qrcode: "false"
private_bin_main_icon: identicon # identicon, vizhash, none
private_bin_main_cspheader:
private_bin_main_zerobincompatibility: "false"
private_bin_main_httpwarning: "true"
private_bin_main_compression: zlib # none
private_bin_expire_default: 1week # 5min 10min 1hour 1day 1week 1month 1year never
private_bin_expire_options: # add your own custom expire times
- time: $nicename
seconds: $seconds
- time: $nicename_2
seconds: $seconds_2
private_bin_traffic_limit: 10
private_bin_traffic_header:
private_bin_traffic_directory: data
private_bin_purge_limit: 300
private_bin_batchsize_limit: 10
private_bin_purge_directory: data
private_bin_model_class: Filesystem # Filesystem, MySql, SQLite
private_bin_model_fs_option_directory: data
private_bin_model_mysql_option_dsn:
private_bin_model_mysql_option_tbl:
private_bin_model_mysql_option_usr:
private_bin_model_mysql_option_pwd:
private_bin_model_mysql_option_opt:
private_bin_model_sqlite3_option_path:
private_bin_model_sqlite3_option_usr:
private_bin_model_sqlite3_option_pwd:
private_bin_model_sqlite3_option_opt:
```
## Dependencies
None
## Example Playbook
Including an example of how to use your role (for instance, with variables passed in as parameters) is always nice for users too:
```yaml
- hosts: privatebinhost
become: true
vars:
private_bin_version: {{ version | default('1.3.4') }}
# Set default page name
private_bin_main_name: "My Private Bin"
# different install location than /srv
private_bin_directory: /home/webuser/privatebin
# Set custom expiration times
private_bin_expire_options:
- time: 1min
seconds: 60
- time: 5min
seconds: 300
- time: 15min
seconds: 900
- time: 1hour
seconds: 3600
roles:
- geerlingguy.docker
- stationgroup.privatebin
```
## License
GPLv2