miniflux running (without ssl)

main
Alpha Chen 2 years ago
parent 4af3162205
commit 154b2dd4d9
Signed by: alpha
SSH Key Fingerprint: SHA256:3fOT8fiYQG/aK9ntivV3Bqtg8AYQ7q4nV6ZgihOA20g

@ -1,5 +1,14 @@
# Lotus Land Story # Lotus Land Story
``` ```
# create the linode instance
terraform apply terraform apply
# add the IP to ~/.ssh/config
# make sure we can hit it
ansible all -m ping
# run ansible
ansible-playbook main.yml
``` ```

@ -0,0 +1,2 @@
[defaults]
inventory=hosts.yml

@ -0,0 +1,3 @@
all:
hosts:
lotus-land-story:

@ -0,0 +1,124 @@
- name: Set up lotus-land-story
hosts: lotus-land-story
tasks:
# https://wiki.debian.org/PostgreSql
- name: Install postgres
ansible.builtin.apt:
pkg:
- postgresql
- postgresql-client
state: present
- name: Install ansible requirements
ansible.builtin.apt:
pkg:
- docker-compose
- libpq-dev
- python3-docker
- python3-psycopg2
state: present
# https://docs.docker.com/engine/install/debian/#install-using-the-repository
- name: Install docker
block:
- name: Install docker requirements
ansible.builtin.apt:
pkg:
- ca-certificates
- curl
- gnupg
state: present
- name: Make /etc/apt/keyrings
file:
path: /etc/apt/keyrings
state: directory
mode: 0755
- name: Download Docker GPG key
ansible.builtin.shell: curl -fsSL https://download.docker.com/linux/debian/gpg | gpg --dearmor -o /etc/apt/keyrings/docker.gpg
args:
creates: /etc/apt/keyrings/docker.gpg
- name: Get architecture
command: dpkg --print-architecture
register: arch
- name: Set up docker repository
ansible.builtin.template:
src: templates/docker.list
dest: /etc/apt/sources.list.d/docker.list
- name: Install docker
apt:
pkg:
- docker-ce
- docker-ce-cli
- containerd.io
- docker-buildx-plugin
- docker-compose-plugin
update_cache: true
- name: Set up postgres
become: true
become_user: postgres
block:
# https://miniflux.app/docs/installation.html#docker
- name: Create a miniflux db
community.postgresql.postgresql_db:
name: miniflux
notify: Restart postgres
- name: Create a miniflux db user
community.postgresql.postgresql_user:
db: miniflux
name: miniflux
password: miniflux
notify: Restart postgres
- name: Get docker0 IP address
ansible.builtin.shell: ip -4 -o addr show docker0 | awk '{print $4}'
register: docker_ip
- name: Listen on docker0 interface
ansible.builtin.lineinfile:
dest: "/etc/postgresql/13/main/conf.d/listen.conf"
regexp: '^#?listen_addresses='
line: "listen_addresses='localhost,{{ docker_ip.stdout | ansible.utils.ipaddr('address') }}'"
state: present
create: true
notify: Restart postgres
- name: Grant miniflux access
community.postgresql.postgresql_pg_hba:
dest: /etc/postgresql/13/main/pg_hba.conf
contype: host
users: miniflux
source: samenet
databases: miniflux
create: true
notify: Restart postgres
- name: Install extensions
community.postgresql.postgresql_ext:
name: hstore
db: miniflux
notify: Restart postgres
- name: Run miniflux
community.docker.docker_compose:
project_name: miniflux
definition:
version: "3.3"
services:
miniflux:
image: miniflux/miniflux:latest
ports:
- "80:8080"
environment:
- DATABASE_URL=postgres://miniflux:miniflux@host.docker.internal/miniflux
- RUN_MIGRATIONS=1
- CREATE_ADMIN=1
- ADMIN_USERNAME=admin
- ADMIN_PASSWORD=test123
extra_hosts:
- "host.docker.internal:host-gateway"
handlers:
- name: Restart postgres
ansible.builtin.service:
name: postgresql
state: restarted

@ -0,0 +1 @@
deb [arch="{{ arch.stdout }}" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian {{ ansible_distribution_release }} stable
Loading…
Cancel
Save