fix composer with two containers now, added documentation and more docker/run commands
This commit is contained in:
parent
a167a14f12
commit
7c07db946d
@ -1,19 +1,31 @@
|
|||||||
version: "3.8"
|
version: "3.8"
|
||||||
services:
|
services:
|
||||||
|
api:
|
||||||
|
build:
|
||||||
|
context: ./docker
|
||||||
|
dockerfile: api/Dockerfile
|
||||||
|
image: mainsail-stack-api/1
|
||||||
|
volumes:
|
||||||
|
- ./docker/config:/home/node/printer_config
|
||||||
|
- ./docker/logs:/tmp/logs
|
||||||
|
- ./docker/gcode:/home/node/gcode
|
||||||
|
container_name: ${APP_NAME}-stack-api
|
||||||
|
ports:
|
||||||
|
- 7125:7125
|
||||||
|
networks:
|
||||||
|
- dev_net
|
||||||
application:
|
application:
|
||||||
build:
|
build:
|
||||||
context: ./docker
|
context: ./docker
|
||||||
dockerfile: Dockerfile
|
dockerfile: Dockerfile
|
||||||
image: mainsail-stack/1
|
image: mainsail-stack-npm/1
|
||||||
volumes:
|
volumes:
|
||||||
- ./:/home/node/mainsail
|
- ./:/home/node/mainsail
|
||||||
- ./docker/config:/home/node/printer_config
|
container_name: ${APP_NAME}-stack-npm
|
||||||
- ./docker/logs:/tmp/logs
|
|
||||||
- ./docker/gcode:/home/node/gcode
|
|
||||||
container_name: ${APP_NAME}-stack
|
|
||||||
ports:
|
ports:
|
||||||
- 8080:8080
|
- 8080:8080
|
||||||
- 7125:7125
|
depends_on:
|
||||||
|
- api
|
||||||
networks:
|
networks:
|
||||||
- dev_net
|
- dev_net
|
||||||
networks:
|
networks:
|
||||||
|
@ -1,69 +1,12 @@
|
|||||||
FROM node:buster AS base
|
FROM node:buster AS base
|
||||||
|
|
||||||
RUN apt-get update
|
|
||||||
RUN apt-get install -y sudo cmake swig git virtualenv python-dev libffi-dev build-essential libncurses-dev libusb-dev avrdude gcc-avr binutils-avr avr-libc dfu-util libnewlib-arm-none-eabi gcc-arm-none-eabi binutils-arm-none-eabi libusb-1.0
|
|
||||||
RUN mkdir /src
|
|
||||||
WORKDIR /src
|
|
||||||
RUN wget http://download.savannah.nongnu.org/releases/simulavr/libsim_1.1.0_amd64.deb
|
|
||||||
RUN apt install /src/libsim_1.1.0_amd64.deb
|
|
||||||
#RUN wget http://download.savannah.nongnu.org/releases/simulavr/simulavr_1.1.0_amd64.deb
|
|
||||||
#RUN apt install /src/simulavr_1.1.0_amd64.deb
|
|
||||||
#RUN wget http://download.savannah.nongnu.org/releases/simulavr/python3-simulavr_1.1.0_amd64.deb
|
|
||||||
#RUN apt install /src/python3-simulavr_1.1.0_amd64.deb
|
|
||||||
|
|
||||||
COPY start-container /usr/local/bin/start-container
|
|
||||||
RUN chmod +x /usr/local/bin/start-container
|
|
||||||
RUN echo 'node ALL=(ALL:ALL) NOPASSWD: ALL' > /etc/sudoers.d/node && \
|
|
||||||
chown node:node -R ./
|
|
||||||
RUN ln -s /bin/true /bin/systemctl
|
|
||||||
USER node
|
|
||||||
WORKDIR /home/node
|
|
||||||
RUN git clone https://github.com/Arksine/moonraker
|
|
||||||
WORKDIR /home/node/moonraker
|
|
||||||
RUN sed -E 's/check_klipper\(\)/check_klipper() { return 0; }\nold()/' /home/node/moonraker/scripts/install-moonraker.sh > /home/node/moonraker/scripts/install-moonraker2.sh
|
|
||||||
RUN chmod +x /home/node/moonraker/scripts/install-moonraker2.sh
|
|
||||||
RUN /home/node/moonraker/scripts/install-moonraker2.sh
|
|
||||||
WORKDIR /home/node
|
|
||||||
RUN git clone https://github.com/KevinOConnor/klipper
|
|
||||||
WORKDIR /home/node/klipper
|
|
||||||
COPY simulavr.config /home/node/klipper/.config
|
|
||||||
RUN make
|
|
||||||
RUN cp /home/node/klipper/out/klipper.elf /home/node/klipper/simulavr.elf
|
|
||||||
RUN rm /home/node/klipper/.config
|
|
||||||
COPY linux.config /home/node/klipper/.config
|
|
||||||
RUN make clean
|
|
||||||
RUN make
|
|
||||||
|
|
||||||
WORKDIR /home/node/
|
|
||||||
RUN git clone https://git.savannah.nongnu.org/git/simulavr.git
|
|
||||||
WORKDIR /home/node/simulavr
|
|
||||||
RUN make python
|
|
||||||
RUN make build
|
|
||||||
|
|
||||||
#RUN groupadd --force -g 1000 pi
|
|
||||||
#RUN useradd -ms /bin/bash --no-user-group -g 1000 -u 1000 pi
|
|
||||||
|
|
||||||
|
|
||||||
RUN chmod +x /home/node/klipper/scripts/install-debian.sh
|
|
||||||
RUN /home/node/klipper/scripts/install-debian.sh
|
|
||||||
RUN sudo rm -f /bin/systemctl
|
|
||||||
|
|
||||||
FROM base
|
|
||||||
|
|
||||||
#RUN mkdir /home/node/printer_config
|
|
||||||
#RUN mkdir /home/node/gcode
|
|
||||||
|
|
||||||
|
|
||||||
EXPOSE 8080
|
EXPOSE 8080
|
||||||
|
|
||||||
|
COPY start-npm /usr/local/bin/start-npm
|
||||||
|
RUN chmod +x /usr/local/bin/start-npm
|
||||||
|
|
||||||
#COPY config/printer.cfg /home/node/printer_config/printer.cfg
|
USER node
|
||||||
#COPY config/moonraker.conf /home/node/printer_config/moonraker.conf
|
|
||||||
|
|
||||||
#RUN sudo chown node:node -hR /home/node/printer_config
|
|
||||||
#RUN sudo chown node:node -hR /home/node/gcode
|
|
||||||
#RUN sudo chown node:node -hR /tmp/logs
|
|
||||||
|
|
||||||
WORKDIR /home/node/mainsail
|
WORKDIR /home/node/mainsail
|
||||||
|
|
||||||
ENTRYPOINT ["start-container"]
|
ENTRYPOINT ["start-npm"]
|
||||||
|
62
docker/api/Dockerfile
Normal file
62
docker/api/Dockerfile
Normal file
@ -0,0 +1,62 @@
|
|||||||
|
FROM debian:buster AS base
|
||||||
|
|
||||||
|
RUN groupadd --force -g 1000 node
|
||||||
|
RUN useradd -ms /bin/bash --no-user-group -g 1000 -u 1000 node
|
||||||
|
|
||||||
|
RUN apt-get update
|
||||||
|
RUN apt-get install -y sudo wget cmake swig git virtualenv python-dev libffi-dev build-essential libncurses-dev libusb-dev avrdude gcc-avr binutils-avr avr-libc dfu-util libnewlib-arm-none-eabi gcc-arm-none-eabi binutils-arm-none-eabi libusb-1.0
|
||||||
|
RUN mkdir /src
|
||||||
|
WORKDIR /src
|
||||||
|
RUN wget http://download.savannah.nongnu.org/releases/simulavr/libsim_1.1.0_amd64.deb
|
||||||
|
RUN apt install /src/libsim_1.1.0_amd64.deb
|
||||||
|
#RUN wget http://download.savannah.nongnu.org/releases/simulavr/simulavr_1.1.0_amd64.deb
|
||||||
|
#RUN apt install /src/simulavr_1.1.0_amd64.deb
|
||||||
|
#RUN wget http://download.savannah.nongnu.org/releases/simulavr/python3-simulavr_1.1.0_amd64.deb
|
||||||
|
#RUN apt install /src/python3-simulavr_1.1.0_amd64.deb
|
||||||
|
|
||||||
|
RUN cat /etc/passwd
|
||||||
|
|
||||||
|
RUN echo 'node ALL=(ALL:ALL) NOPASSWD: ALL' > /etc/sudoers.d/node && \
|
||||||
|
chown node:node -R ./
|
||||||
|
#RUN mv /bin/systemctl /bin/systemctl.bak
|
||||||
|
RUN ln -s /bin/true /bin/systemctl
|
||||||
|
|
||||||
|
USER node
|
||||||
|
|
||||||
|
WORKDIR /home/node
|
||||||
|
RUN git clone https://github.com/KevinOConnor/klipper
|
||||||
|
WORKDIR /home/node/klipper
|
||||||
|
COPY api/simulavr.config /home/node/klipper/.config
|
||||||
|
RUN make
|
||||||
|
RUN cp /home/node/klipper/out/klipper.elf /home/node/klipper/simulavr.elf
|
||||||
|
RUN rm /home/node/klipper/.config
|
||||||
|
COPY api/linux.config /home/node/klipper/.config
|
||||||
|
RUN make clean
|
||||||
|
RUN make
|
||||||
|
RUN chmod +x /home/node/klipper/scripts/install-debian.sh
|
||||||
|
RUN /home/node/klipper/scripts/install-debian.sh
|
||||||
|
|
||||||
|
WORKDIR /home/node
|
||||||
|
RUN git clone https://github.com/Arksine/moonraker
|
||||||
|
WORKDIR /home/node/moonraker
|
||||||
|
RUN sed -E 's/check_klipper\(\)/check_klipper() { return 0; }\nold()/' /home/node/moonraker/scripts/install-moonraker.sh > /home/node/moonraker/scripts/install-moonraker2.sh
|
||||||
|
RUN chmod +x /home/node/moonraker/scripts/install-moonraker2.sh
|
||||||
|
RUN /home/node/moonraker/scripts/install-moonraker2.sh
|
||||||
|
|
||||||
|
RUN sudo rm -f /bin/systemctl
|
||||||
|
#RUN sudo mv /bin/systemctl.bak /bin/systemctl
|
||||||
|
|
||||||
|
WORKDIR /home/node/
|
||||||
|
RUN git clone https://git.savannah.nongnu.org/git/simulavr.git
|
||||||
|
WORKDIR /home/node/simulavr
|
||||||
|
RUN make python
|
||||||
|
RUN make build
|
||||||
|
|
||||||
|
USER root
|
||||||
|
|
||||||
|
COPY api/run-api /usr/local/bin/run-api
|
||||||
|
RUN chmod +x /usr/local/bin/run-api
|
||||||
|
|
||||||
|
USER node
|
||||||
|
|
||||||
|
ENTRYPOINT ["run-api"]
|
@ -2,5 +2,5 @@
|
|||||||
PYTHONPATH="/home/node/simulavr/build/pysimulavr/" /home/node/klipper/scripts/avrsim.py -m atmega644 -s 20000000 -b 250000 /home/node/klipper/simulavr.elf &
|
PYTHONPATH="/home/node/simulavr/build/pysimulavr/" /home/node/klipper/scripts/avrsim.py -m atmega644 -s 20000000 -b 250000 /home/node/klipper/simulavr.elf &
|
||||||
/home/node/klippy-env/bin/python /home/node/klipper/klippy/klippy.py /home/node/printer_config/printer.cfg -l /tmp/logs/klippy.log -a /tmp/klippy_uds &
|
/home/node/klippy-env/bin/python /home/node/klipper/klippy/klippy.py /home/node/printer_config/printer.cfg -l /tmp/logs/klippy.log -a /tmp/klippy_uds &
|
||||||
/home/node/moonraker-env/bin/python /home/node/moonraker/moonraker/moonraker.py -l /tmp/logs/moonraker.log -c /home/node/printer_config/moonraker.conf &
|
/home/node/moonraker-env/bin/python /home/node/moonraker/moonraker/moonraker.py -l /tmp/logs/moonraker.log -c /home/node/printer_config/moonraker.conf &
|
||||||
npm install
|
echo "Starting ..." >> /tmp/logs/klippy.log
|
||||||
npm run serve
|
tail -f /tmp/logs/klippy.log
|
15
docker/run
15
docker/run
@ -2,7 +2,14 @@
|
|||||||
|
|
||||||
export APP_NAME=mainsail
|
export APP_NAME=mainsail
|
||||||
|
|
||||||
export USERID=${USERID:-$UID}
|
if [ $# -gt 0 ]; then
|
||||||
export GRPID=${GRPID:-$(id -g)}
|
if [ "$1" == "restart" ]; then
|
||||||
|
docker-compose restart "$2"
|
||||||
docker-compose "$@"
|
elif [ "$1" == "bash" ]; then
|
||||||
|
docker exec -it "$APP_NAME-stack-$2" bash
|
||||||
|
else
|
||||||
|
docker-compose "$@"
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
docker-compose ps
|
||||||
|
fi
|
||||||
|
3
docker/start-npm
Normal file
3
docker/start-npm
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
npm install
|
||||||
|
npm run serve
|
@ -32,12 +32,9 @@ docker/run up
|
|||||||
```
|
```
|
||||||
|
|
||||||
# Development
|
# Development
|
||||||
For development its sometimes needed to restart the simulavr process.
|
####Commands
|
||||||
For this run:
|
|
||||||
```shell
|
```shell
|
||||||
docker exec -it mainsail-stack bash
|
docker/run ps #showing running containers
|
||||||
```
|
docker/run restart <api/npm> #restarting container
|
||||||
in the spawnin shell run:
|
docker/run bash <api/npm> #spawning bash shell inside container
|
||||||
```shell
|
|
||||||
~/restart-services.sh
|
|
||||||
```
|
```
|
||||||
|
Loading…
x
Reference in New Issue
Block a user