From 3014e5d052b07b565125d21d36ede2404648f111 Mon Sep 17 00:00:00 2001 From: Jake Howard Date: Fri, 12 Feb 2021 23:32:31 +0000 Subject: [PATCH] Provision privatebin --- ansible/main.yml | 1 + .../roles/privatebin/files/docker-compose.yml | 15 +++++++++++++++ ansible/roles/privatebin/handlers/main.yml | 4 ++++ ansible/roles/privatebin/tasks/main.yml | 17 +++++++++++++++++ terraform/theorangeone.net.tf | 8 ++++++++ 5 files changed, 45 insertions(+) create mode 100644 ansible/roles/privatebin/files/docker-compose.yml create mode 100644 ansible/roles/privatebin/handlers/main.yml create mode 100644 ansible/roles/privatebin/tasks/main.yml diff --git a/ansible/main.yml b/ansible/main.yml index 6f49dba..b335edd 100644 --- a/ansible/main.yml +++ b/ansible/main.yml @@ -52,6 +52,7 @@ - duplicati - yourls - pve_nebula_route + - privatebin - hosts: ingress roles: diff --git a/ansible/roles/privatebin/files/docker-compose.yml b/ansible/roles/privatebin/files/docker-compose.yml new file mode 100644 index 0000000..4c471ac --- /dev/null +++ b/ansible/roles/privatebin/files/docker-compose.yml @@ -0,0 +1,15 @@ +version: "2.3" + +services: + privatebin: + image: privatebin/nginx-fpm-alpine:latest + environment: + - TZ={{ TZ }} + volumes: + - "{{ app_data_dir }}/privatebin/:/srv/data" + restart: unless-stopped + labels: + - traefik.enable=true + - traefik.http.routers.privatebin.rule=Host(`bin.theorangeone.net`) + - traefik.http.routers.privatebin.tls.certresolver=le + - traefik.http.routers.privatebin.middlewares=compress@file diff --git a/ansible/roles/privatebin/handlers/main.yml b/ansible/roles/privatebin/handlers/main.yml new file mode 100644 index 0000000..df15a9a --- /dev/null +++ b/ansible/roles/privatebin/handlers/main.yml @@ -0,0 +1,4 @@ +- name: restart privatebin + shell: + chdir: /opt/privatebin + cmd: "{{ docker_update_command }}" diff --git a/ansible/roles/privatebin/tasks/main.yml b/ansible/roles/privatebin/tasks/main.yml new file mode 100644 index 0000000..b487fd4 --- /dev/null +++ b/ansible/roles/privatebin/tasks/main.yml @@ -0,0 +1,17 @@ +- name: Create install directory + file: + path: /opt/privatebin + state: directory + owner: "{{ docker_user.name }}" + mode: "{{ docker_compose_directory_mask }}" + become: true + +- name: Install compose file + template: + src: files/docker-compose.yml + dest: /opt/privatebin/docker-compose.yml + mode: "{{ docker_compose_file_mask }}" + owner: "{{ docker_user.name }}" + validate: docker-compose -f %s config + notify: restart privatebin + become: true diff --git a/terraform/theorangeone.net.tf b/terraform/theorangeone.net.tf index ed8113c..bcff0ba 100644 --- a/terraform/theorangeone.net.tf +++ b/terraform/theorangeone.net.tf @@ -164,3 +164,11 @@ resource "cloudflare_record" "theorangeonenet_notes" { type = "CNAME" ttl = 1 } + +resource "cloudflare_record" "theorangeonenet_privatebin" { + zone_id = cloudflare_zone.theorangeonenet.id + name = "bin" + value = vultr_server.casey.main_ip + type = "A" + ttl = 1 +}