Adds miniflux, improves tt-rss

This commit is contained in:
Nemo 2018-07-01 04:17:22 +05:30
parent c44c8f0249
commit 53bfd99ad5
8 changed files with 95 additions and 0 deletions

View File

@ -80,6 +80,15 @@ module "tt-rss" {
postgres-network-id = "${module.db.postgres-network-id}"
}
module "miniflux" {
source = "miniflux"
domain = "miniflux.bb8.fun"
db-password = "${var.miniflux-db-password}"
traefik-labels = "${var.traefik-common-labels}"
traefik-network-id = "${module.docker.traefik-network-id}"
postgres-network-id = "${module.db.postgres-network-id}"
}
module "rss-bridge" {
source = "rss-bridge"
domain = "rss-bridge.bb8.fun"

10
miniflux/db-postgres.tf Normal file
View File

@ -0,0 +1,10 @@
resource "postgresql_database" "miniflux" {
name = "miniflux"
owner = "miniflux"
}
resource "postgresql_role" "miniflux" {
name = "miniflux"
login = true
password = "${var.db-password}"
}

30
miniflux/main.tf Normal file
View File

@ -0,0 +1,30 @@
data "docker_registry_image" "miniflux" {
name = "miniflux/miniflux:2.0.8"
}
resource "docker_image" "miniflux" {
name = "${data.docker_registry_image.miniflux.name}"
pull_triggers = ["${data.docker_registry_image.miniflux.sha256_digest}"]
}
resource "docker_container" "miniflux" {
name = "miniflux"
image = "${docker_image.miniflux.latest}"
labels = "${merge(
var.traefik-labels, map(
"traefik.port", 8080,
"traefik.frontend.rule","Host:${var.domain}"
))}"
networks = ["${var.traefik-network-id}", "${var.postgres-network-id}"]
env = [
"DATABASE_URL=postgres://miniflux:${var.db-password}@postgres/miniflux?sslmode=disable",
"RUN_MIGRATIONS=1",
]
restart = "unless-stopped"
destroy_grace_seconds = 10
must_run = true
}

12
miniflux/variables.tf Normal file
View File

@ -0,0 +1,12 @@
variable "domain" {
type = "string"
}
variable "db-password" {}
variable "postgres-network-id" {}
variable "traefik-labels" {
type = "map"
}
variable "traefik-network-id" {}

View File

@ -26,4 +26,5 @@ resource "docker_image" "speedtest" {
resource "docker_image" "act-exporter" {
name = "${data.docker_registry_image.act-exporter.name}"
pull_triggers = ["${data.docker_registry_image.act-exporter.sha256_digest}"]
keep_locally = true
}

27
tt-rss/fastcgi.conf Normal file
View File

@ -0,0 +1,27 @@
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param QUERY_STRING $query_string;
fastcgi_param REQUEST_METHOD $request_method;
fastcgi_param CONTENT_TYPE $content_type;
fastcgi_param CONTENT_LENGTH $content_length;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
fastcgi_param REQUEST_URI $request_uri;
fastcgi_param DOCUMENT_URI $document_uri;
fastcgi_param DOCUMENT_ROOT $document_root;
fastcgi_param SERVER_PROTOCOL $server_protocol;
fastcgi_param REQUEST_SCHEME $scheme;
fastcgi_param HTTPS $https if_not_empty;
fastcgi_param GATEWAY_INTERFACE CGI/1.1;
fastcgi_param SERVER_SOFTWARE nginx/$nginx_version;
fastcgi_param REMOTE_ADDR $remote_addr;
fastcgi_param REMOTE_PORT $remote_port;
fastcgi_param SERVER_ADDR $server_addr;
fastcgi_param SERVER_PORT $server_port;
fastcgi_param SERVER_NAME $server_name;
# PHP only, required if PHP was built with --enable-force-cgi-redirect
fastcgi_param REDIRECT_STATUS 200;
fastcgi_read_timeout 300s

View File

@ -22,6 +22,11 @@ resource "docker_container" "tt-rss" {
container_path = "/config"
}
upload {
content = "${file("${path.module}/fastcgi.conf")}"
file = "/etc/nginx/fastcgi.conf"
}
networks = ["${var.traefik-network-id}", "${var.postgres-network-id}"]
env = [

View File

@ -82,3 +82,4 @@ variable "timemachine-password-1" {}
variable "opml-github-client-id" {}
variable "opml-github-client-secret" {}
variable "miniflux-db-password" {}