Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 0cc349765e | |||
| 7ad7b26385 |
@@ -11,30 +11,12 @@ app_data_disks:
|
|||||||
disk_id: scsi1
|
disk_id: scsi1
|
||||||
mount_point: /data/pocket-id
|
mount_point: /data/pocket-id
|
||||||
device: /dev/sdb
|
device: /dev/sdb
|
||||||
komodo:
|
trek:
|
||||||
vm: infra-core-1
|
|
||||||
vmid: 410
|
|
||||||
node: purah
|
|
||||||
size: "20"
|
|
||||||
storage: purah-mirror-860gb
|
|
||||||
disk_id: scsi2
|
|
||||||
mount_point: /data/komodo
|
|
||||||
device: /dev/sdc
|
|
||||||
komodo-periphery-media:
|
|
||||||
vm: media-1
|
|
||||||
vmid: 420
|
|
||||||
node: purah
|
|
||||||
size: "20"
|
|
||||||
storage: purah-mirror-860gb
|
|
||||||
disk_id: scsi1
|
|
||||||
mount_point: /data/komodo-periphery
|
|
||||||
device: /dev/sdb
|
|
||||||
komodo-periphery-apps:
|
|
||||||
vm: apps-1
|
vm: apps-1
|
||||||
vmid: 430
|
vmid: 430
|
||||||
node: yunobo
|
node: yunobo
|
||||||
size: "20"
|
size: "10"
|
||||||
storage: nvme-2tb
|
storage: nvme-2tb
|
||||||
disk_id: scsi1
|
disk_id: scsi1
|
||||||
mount_point: /data/komodo-periphery
|
mount_point: /data/trek
|
||||||
device: /dev/sdb
|
device: /dev/sdb
|
||||||
|
|||||||
@@ -31,3 +31,4 @@
|
|||||||
- base
|
- base
|
||||||
- docker
|
- docker
|
||||||
- komodo-periphery
|
- komodo-periphery
|
||||||
|
- trek
|
||||||
|
|||||||
@@ -0,0 +1,53 @@
|
|||||||
|
---
|
||||||
|
- name: Add data disk to VM for trek
|
||||||
|
community.proxmox.proxmox_disk:
|
||||||
|
api_host: "{{ proxmox_api_host }}"
|
||||||
|
api_user: "{{ proxmox_api_user }}"
|
||||||
|
api_token_id: "{{ proxmox_api_token_id }}"
|
||||||
|
api_token_secret: "{{ proxmox_api_token_secret }}"
|
||||||
|
vmid: "{{ app_data_disks.trek.vmid }}"
|
||||||
|
disk: "{{ app_data_disks.trek.disk_id }}"
|
||||||
|
storage: "{{ app_data_disks.trek.storage }}"
|
||||||
|
size: "{{ app_data_disks.trek.size }}"
|
||||||
|
state: present
|
||||||
|
delegate_to: localhost
|
||||||
|
become: no
|
||||||
|
run_once: true
|
||||||
|
ignore_errors: yes
|
||||||
|
register: disk_result
|
||||||
|
|
||||||
|
- name: Display disk creation result
|
||||||
|
debug:
|
||||||
|
var: disk_result
|
||||||
|
|
||||||
|
- name: Wait for data disk to be available
|
||||||
|
wait_for:
|
||||||
|
path: "{{ app_data_disks.trek.device }}"
|
||||||
|
state: present
|
||||||
|
timeout: 30
|
||||||
|
|
||||||
|
- name: Check if data disk is formatted
|
||||||
|
command: "blkid {{ app_data_disks.trek.device }}"
|
||||||
|
register: disk_formatted
|
||||||
|
failed_when: false
|
||||||
|
changed_when: false
|
||||||
|
|
||||||
|
- name: Format data disk with ext4
|
||||||
|
filesystem:
|
||||||
|
fstype: ext4
|
||||||
|
dev: "{{ app_data_disks.trek.device }}"
|
||||||
|
when: disk_formatted.rc != 0
|
||||||
|
|
||||||
|
- name: Create trek data mount point
|
||||||
|
file:
|
||||||
|
path: "{{ app_data_disks.trek.mount_point }}"
|
||||||
|
state: directory
|
||||||
|
mode: "0755"
|
||||||
|
|
||||||
|
- name: Mount data disk
|
||||||
|
mount:
|
||||||
|
path: "{{ app_data_disks.trek.mount_point }}"
|
||||||
|
src: "{{ app_data_disks.trek.device }}"
|
||||||
|
fstype: ext4
|
||||||
|
state: mounted
|
||||||
|
opts: defaults
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
OIDC_CLIENT_SECRET=[[TREKCLIENTSECRET]]
|
||||||
|
ENCRYPTION_KEY=[[TREKENCRYPTIONKEY]]
|
||||||
@@ -0,0 +1,43 @@
|
|||||||
|
services:
|
||||||
|
app:
|
||||||
|
image: mauriceboe/trek:latest
|
||||||
|
container_name: trek
|
||||||
|
read_only: true
|
||||||
|
security_opt:
|
||||||
|
- no-new-privileges:true
|
||||||
|
cap_drop:
|
||||||
|
- ALL
|
||||||
|
cap_add:
|
||||||
|
- CHOWN
|
||||||
|
- SETUID
|
||||||
|
- SETGID
|
||||||
|
tmpfs:
|
||||||
|
- /tmp:noexec,nosuid,size=64m
|
||||||
|
ports:
|
||||||
|
- "3000:3000"
|
||||||
|
environment:
|
||||||
|
- NODE_ENV=production
|
||||||
|
- PORT=3000
|
||||||
|
- ENCRYPTION_KEY=${ENCRYPTION_KEY}
|
||||||
|
- TZ=Europe/Lisbon
|
||||||
|
- LOG_LEVEL=info
|
||||||
|
- ALLOWED_ORIGINS=https://trek.lino.cooking
|
||||||
|
- FORCE_HTTPS=true
|
||||||
|
- TRUST_PROXY=1
|
||||||
|
- ALLOW_INTERNAL_NETWORK=trur
|
||||||
|
- APP_URL=https://trek.lino.cooking
|
||||||
|
- OIDC_ISSUER=https://auth.lino.cooking
|
||||||
|
- OIDC_CLIENT_ID=652278a5-b695-4589-9d51-d23cfb2e15dd
|
||||||
|
- OIDC_CLIENT_SECRET=${OIDC_CLIENT_SECRET}
|
||||||
|
- OIDC_DISPLAY_NAME=PocketID
|
||||||
|
- OIDC_ONLY=true
|
||||||
|
volumes:
|
||||||
|
- /data/trek/app:/app/data
|
||||||
|
- /data/trek/uploads:/app/uploads
|
||||||
|
restart: unless-stopped
|
||||||
|
healthcheck:
|
||||||
|
test: ["CMD", "wget", "-qO-", "http://localhost:3000/api/health"]
|
||||||
|
interval: 30s
|
||||||
|
timeout: 10s
|
||||||
|
retries: 3
|
||||||
|
start_period: 15s
|
||||||
Reference in New Issue
Block a user