Files
archy/apps/blossom/manifest.yml
T

88 lines
2.2 KiB
YAML

app:
id: blossom
name: Blossom
version: 6.4.1-archy.1
upstream:
kind: github
repo: hzrd149/blossom-server
description: Local file storage for Nostr and websites, using your Archipelago signer. External publishing is a separate explicit choice.
category: data
container:
network: slirp4netns
build:
context: /opt/archipelago/docker/blossom
dockerfile: Dockerfile
tag: localhost/archipelago-blossom:6.4.1-archy.1
derived_env:
- key: ARCHY_BLOSSOM_PUBKEYS
template: '{{NODE_IDENTITY_PUBKEYS}}'
dependencies:
- storage: 1Gi
resources:
cpu_limit: 1
memory_limit: 512Mi
disk_limit: 5Gi
security:
capabilities: []
readonly_root: true
no_new_privileges: true
network_policy: isolated
seccomp_profile: default
ports:
- host: 8191
container: 3000
protocol: tcp
bind: 127.0.0.1
auth: gated
volumes:
- type: bind
source: /var/lib/archipelago/blossom/data
target: /data
options: [rw]
- type: bind
source: /var/lib/archipelago/blossom/bridge
target: /bridge
options: [rw]
- type: bind
source: /var/lib/archipelago/blossom/config.json
target: /config/config.json
options: [ro]
- type: tmpfs
target: /tmp
options: [rw, nosuid, nodev, size=64m]
files:
- path: /var/lib/archipelago/blossom/config.json
overwrite: false
content: '{}'
hooks:
post_install:
- copy_from_host:
src: web-ui/nostr-provider.js
dest: /bridge/nostr-provider.js
- exec: [sh, -c, 'test -s /bridge/nostr-provider.js']
health_check:
type: http
endpoint: http://127.0.0.1:3000
path: /healthz
interval: 30s
timeout: 5s
retries: 3
start_period: 30s
interfaces:
main:
name: Local files
type: ui
port: 8191
protocol: http
path: /
metadata:
author: hzrd149 / Archipelago
tier: optional
icon: /assets/img/app-icons/blossom.svg
license: MIT
repo: https://github.com/hzrd149/blossom-server
tags: [nostr, blossom, storage, websites]
launch:
open_in_new_tab: false
requires_host_frame: false