replace partkeepr with partsy, make private
This commit is contained in:
@@ -11,6 +11,7 @@ hass_path: "{{ podman_volumes }}/hass"
|
||||
# nginx_path: removed - nginx no longer used
|
||||
nosql_path: "{{ podman_volumes }}/nosql"
|
||||
partkeepr_path: "{{ podman_volumes }}/partkeepr"
|
||||
partsy_path: "{{ podman_volumes }}/partsy"
|
||||
photos_path: "{{ podman_volumes }}/photos"
|
||||
pihole_path: "{{ podman_volumes }}/pihole"
|
||||
sshpass_cron_path: "{{ podman_volumes }}/sshpass_cron"
|
||||
|
||||
@@ -1,66 +1,59 @@
|
||||
---
|
||||
- name: create required partkeepr volumes
|
||||
# PartKeepr has been replaced by Partsy
|
||||
# This playbook removes PartKeepr containers and services
|
||||
# Keeping MySQL data volume for historical reference only
|
||||
|
||||
- name: stop and remove partkeepr container
|
||||
become: true
|
||||
become_user: "{{ podman_user }}"
|
||||
containers.podman.podman_container:
|
||||
name: partkeepr
|
||||
state: absent
|
||||
|
||||
- name: stop and remove partkeepr-db container
|
||||
become: true
|
||||
become_user: "{{ podman_user }}"
|
||||
containers.podman.podman_container:
|
||||
name: partkeepr-db
|
||||
state: absent
|
||||
|
||||
- name: remove systemd service for partkeepr
|
||||
become: true
|
||||
ansible.builtin.systemd:
|
||||
name: "podman-partkeepr.service"
|
||||
state: stopped
|
||||
enabled: false
|
||||
daemon_reload: true
|
||||
ignore_errors: true
|
||||
|
||||
- name: remove systemd service for partkeepr-db
|
||||
become: true
|
||||
ansible.builtin.systemd:
|
||||
name: "podman-partkeepr-db.service"
|
||||
state: stopped
|
||||
enabled: false
|
||||
daemon_reload: true
|
||||
ignore_errors: true
|
||||
|
||||
- name: remove systemd service files for partkeepr
|
||||
become: true
|
||||
ansible.builtin.file:
|
||||
path: "{{ item }}"
|
||||
state: absent
|
||||
loop:
|
||||
- "/etc/systemd/system/podman-partkeepr.service"
|
||||
- "/etc/systemd/system/podman-partkeepr-db.service"
|
||||
notify: systemd daemon-reload
|
||||
|
||||
- name: preserve partkeepr mysql data volume for history
|
||||
become: true
|
||||
ansible.builtin.file:
|
||||
path: "{{ partkeepr_path }}/mysql"
|
||||
state: directory
|
||||
owner: "{{ podman_subuid.stdout }}"
|
||||
group: "{{ podman_user }}"
|
||||
mode: 0755
|
||||
notify: restorecon podman
|
||||
loop:
|
||||
- "{{ partkeepr_path }}/mysql"
|
||||
|
||||
- name: flush handlers
|
||||
ansible.builtin.meta: flush_handlers
|
||||
|
||||
- import_tasks: podman/podman-check.yml
|
||||
vars:
|
||||
container_name: partkeepr-db
|
||||
container_image: "{{ db_image }}"
|
||||
|
||||
- name: create partkeepr-db container
|
||||
become: true
|
||||
become_user: "{{ podman_user }}"
|
||||
containers.podman.podman_container:
|
||||
name: partkeepr-db
|
||||
image: "{{ db_image }}"
|
||||
restart_policy: on-failure:3
|
||||
log_driver: journald
|
||||
network:
|
||||
- shared
|
||||
env:
|
||||
MYSQL_RANDOM_ROOT_PASSWORD: "yes"
|
||||
MYSQL_DATABASE: partkeepr
|
||||
MYSQL_USER: partkeepr
|
||||
MYSQL_PASSWORD: "{{ partkeepr_mysql_password }}"
|
||||
volumes:
|
||||
- "{{ partkeepr_path }}/mysql:/var/lib/mysql"
|
||||
|
||||
- name: create systemd startup job for partkeepr-db
|
||||
include_tasks: podman/systemd-generate.yml
|
||||
vars:
|
||||
container_name: partkeepr-db
|
||||
|
||||
- import_tasks: podman/podman-check.yml
|
||||
vars:
|
||||
container_name: partkeepr
|
||||
container_image: "{{ image }}"
|
||||
|
||||
- name: create partkeepr container
|
||||
become: true
|
||||
become_user: "{{ podman_user }}"
|
||||
containers.podman.podman_container:
|
||||
name: partkeepr
|
||||
image: "{{ image }}"
|
||||
restart_policy: on-failure:3
|
||||
log_driver: journald
|
||||
network:
|
||||
- shared
|
||||
ports:
|
||||
- "8081:80"
|
||||
|
||||
- name: create systemd startup job for partkeepr
|
||||
include_tasks: podman/systemd-generate.yml
|
||||
vars:
|
||||
container_name: partkeepr
|
||||
|
||||
49
ansible/roles/podman/tasks/containers/home/partsy.yml
Normal file
49
ansible/roles/podman/tasks/containers/home/partsy.yml
Normal file
@@ -0,0 +1,49 @@
|
||||
---
|
||||
- name: create partsy host directory volumes
|
||||
become: true
|
||||
ansible.builtin.file:
|
||||
path: "{{ item }}"
|
||||
state: directory
|
||||
owner: "{{ podman_subuid.stdout }}"
|
||||
group: "{{ podman_user }}"
|
||||
mode: 0777
|
||||
notify: restorecon podman
|
||||
loop:
|
||||
- "{{ partsy_path }}/data"
|
||||
- "{{ partsy_path }}/backups"
|
||||
|
||||
- name: flush handlers
|
||||
ansible.builtin.meta: flush_handlers
|
||||
|
||||
- import_tasks: podman/podman-check.yml
|
||||
vars:
|
||||
container_name: partsy
|
||||
container_image: "{{ image }}"
|
||||
|
||||
- name: create partsy container
|
||||
become: true
|
||||
become_user: "{{ podman_user }}"
|
||||
containers.podman.podman_container:
|
||||
name: partsy
|
||||
image: "{{ image }}"
|
||||
restart_policy: on-failure:3
|
||||
log_driver: journald
|
||||
network:
|
||||
- shared
|
||||
env:
|
||||
PARTSY_MODE: development
|
||||
PARTSY_DATA_DIR: /data
|
||||
PARTSY_BACKUP_DIR: /backups
|
||||
PARTSY_PORT: "8080"
|
||||
PARTSY_STATIC_DIR: /app/static
|
||||
LOG_LEVEL: info
|
||||
volumes:
|
||||
- "{{ partsy_path }}/data:/data"
|
||||
- "{{ partsy_path }}/backups:/backups"
|
||||
ports:
|
||||
- "8081:8080"
|
||||
|
||||
- name: create systemd startup job for partsy
|
||||
include_tasks: podman/systemd-generate.yml
|
||||
vars:
|
||||
container_name: partsy
|
||||
@@ -40,18 +40,23 @@
|
||||
image: docker.io/bdebyl/partkeepr:0.1.10
|
||||
tags: partkeepr
|
||||
|
||||
- import_tasks: containers/home/partsy.yml
|
||||
vars:
|
||||
image: localhost/partsy:b8e4e92-dirty
|
||||
tags: partsy
|
||||
|
||||
- import_tasks: containers/skudak/wiki.yml
|
||||
vars:
|
||||
db_image: docker.io/library/mysql:5.7.21
|
||||
image: docker.io/solidnerd/bookstack:25.5
|
||||
image: docker.io/solidnerd/bookstack:25.7
|
||||
tags: skudak, skudak-wiki
|
||||
|
||||
- import_tasks: containers/home/photos.yml
|
||||
vars:
|
||||
db_image: docker.io/tensorchord/pgvecto-rs:pg14-v0.2.0@sha256:90724186f0a3517cf6914295b5ab410db9ce23190a2d9d0b9dd6463e3fa298f0
|
||||
ml_image: ghcr.io/immich-app/immich-machine-learning:v1.142.1
|
||||
ml_image: ghcr.io/immich-app/immich-machine-learning:v2.1.0
|
||||
redis_image: docker.io/redis:6.2-alpine@sha256:eaba718fecd1196d88533de7ba49bf903ad33664a92debb24660a922ecd9cac8
|
||||
image: ghcr.io/immich-app/immich-server:v1.142.1
|
||||
image: ghcr.io/immich-app/immich-server:v2.1.0
|
||||
tags: photos
|
||||
|
||||
- import_tasks: containers/home/cloud.yml
|
||||
@@ -68,10 +73,15 @@
|
||||
|
||||
- import_tasks: containers/debyltech/fulfillr.yml
|
||||
vars:
|
||||
image: "{{ aws_ecr_endpoint }}/fulfillr:20250916.1905"
|
||||
image: "{{ aws_ecr_endpoint }}/fulfillr:20251003.1533"
|
||||
tags: debyltech, fulfillr
|
||||
|
||||
- import_tasks: containers/home/nosql.yml
|
||||
vars:
|
||||
image: docker.io/redis:7.2.1-alpine
|
||||
tags: nosql
|
||||
tags: nosql
|
||||
|
||||
- import_tasks: containers/home/gregtime.yml
|
||||
vars:
|
||||
image: docker.io/library/greg-time-bot:1.0.1
|
||||
tags: gregtime
|
||||
@@ -73,16 +73,6 @@
|
||||
}
|
||||
}
|
||||
|
||||
# Parts/PartKeepr - {{ parts_server_name }}
|
||||
{{ parts_server_name }} {
|
||||
import common_headers
|
||||
reverse_proxy localhost:8081
|
||||
|
||||
log {
|
||||
output file /var/log/caddy/parts.log
|
||||
format json
|
||||
}
|
||||
}
|
||||
|
||||
# Wiki/BookStack - {{ bookstack_server_name }}
|
||||
{{ bookstack_server_name }} {
|
||||
@@ -128,12 +118,27 @@
|
||||
# Home server - {{ home_server_name }}
|
||||
{{ home_server_name }} {
|
||||
{{ ip_restricted_site() }}
|
||||
|
||||
|
||||
handle @local {
|
||||
respond "Home Server Access OK" 200
|
||||
}
|
||||
}
|
||||
|
||||
# Parts/Partsy - {{ parts_server_name }}
|
||||
{{ parts_server_name }} {
|
||||
{{ ip_restricted_site() }}
|
||||
|
||||
handle @local {
|
||||
import common_headers
|
||||
reverse_proxy localhost:8081
|
||||
}
|
||||
|
||||
log {
|
||||
output file /var/log/caddy/parts.log
|
||||
format json
|
||||
}
|
||||
}
|
||||
|
||||
# ============================================================================
|
||||
# COMPLEX CONFIGURATIONS
|
||||
# ============================================================================
|
||||
|
||||
Reference in New Issue
Block a user