Closed KathyReid closed 5 years ago
I did a build to test this
kathyreid@kathyreid-ubuntu-X510UQ:~$ git clone https://github.com/MycroftAI/mimic-recording-studio.git mycroft-recording-studio-test
Cloning into 'mycroft-recording-studio-test'...
remote: Enumerating objects: 14, done.
remote: Counting objects: 100% (14/14), done.
remote: Compressing objects: 100% (14/14), done.
remote: Total 284 (delta 5), reused 0 (delta 0), pack-reused 270
Receiving objects: 100% (284/284), 4.30 MiB | 157.00 KiB/s, done.
Resolving deltas: 100% (118/118), done.
kathyreid@kathyreid-ubuntu-X510UQ:~$ cd mycroft-recording-studio-test/
kathyreid@kathyreid-ubuntu-X510UQ:~/mycroft-recording-studio-test$ ls
backend docker-compose.yml LICENSE.md start-windows.bat
demo.gif frontend README.md
kathyreid@kathyreid-ubuntu-X510UQ:~/mycroft-recording-studio-test$ docker-compose up
ERROR: Couldn't connect to Docker daemon - you might need to run `docker-machine start default`.
kathyreid@kathyreid-ubuntu-X510UQ:~/mycroft-recording-studio-test$ sudo docker-compose up
[sudo] password for kathyreid:
Creating network "mycroftrecordingstudiotest_default" with the default driver
Building frontend
Step 1/4 : FROM node:latest
latest: Pulling from library/node
54f7e8ac135a: Pull complete
d6341e30912f: Pull complete
087a57faf949: Pull complete
5d71636fb824: Pull complete
0c1db9598990: Pull complete
89669bc2deb2: Pull complete
42f59d95957f: Pull complete
51cbe79eb934: Pull complete
Digest: sha256:72c50a1f151cf0310fc5cae53daaa2220a06d4d64204dd2f2a15d1739be0180f
Status: Downloaded newer image for node:latest
---> 2824ef9be5b3
Step 2/4 : RUN npm install -g yarn
---> Running in 826dd1a42563
/usr/local/bin/yarnpkg -> /usr/local/lib/node_modules/yarn/bin/yarn.js
/usr/local/bin/yarn -> /usr/local/lib/node_modules/yarn/bin/yarn.js
+ yarn@1.12.3
added 1 package in 2.909s
Removing intermediate container 826dd1a42563
---> b286f2867f8e
Step 3/4 : WORKDIR /src/
---> Running in 70e3c4310f49
Removing intermediate container 70e3c4310f49
---> 787d2e1567ab
Step 4/4 : CMD ["bash", "start.sh"]
---> Running in 914a4befd05d
Removing intermediate container 914a4befd05d
---> f30d54ff251d
Successfully built f30d54ff251d
Successfully tagged mycroftrecordingstudiotest_frontend:latest
WARNING: Image for service frontend was built because it did not already exist. To rebuild this image you must use `docker-compose build` or `docker-compose up --build`.
Building backend
Step 1/7 : FROM python:3.6-alpine3.6
3.6-alpine3.6: Pulling from library/python
ab3d5dc0b96d: Pull complete
71afa6c1e317: Pull complete
665b92311f3a: Pull complete
288ef6399715: Pull complete
c0b1006d1dbd: Pull complete
Digest: sha256:777cbbdbfe81b9c5b86ccab85cf1716215423a9e40c70446b121d9d956074e6c
Status: Downloaded newer image for python:3.6-alpine3.6
---> af9d4081d2d7
Step 2/7 : COPY requirements.txt /src/
---> 9818f3665a0f
Step 3/7 : WORKDIR /src
---> Running in e393e723300f
Removing intermediate container e393e723300f
---> 339345511a66
Step 4/7 : RUN apk update
---> Running in 5bb715918f2a
fetch http://dl-cdn.alpinelinux.org/alpine/v3.6/main/x86_64/APKINDEX.tar.gz
fetch http://dl-cdn.alpinelinux.org/alpine/v3.6/community/x86_64/APKINDEX.tar.gz
v3.6.3-58-g8a2e635d73 [http://dl-cdn.alpinelinux.org/alpine/v3.6/main]
v3.6.3-57-gfd0de89d0b [http://dl-cdn.alpinelinux.org/alpine/v3.6/community]
OK: 8440 distinct packages available
Removing intermediate container 5bb715918f2a
---> 69d9909d1794
Step 5/7 : RUN apk add ffmpeg make automake gcc g++ subversion python3-dev
---> Running in efbfe6320ac1
(1/64) Installing perl (5.24.4-r2)
(2/64) Installing automake (1.15.1-r0)
(3/64) Installing sdl2 (2.0.5-r0)
(4/64) Installing libxau (1.0.8-r1)
(5/64) Installing libbsd (0.8.3-r3)
(6/64) Installing libxdmcp (1.1.2-r3)
(7/64) Installing libxcb (1.12-r0)
(8/64) Installing libx11 (1.6.6-r0)
(9/64) Installing alsa-lib (1.1.3-r0)
(10/64) Installing gmp (6.1.2-r0)
(11/64) Installing nettle (3.3-r0)
(12/64) Installing libtasn1 (4.10-r3)
(13/64) Installing p11-kit (0.23.2-r1)
(14/64) Installing libunistring (0.9.7-r0)
(15/64) Installing gnutls (3.5.13-r0)
(16/64) Installing lame (3.99.5-r6)
(17/64) Installing opus (1.1.4-r0)
(18/64) Installing librtmp (2.4_git20160909-r2)
(19/64) Installing libogg (1.3.2-r1)
(20/64) Installing libtheora (1.1.1-r12)
(21/64) Installing libjpeg-turbo (1.5.3-r2)
(22/64) Installing v4l-utils-libs (1.12.5-r1)
(23/64) Installing libxdamage (1.1.4-r0)
(24/64) Installing libxext (1.3.3-r1)
(25/64) Installing libxfixes (5.0.3-r0)
(26/64) Installing libxxf86vm (1.1.4-r0)
(27/64) Installing libpciaccess (0.13.4-r1)
(28/64) Installing libdrm (2.4.80-r0)
(29/64) Installing mesa-glapi (17.0.3-r1)
(30/64) Installing libxshmfence (1.2-r0)
(31/64) Installing mesa-gl (17.0.3-r1)
(32/64) Installing libva (1.8.1-r0)
(33/64) Installing libvorbis (1.3.6-r1)
(34/64) Installing libvpx (1.5.0-r0)
(35/64) Installing x264-libs (20161201-r0)
(36/64) Installing libgcc (6.3.0-r4)
(37/64) Installing libstdc++ (6.3.0-r4)
(38/64) Installing x265 (2.3-r0)
(39/64) Installing xvidcore (1.3.4-r0)
(40/64) Installing ffmpeg-libs (3.2.9-r0)
(41/64) Installing ffmpeg (3.2.9-r0)
(42/64) Installing binutils-libs (2.30-r1)
(43/64) Installing binutils (2.30-r1)
(44/64) Installing isl (0.17.1-r0)
(45/64) Installing libgomp (6.3.0-r4)
(46/64) Installing libatomic (6.3.0-r4)
(47/64) Installing pkgconf (1.3.7-r0)
(48/64) Installing mpfr3 (3.1.5-r0)
(49/64) Installing mpc1 (1.0.3-r0)
(50/64) Installing gcc (6.3.0-r4)
(51/64) Installing musl-dev (1.1.16-r14)
(52/64) Installing libc-dev (0.7.1-r0)
(53/64) Installing g++ (6.3.0-r4)
(54/64) Installing make (4.2.1-r0)
(55/64) Installing python3 (3.6.5-r0)
(56/64) Installing python3-dev (3.6.5-r0)
(57/64) Installing libuuid (2.28.2-r2)
(58/64) Installing apr (1.5.2-r1)
(59/64) Installing apr-util (1.5.4-r3)
(60/64) Installing db (5.3.28-r0)
(61/64) Installing libsasl (2.1.26-r10)
(62/64) Installing serf (1.3.9-r2)
(63/64) Installing subversion-libs (1.9.7-r0)
(64/64) Installing subversion (1.9.7-r0)
Executing subversion-1.9.7-r0.pre-install
Executing busybox-1.26.2-r11.trigger
OK: 326 MiB in 89 packages
Removing intermediate container efbfe6320ac1
---> c2b777781907
Step 6/7 : RUN pip install -r requirements.txt
---> Running in d61072857897
Collecting flask (from -r requirements.txt (line 1))
Downloading https://files.pythonhosted.org/packages/7f/e7/08578774ed4536d3242b14dacb4696386634607af824ea997202cd0edb4b/Flask-1.0.2-py2.py3-none-any.whl (91kB)
Collecting flask-cors (from -r requirements.txt (line 2))
Downloading https://files.pythonhosted.org/packages/65/cb/683f71ff8daa3aea0a5cbb276074de39f9ab66d3fbb8ad5efb5bb83e90d2/Flask_Cors-3.0.7-py2.py3-none-any.whl
Collecting peewee (from -r requirements.txt (line 3))
Downloading https://files.pythonhosted.org/packages/b2/38/fe304c84dd7b771e6c313e2905d54944b9577b212e3247cfa58fac2ac935/peewee-3.8.0.tar.gz (805kB)
Collecting pydub (from -r requirements.txt (line 4))
Downloading https://files.pythonhosted.org/packages/2f/73/bb9c093882d647437a9e6e87c7e6592d2df852f83ffac6f348b878979be0/pydub-0.23.0-py2.py3-none-any.whl
Collecting gunicorn (from -r requirements.txt (line 5))
Downloading https://files.pythonhosted.org/packages/8c/da/b8dd8deb741bff556db53902d4706774c8e1e67265f69528c14c003644e6/gunicorn-19.9.0-py2.py3-none-any.whl (112kB)
Collecting click>=5.1 (from flask->-r requirements.txt (line 1))
Downloading https://files.pythonhosted.org/packages/fa/37/45185cb5abbc30d7257104c434fe0b07e5a195a6847506c074527aa599ec/Click-7.0-py2.py3-none-any.whl (81kB)
Collecting Werkzeug>=0.14 (from flask->-r requirements.txt (line 1))
Downloading https://files.pythonhosted.org/packages/20/c4/12e3e56473e52375aa29c4764e70d1b8f3efa6682bef8d0aae04fe335243/Werkzeug-0.14.1-py2.py3-none-any.whl (322kB)
Collecting itsdangerous>=0.24 (from flask->-r requirements.txt (line 1))
Downloading https://files.pythonhosted.org/packages/76/ae/44b03b253d6fade317f32c24d100b3b35c2239807046a4c953c7b89fa49e/itsdangerous-1.1.0-py2.py3-none-any.whl
Collecting Jinja2>=2.10 (from flask->-r requirements.txt (line 1))
Downloading https://files.pythonhosted.org/packages/7f/ff/ae64bacdfc95f27a016a7bed8e8686763ba4d277a78ca76f32659220a731/Jinja2-2.10-py2.py3-none-any.whl (126kB)
Collecting Six (from flask-cors->-r requirements.txt (line 2))
Downloading https://files.pythonhosted.org/packages/73/fb/00a976f728d0d1fecfe898238ce23f502a721c0ac0ecfedb80e0d88c64e9/six-1.12.0-py2.py3-none-any.whl
Collecting MarkupSafe>=0.23 (from Jinja2>=2.10->flask->-r requirements.txt (line 1))
Downloading https://files.pythonhosted.org/packages/ac/7e/1b4c2e05809a4414ebce0892fe1e32c14ace86ca7d50c70f00979ca9b3a3/MarkupSafe-1.1.0.tar.gz
Building wheels for collected packages: peewee, MarkupSafe
Running setup.py bdist_wheel for peewee: started
Running setup.py bdist_wheel for peewee: finished with status 'done'
Stored in directory: /root/.cache/pip/wheels/de/de/13/a3be7f7fa6d373fe3e61224f4a508513cd2ea05695a047fef8
Running setup.py bdist_wheel for MarkupSafe: started
Running setup.py bdist_wheel for MarkupSafe: finished with status 'done'
Stored in directory: /root/.cache/pip/wheels/81/23/64/51895ea52825dc116a55f37043f49be0939bcf603de54e5cde
Successfully built peewee MarkupSafe
Installing collected packages: click, Werkzeug, itsdangerous, MarkupSafe, Jinja2, flask, Six, flask-cors, peewee, pydub, gunicorn
Successfully installed Jinja2-2.10 MarkupSafe-1.1.0 Six-1.12.0 Werkzeug-0.14.1 click-7.0 flask-1.0.2 flask-cors-3.0.7 gunicorn-19.9.0 itsdangerous-1.1.0 peewee-3.8.0 pydub-0.23.0
Removing intermediate container d61072857897
---> dc559e5efd31
Step 7/7 : CMD ["sh", "start_prod.sh"]
---> Running in 033a7f45aac5
Removing intermediate container 033a7f45aac5
---> 508a05e9c191
Successfully built 508a05e9c191
Successfully tagged mycroftrecordingstudiotest_backend:latest
WARNING: Image for service backend was built because it did not already exist. To rebuild this image you must use `docker-compose build` or `docker-compose up --build`.
Creating mrs-frontend ...
Creating mrs-backend ...
Creating mrs-frontend
Creating mrs-backend ... done
Attaching to mrs-frontend, mrs-backend
mrs-backend | [2018-12-26 13:12:32 +0000] [7] [DEBUG] Current configuration:
mrs-backend | config: gunicorn_conf.py
mrs-backend | bind: ['0.0.0.0:5000']
mrs-backend | backlog: 2048
mrs-backend | workers: 1
mrs-backend | worker_class: sync
mrs-backend | threads: 1
mrs-backend | worker_connections: 1000
mrs-backend | max_requests: 0
mrs-backend | max_requests_jitter: 0
mrs-backend | timeout: 30
mrs-backend | graceful_timeout: 30
mrs-backend | keepalive: 2
mrs-backend | limit_request_line: 4094
mrs-backend | limit_request_fields: 100
mrs-backend | limit_request_field_size: 8190
mrs-backend | reload: False
mrs-backend | reload_engine: auto
mrs-backend | reload_extra_files: []
mrs-backend | spew: False
mrs-backend | check_config: False
mrs-backend | preload_app: False
mrs-backend | sendfile: None
mrs-backend | reuse_port: False
mrs-backend | chdir: /src
mrs-backend | daemon: False
mrs-backend | raw_env: []
mrs-backend | pidfile: None
mrs-backend | worker_tmp_dir: None
mrs-backend | user: 0
mrs-backend | group: 0
mrs-backend | umask: 0
mrs-backend | initgroups: False
mrs-backend | tmp_upload_dir: None
mrs-backend | secure_scheme_headers: {'X-FORWARDED-PROTOCOL': 'ssl', 'X-FORWARDED-PROTO': 'https', 'X-FORWARDED-SSL': 'on'}
mrs-backend | forwarded_allow_ips: ['127.0.0.1']
mrs-backend | accesslog: logs
mrs-backend | disable_redirect_access_to_syslog: False
mrs-backend | access_log_format: %(h)s %(l)s %(u)s %(t)s "%(r)s" %(s)s %(b)s "%(f)s" "%(a)s"
mrs-backend | errorlog: -
mrs-backend | loglevel: debug
mrs-backend | capture_output: True
mrs-backend | logger_class: gunicorn.glogging.Logger
mrs-backend | logconfig: None
mrs-backend | logconfig_dict: {}
mrs-backend | syslog_addr: udp://localhost:514
mrs-backend | syslog: False
mrs-backend | syslog_prefix: None
mrs-backend | syslog_facility: user
mrs-backend | enable_stdio_inheritance: False
mrs-backend | statsd_host: None
mrs-backend | statsd_prefix:
mrs-backend | proc_name: None
mrs-backend | default_proc_name: app:app
mrs-backend | pythonpath: None
mrs-backend | paste: None
mrs-backend | on_starting: <function OnStarting.on_starting at 0x7eff2b02a268>
mrs-backend | on_reload: <function OnReload.on_reload at 0x7eff2b02a378>
mrs-backend | when_ready: <function WhenReady.when_ready at 0x7eff2b02a488>
mrs-backend | pre_fork: <function Prefork.pre_fork at 0x7eff2b02a598>
mrs-backend | post_fork: <function Postfork.post_fork at 0x7eff2b02a6a8>
mrs-backend | post_worker_init: <function PostWorkerInit.post_worker_init at 0x7eff2b02a7b8>
mrs-backend | worker_int: <function WorkerInt.worker_int at 0x7eff2b02a8c8>
mrs-backend | worker_abort: <function WorkerAbort.worker_abort at 0x7eff2b02a9d8>
mrs-backend | pre_exec: <function PreExec.pre_exec at 0x7eff2b02aae8>
mrs-backend | pre_request: <function PreRequest.pre_request at 0x7eff2b02abf8>
mrs-backend | post_request: <function PostRequest.post_request at 0x7eff2b02ac80>
mrs-backend | child_exit: <function ChildExit.child_exit at 0x7eff2b02ad90>
mrs-backend | worker_exit: <function WorkerExit.worker_exit at 0x7eff2b02aea0>
mrs-backend | nworkers_changed: <function NumWorkersChanged.nworkers_changed at 0x7eff2ab5c048>
mrs-backend | on_exit: <function OnExit.on_exit at 0x7eff2ab5c158>
mrs-backend | proxy_protocol: False
mrs-backend | proxy_allow_ips: ['127.0.0.1']
mrs-backend | keyfile: None
mrs-backend | certfile: None
mrs-backend | ssl_version: 2
mrs-backend | cert_reqs: 0
mrs-backend | ca_certs: None
mrs-backend | suppress_ragged_eofs: True
mrs-backend | do_handshake_on_connect: False
mrs-backend | ciphers: TLSv1
mrs-backend | raw_paste_global_conf: []
mrs-backend | [2018-12-26 13:12:32 +0000] [7] [INFO] Starting gunicorn 19.9.0
mrs-backend | [2018-12-26 13:12:32 +0000] [7] [DEBUG] Arbiter booted
mrs-backend | [2018-12-26 13:12:32 +0000] [7] [INFO] Listening at: http://0.0.0.0:5000 (7)
mrs-backend | [2018-12-26 13:12:32 +0000] [7] [INFO] Using worker: sync
mrs-backend | [2018-12-26 13:12:32 +0000] [10] [INFO] Booting worker with pid: 10
mrs-backend | [2018-12-26 13:12:32 +0000] [7] [DEBUG] 1 workers
mrs-frontend | yarn install v1.12.3
mrs-frontend | warning package-lock.json found. Your project contains lock files generated by tools other than Yarn. It is advised not to mix package managers in order to avoid resolution inconsistencies caused by unsynchronized lock files. To clear this warning, remove package-lock.json.
mrs-frontend | [1/4] Resolving packages...
mrs-frontend | [2/4] Fetching packages...
mrs-frontend | info fsevents@1.2.4: The platform "linux" is incompatible with this module.
mrs-frontend | info "fsevents@1.2.4" is an optional dependency and failed compatibility check. Excluding it from installation.
mrs-frontend | [3/4] Linking dependencies...
mrs-frontend | warning " > react-recorder@1.0.0" has incorrect peer dependency "react@^0.14.0 || ^15.0.0".
mrs-frontend | [4/4] Building fresh packages...
mrs-frontend | Done in 61.60s.
mrs-frontend | yarn run v1.12.3
mrs-frontend | $ react-scripts start
mrs-frontend | Starting the development server...
mrs-frontend |
mrs-frontend | Compiled successfully!
mrs-frontend |
mrs-frontend | You can now view mimic-recording-studio in the browser.
mrs-frontend |
mrs-frontend | Local: http://localhost:3000/
mrs-frontend | On Your Network: http://172.18.0.3:3000/
mrs-frontend |
mrs-frontend | Note that the development build is not optimized.
mrs-frontend | To create a production build, use yarn build.
mrs-frontend |
This was flagged as an automatic alert by GitHub https://nvd.nist.gov/vuln/detail/CVE-2018-16469
NOTE: I haven't built this in Docker from this branch to test, it's worth testing before merging