Fix files and templates.
Check if the GeoIP db exists and configure accordingly. Move preparation tasks to prepare.yml. Fix destroy.yml.
This commit is contained in:
		
							parent
							
								
									7c674a8891
								
							
						
					
					
						commit
						347f54fd79
					
				| @ -24,8 +24,8 @@ plausible_version: "latest" | ||||
| plausible_pg_password: "change_me" | ||||
| 
 | ||||
| # Volumes | ||||
| plausible_base: "/mnt/plausible" | ||||
| plausible_config: "{{ plausible_base }}/config" | ||||
| plausible_db_data: "{{ plausible_base }}/db_data" | ||||
| plausible_event_data: "{{ plausible_base }}/event_data" | ||||
| plausible_geoip_database: "{{ plausible_base }}/geoip_data" | ||||
| plausible_volume_base: "/mnt/plausible" | ||||
| plausible_volume_config: "{{ plausible_volume_base }}/config" | ||||
| plausible_volume_db: "{{ plausible_volume_base }}/db_data" | ||||
| plausible_volume_events: "{{ plausible_volume_base }}/event_data" | ||||
| plausible_volume_geoip: "{{ plausible_volume_base }}/geoip_data" | ||||
|  | ||||
| @ -1,2 +1,8 @@ | ||||
| --- | ||||
| # handlers file for plausible | ||||
| - name: Restart plausible | ||||
|   community.docker.docker_compose: | ||||
|     project_src: ~/plausible/ | ||||
|     build: false | ||||
|     restarted: true | ||||
|   become: false | ||||
|  | ||||
| @ -3,20 +3,9 @@ | ||||
|   hosts: all | ||||
|   # gather_facts: false | ||||
|   pre_tasks: | ||||
|     - name: Update apt cache. | ||||
|       apt: update_cache=yes cache_valid_time=600 | ||||
|       when: ansible_os_family == 'Debian' | ||||
|     - name: Install python requests | ||||
|       pip: | ||||
|         name:  | ||||
|           - requests | ||||
|           - docker | ||||
|           - docker-compose | ||||
|     - name: Install docker | ||||
|       vars: | ||||
|         docker_service_manage: false | ||||
|       include_role: | ||||
|         name: geerlingguy.docker | ||||
|     - name: "Include necessary variables" | ||||
|       ansible.builtin.include_vars: | ||||
|         file: "../../.env.yml" | ||||
|        | ||||
|   roles: | ||||
|     - role: laurivan.plausible | ||||
|  | ||||
| @ -6,6 +6,10 @@ | ||||
|   no_log: "{{ molecule_no_log }}" | ||||
|   tasks: | ||||
|     # Developer must implement. | ||||
|     - name: Remove the docker image | ||||
|       community.docker.docker_container: | ||||
|         name: instance | ||||
|         state: absent | ||||
| 
 | ||||
|     # Mandatory configuration for Molecule to function. | ||||
| 
 | ||||
|  | ||||
| @ -10,3 +10,17 @@ | ||||
|       raw: mount --move /tmp/docker_mounted.sock /var/run/docker.sock | ||||
|       become: true | ||||
|       changed_when: false | ||||
|     - name: Update apt cache. | ||||
|       apt: update_cache=yes cache_valid_time=600 | ||||
|       when: ansible_os_family == 'Debian' | ||||
|     - name: Install python requests | ||||
|       pip: | ||||
|         name:  | ||||
|           - requests | ||||
|           - docker | ||||
|           - docker-compose | ||||
|     - name: Install docker | ||||
|       vars: | ||||
|         docker_service_manage: false | ||||
|       include_role: | ||||
|         name: geerlingguy.docker | ||||
|  | ||||
| @ -1,18 +1,20 @@ | ||||
| --- | ||||
| # tasks file for plausible | ||||
| 
 | ||||
| # Check if geoip volume exists | ||||
| - name: Check if geoip volume exists | ||||
|   ansible.builtin.stat: | ||||
|     path: "{{ plausible_volume_geoip }}/GeoLite2-Country.mmdb" | ||||
|   register: plausible_geoip_stat | ||||
| 
 | ||||
| - name: Set up directories | ||||
|   ansible.builtin.file: | ||||
|     state: directory | ||||
|     path: "{{ item }}" | ||||
|     mode: 0755 | ||||
|   with_items: | ||||
|     - "{{ plausible_volume_media }}" | ||||
|     - "{{ plausible_volume_certs }}" | ||||
|     - "{{ plausible_volume_geoip }}" | ||||
|     - "{{ plausible_volume_templates }}" | ||||
|     - "{{ plausible_volume_config }}" | ||||
|     - "{{ plausible_volume_redis }}" | ||||
|     - "{{ plausible_volume_events }}" | ||||
|     - "~/plausible" | ||||
|   tags: | ||||
|     - configuration | ||||
| @ -28,7 +30,29 @@ | ||||
|     - "{{ plausible_volume_db }}" | ||||
|   tags: | ||||
|     - configuration | ||||
|   become: false | ||||
|   become: true | ||||
| 
 | ||||
| - name: Write plausible configuration (1) | ||||
|   ansible.builtin.template: | ||||
|     src: "{{ item }}.j2" | ||||
|     dest: "{{ plausible_volume_config }}/{{ item }}" | ||||
|     mode: '0640' | ||||
|   loop: | ||||
|     - "env.plausible.conf" | ||||
|     - "env.mail.conf" | ||||
|   tags: | ||||
|     - configuration | ||||
| 
 | ||||
| - name: Write plausible configuration (2) | ||||
|   ansible.builtin.copy: | ||||
|     src: "{{ item }}" | ||||
|     dest: "{{ plausible_volume_config }}/{{ item }}" | ||||
|     mode: '0640' | ||||
|   loop: | ||||
|     - "clickhouse-config.xml" | ||||
|     - "clickhouse-user-config.xml" | ||||
|   tags: | ||||
|     - configuration | ||||
| 
 | ||||
| - name: Copy plausible docker-compose template. | ||||
|   ansible.builtin.template: | ||||
| @ -38,14 +62,6 @@ | ||||
|   become: false | ||||
|   notify: Restart plausible | ||||
| 
 | ||||
| - name: Copy plausible configuration. | ||||
|   ansible.builtin.template: | ||||
|     src: templates/env.plausible.conf.j2 | ||||
|     dest: "{{ plausible_volume_config }}/env.plausible.conf" | ||||
|     mode: '0640' | ||||
|   become: false | ||||
|   notify: Restart plausible | ||||
| 
 | ||||
| - name: Ensure plausible is running. | ||||
|   community.docker.docker_compose: | ||||
|     project_src: ~/plausible/ | ||||
|  | ||||
| @ -3,6 +3,8 @@ services: | ||||
|   mail: | ||||
|     image: bytemark/smtp | ||||
|     restart: always | ||||
|     env_file: | ||||
|       - {{ plausible_volume_config }}/env.mail.conf | ||||
|     networks: | ||||
|       - plausible | ||||
| 
 | ||||
| @ -10,9 +12,9 @@ services: | ||||
|     image: postgres:12 | ||||
|     restart: always | ||||
|     volumes: | ||||
|       - {{ plausible_db_data }}:/var/lib/postgresql/data | ||||
|       - {{ plausible_volume_db }}:/var/lib/postgresql/data | ||||
|     environment: | ||||
|       - POSTGRES_PASSWORD=postgres | ||||
|       - POSTGRES_PASSWORD={{ plausible_pg_password }} | ||||
|     networks: | ||||
|       - plausible | ||||
| 
 | ||||
| @ -20,9 +22,9 @@ services: | ||||
|     image: clickhouse/clickhouse-server:22.6-alpine | ||||
|     restart: always | ||||
|     volumes: | ||||
|       - {{ plausible_event_data }}:/var/lib/clickhouse | ||||
|       - {{ plausible_config }}/clickhouse-config.xml:/etc/clickhouse-server/config.d/logging.xml:ro | ||||
|       - {{ plausible_config }}/clickhouse-user-config.xml:/etc/clickhouse-server/users.d/logging.xml:ro | ||||
|       - {{ plausible_volume_events }}:/var/lib/clickhouse | ||||
|       - {{ plausible_volume_config }}/clickhouse-config.xml:/etc/clickhouse-server/config.d/logging.xml:ro | ||||
|       - {{ plausible_volume_config }}/clickhouse-user-config.xml:/etc/clickhouse-server/users.d/logging.xml:ro | ||||
|     ulimits: | ||||
|       nofile: | ||||
|         soft: 262144 | ||||
| @ -41,9 +43,13 @@ services: | ||||
|     ports: | ||||
|       - {{ plausible_port }}:8000 | ||||
|     env_file: | ||||
|       - {{ plausible_config }}/env.plausible.conf | ||||
|       - {{ plausible_volume_config }}/env.plausible.conf | ||||
| {% if plausible_geoip_stat.stat.exists %} | ||||
|     volumes: | ||||
|       - {{ plausible_geoip_database }}:/geoip:ro | ||||
|       - {{ plausible_volume_geoip }}/GeoLite2-Country.mmdb:/geoip:ro | ||||
| {% else %} | ||||
|     # No GeoIP data volume | ||||
| {% endif%} | ||||
|     networks: | ||||
|       - plausible | ||||
| 
 | ||||
|  | ||||
| @ -1,4 +1,6 @@ | ||||
| {%if plausible_smtp_host %} | ||||
| RELAY_HOST={{ plausible_smtp_host }} | ||||
| RELAY_PORT={{ plausible_smtp_port }} | ||||
| RELAY_USERNAME={{ plausible_smtp_username }} | ||||
| RELAY_PASSWORD={{ plausible_smtp_password }} | ||||
| {% endif %} | ||||
| @ -0,0 +1,17 @@ | ||||
| ADMIN_USER_EMAIL={{ plausible_admin_user_email }} | ||||
| ADMIN_USER_NAME={{ plausible_admin_user_name }} | ||||
| ADMIN_USER_PWD={{ plausible_admin_user_pwd }} | ||||
| BASE_URL={{ plausible_base_url }} | ||||
| SECRET_KEY_BASE={{ plausible_secret_key_base }} | ||||
| 
 | ||||
| {% if plausible_geoip_stat.stat.exists %} | ||||
| GEOLITE2_COUNTRY_DB={{ plausible_volume_geoip }}/GeoLite2-Country.mmdb | ||||
| {% endif %} | ||||
| 
 | ||||
| # DB and events | ||||
| DATABASE_URL=postgres://postgres:{{ plausible_pg_password }}@plausible_db:5432/plausible_db | ||||
| CLICKHOUSE_DATABASE_URL=http://plausible_events_db:8123/plausible_events_db | ||||
| 
 | ||||
| #SMTP | ||||
| SMTP_HOST_ADDR=plausible_mail | ||||
| MAILER_EMAIL={{ plausible_smtp_email }} | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user