Add 50 curated OCI app profiles

This commit is contained in:
Jonatan
2026-10-26 05:04:41 +01:00
parent 1ff63fa955
commit 8269d9aaaf
110 changed files with 49967 additions and 1 deletions
+414
View File
@@ -0,0 +1,414 @@
{
"schema_version": "0.5.0",
"kind": "proxmenux.oci-template",
"id": "image-zoraxy",
"status": "generated-unvalidated",
"catalog_ui": {
"title": {
"en_US": "Zoraxy"
},
"tagline": {
"en_US": "Web reverse proxy with an administration interface."
},
"description": {
"en_US": "A web reverse proxy and gateway with a browser-based management interface, certificate management and plugins. Its Docker socket integration is disabled in this profile because the app runs directly in its own LXC."
},
"category": "web",
"category_label": "Webservers & Proxies",
"author": "tobychui",
"developer": "tobychui",
"icon": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/zoraxy.webp",
"thumbnail": null,
"screenshots": [],
"architectures": [
"amd64",
"arm64"
],
"launch": {
"scheme": "http",
"port": 8000,
"path": "/"
},
"website": "https://zoraxy.aroz.org/",
"documentation": "https://github.com/tobychui/zoraxy/blob/main/docker/README.md",
"repository": "https://github.com/tobychui/zoraxy",
"tips": [
"The management interface is available on port 8000. Docker socket integration is disabled because this OCI profile has no Docker Engine to manage.",
"Ports 80 and 443 must be free on the LXC address if Zoraxy will serve HTTP and HTTPS traffic."
],
"mini_changelog": [],
"display_version": null,
"updated_at": null
},
"source": {
"provider": "tobychui",
"repository": "https://github.com/tobychui/zoraxy",
"revision": "56bd58b1a7a1d01ac1c7b4ef2a491381ec9f4e7b",
"image_repository_url": "https://hub.docker.com/r/zoraxydocker/zoraxy",
"readme_pushed_at": "2026-10-22T10:38:57Z",
"compose_sha256": "3f1072e781d19998c83ead3521457c89844ab7b8cf0b2a56b92a3fb025aaca56",
"generated_at": "2026-10-26T00:19:19+00:00",
"readme_raw_url": "https://raw.githubusercontent.com/tobychui/zoraxy/master/README.md"
},
"container_contract": {
"service_name": "zoraxy",
"container_name": "zoraxy",
"image": {
"reference": "zoraxydocker/zoraxy:latest",
"registry": "docker.io",
"repository": "zoraxydocker/zoraxy",
"tag": "latest",
"digest": null,
"pull_policy": "resolve-written-reference-to-architecture-digest-at-install"
},
"environment": [
{
"name": "DOCKER",
"example": "false",
"required": false,
"sensitive": false,
"source": "upstream-documentation"
},
{
"name": "PORT",
"example": "8000",
"required": false,
"sensitive": false,
"source": "upstream-documentation"
},
{
"name": "TZ",
"example": "Etc/UTC",
"required": false,
"sensitive": false,
"source": "upstream-documentation"
}
],
"volumes": [
{
"id": "volume-0",
"container_path": "/opt/zoraxy/config",
"compose_source_example": "zoraxy-data-0",
"read_only": false,
"required": true,
"installation_choice": [
"managed-volume",
"host-bind"
],
"default": "managed-volume",
"managed_volume": {
"backup": true,
"default_size_gb": 4
}
},
{
"id": "volume-1",
"container_path": "/opt/zoraxy/plugin",
"compose_source_example": "zoraxy-data-1",
"read_only": false,
"required": true,
"installation_choice": [
"managed-volume",
"host-bind"
],
"default": "managed-volume",
"managed_volume": {
"backup": true,
"default_size_gb": 2
}
}
],
"ports": [
{
"container_port": 80,
"published_example": 80,
"protocol": "tcp",
"required": true,
"proxmox_behavior": "listener-on-dedicated-lxc-address-no-nat"
},
{
"container_port": 443,
"published_example": 443,
"protocol": "tcp",
"required": true,
"proxmox_behavior": "listener-on-dedicated-lxc-address-no-nat"
},
{
"container_port": 443,
"published_example": 443,
"protocol": "udp",
"required": true,
"proxmox_behavior": "listener-on-dedicated-lxc-address-no-nat"
},
{
"container_port": 8000,
"published_example": 8000,
"protocol": "tcp",
"required": true,
"proxmox_behavior": "listener-on-dedicated-lxc-address-no-nat"
}
],
"related_services": [],
"restart": "unless-stopped",
"stop_grace_period": null,
"original_compose": "name: zoraxy\nservices:\n zoraxy:\n image: zoraxydocker/zoraxy:latest\n restart: unless-stopped\n ports:\n - 80:80/tcp\n - 443:443/tcp\n - 443:443/udp\n - 8000:8000/tcp\n volumes:\n - zoraxy-data-0:/opt/zoraxy/config\n - zoraxy-data-1:/opt/zoraxy/plugin\n environment:\n DOCKER: 'false'\n PORT: '8000'\n TZ: Etc/UTC\nvolumes:\n zoraxy-data-0: null\n zoraxy-data-1: null\n"
},
"compose_stack": {
"project_name": "zoraxy",
"deployment_model": "one-native-oci-lxc-per-compose-service",
"user_experience": "single-application-install",
"main_service": "zoraxy",
"service_count": 1,
"services": [
{
"name": "zoraxy",
"image": "zoraxydocker/zoraxy:latest",
"is_main": true,
"role": "frontend",
"vmid_offset": 0,
"depends_on": [],
"frontend_network": true,
"private_network": false,
"compose": {
"image": "zoraxydocker/zoraxy:latest",
"restart": "unless-stopped",
"ports": [
"80:80/tcp",
"443:443/tcp",
"443:443/udp",
"8000:8000/tcp"
],
"volumes": [
"zoraxy-data-0:/opt/zoraxy/config",
"zoraxy-data-1:/opt/zoraxy/plugin"
],
"environment": {
"DOCKER": "false",
"PORT": "8000",
"TZ": "Etc/UTC"
}
}
}
],
"top_level": {
"name": "zoraxy",
"volumes": {
"zoraxy-data-0": null,
"zoraxy-data-1": null
}
},
"networking": {
"frontend": "selected-proxmox-bridge",
"private_required": false,
"private_creation": "automatic-create-if-missing",
"private_address_allocation": "automatic-static-address-per-service",
"service_discovery": "private-addresses-with-compose-service-host-aliases",
"dependency_external_access": "disabled-unless-service-publishes-ports",
"prompt_user_for_private_network": false
},
"storage": [
{
"id": "zoraxy-volume-0",
"service": "zoraxy",
"container_path": "/opt/zoraxy/config",
"mode": "managed-volume",
"user_selectable": true,
"backup": true,
"shared_with_other_lxc": false,
"source_path": null,
"source_path_prompt": null
},
{
"id": "zoraxy-volume-1",
"service": "zoraxy",
"container_path": "/opt/zoraxy/plugin",
"mode": "managed-volume",
"user_selectable": true,
"backup": true,
"shared_with_other_lxc": false,
"source_path": null,
"source_path_prompt": null
}
],
"orchestration": {
"reserve_vmids_atomically": 1,
"start_order": [
"zoraxy"
],
"stop_order": [
"zoraxy"
],
"dependency_readiness": "compose-healthcheck-then-port-or-process-fallback",
"rollback_on_failure": "remove-new-rootfs-preserve-created-persistent-volumes"
},
"installer_inputs": {
"prompted": [
"stack_name",
"base_vmid",
"rootfs_storage",
"persistent_data_destinations",
"frontend_bridge",
"frontend_ipv4_mode"
],
"automatic": [
"dependent_vmids",
"private_bridge",
"private_subnet",
"private_service_addresses",
"compose_service_aliases",
"generated_secrets",
"dependency_start_and_stop_order"
],
"generated_secrets": []
}
},
"first_run": {
"endpoints": [
{
"label": "Zoraxy Management",
"scheme": "http",
"port": 8000,
"path": "/",
"source": "upstream-documentation"
}
],
"credentials": []
},
"proxmox": {
"runtime": "native-oci-lxc",
"technology_status": "proxmox-technology-preview",
"defaults": {
"unprivileged": true,
"ostype": "auto-from-image",
"cores": 2,
"memory_mb": 1024,
"swap_mb": 512,
"rootfs_size_gb": 8,
"rootfs_storage": "local-lvm",
"volume_storage": "local-lvm",
"template_storage": "local",
"bridge": "vmbr0",
"ipv4": "dhcp",
"firewall": true,
"host_managed_network": true,
"onboot": false,
"features": [
"nesting=1"
],
"shutdown_timeout_seconds": 30
},
"image_metadata_policy": {
"entrypoint": "import-from-oci-image",
"cmd": "import-from-oci-image",
"environment": "import-image-env-then-apply-compose-overrides",
"user": "import-from-oci-image",
"working_dir": "import-from-oci-image",
"stop_signal": "import-from-oci-image"
},
"adaptations": [
{
"id": "rolling-latest-image",
"upstream_behavior": "The source definition identifies an OCI image reference.",
"native_lxc_behavior": "ProxMenux pulls the exact image reference in this profile and resolves it to an architecture-specific digest at installation.",
"reason": "Use the project-maintained image and the tag reviewed for this profile.",
"behavioral_impact": "A floating tag can resolve to a newer build on a later installation or image update.",
"validation": "pending-per-application"
},
{
"id": "dedicated-lxc-network",
"upstream_behavior": "Compose publishes application ports on its Docker host.",
"native_lxc_behavior": "The OCI process listens on the same application ports at its dedicated LXC address.",
"reason": "A dedicated LXC has its own network namespace and does not need Docker port NAT.",
"behavioral_impact": "Clients connect to the LXC address and the declared application port.",
"validation": "pending-per-application"
}
],
"installer_profile": {
"volume_preparations": [
{
"container_path": "/opt/zoraxy/config",
"remove_lost_found": true,
"owner_strategy": "mapped-application-user",
"only_when_mount_type": "managed-volume"
},
{
"container_path": "/opt/zoraxy/plugin",
"remove_lost_found": true,
"owner_strategy": "mapped-application-user",
"only_when_mount_type": "managed-volume"
}
],
"startup_healthcheck": {
"scheme": "http",
"port": 8000,
"path": "/",
"timeout_seconds": 180,
"request_timeout_seconds": 10,
"stability_seconds": 4,
"verify_tls": true
}
}
},
"compatibility": {
"automatic_install_candidate": true,
"validated": false,
"supported_compose_keys": [
"cap_add",
"command",
"container_name",
"cpu_shares",
"deploy",
"devices",
"entrypoint",
"environment",
"extra_hosts",
"group_add",
"healthcheck",
"hostname",
"image",
"init",
"ipc",
"labels",
"logging",
"mac_address",
"mem_limit",
"network_mode",
"networks",
"ports",
"privileged",
"restart",
"runtime",
"security_opt",
"shm_size",
"stdin_open",
"stop_grace_period",
"sysctls",
"tty",
"ulimits",
"user",
"volumes",
"working_dir"
],
"untranslated_blockers": [],
"policy": "Single-image definitions are installable when every declared Compose option has a native Proxmox translation. Multi-image and unsupported runtime features remain blocked until their orchestrator or mapping is available."
},
"validation": {
"schema": "not-yet-validated",
"clean_install": "pending",
"service_health": "pending",
"restart_persistence": "pending",
"backup_restore": "pending",
"update_preserves_data": "pending"
},
"lifecycle": {
"update_strategy": "resolve-latest-image-then-apply-reviewed-native-lxc-update",
"registry_state": {
"resolved_architecture": null,
"resolved_digest": null,
"image_version_label": null,
"image_created": null
},
"change_detection": "compare-reviewed-image-reference-and-resolved-image-digest",
"automatic_unattended_updates": false
}
}