summaryrefslogtreecommitdiff
path: root/snap/snapcraft.yaml
blob: 2424424367d396043f231c730ed741f7ef34c608 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
name: novnc
base: core18 # the base snap is the execution environment for this snap
version: git
summary: Open Source VNC client using HTML5 (WebSockets, Canvas)
description: |
  Open Source VNC client using HTML5 (WebSockets, Canvas).
  noVNC is both a VNC client JavaScript library as well as an
  application built on top of that library. noVNC runs well in any
  modern browser including mobile browsers (iOS and Android).

grade: stable
confinement: strict

parts:
    novnc:
        source: .
        plugin: dump
        organize:
            utils/novnc_proxy: /
        stage:
            - vnc.html
            - app
            - core/**/*.js
            - vendor/**/*.js
            - novnc_proxy

    novnc-deps:
        plugin: nil
        stage-packages:
            - bash

    svc-script:
        source: snap/local
        plugin: dump
        stage:
            - svc_wrapper.sh

    svc-script-deps:
        plugin: nil
        stage-packages:
            - bash
            - jq

    websockify:
        source: https://github.com/novnc/websockify/archive/v0.9.0.tar.gz
        plugin: python
        stage-packages:
            - python3-numpy

hooks:
    configure:
        plugs: [network, network-bind]

apps:
    novnc:
        command: ./novnc_proxy
        plugs: [network, network-bind]
    novncsvc:
        command: ./svc_wrapper.sh
        daemon: forking
        plugs: [network, network-bind]