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"
|
||||
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:
|
||||
build:
|
||||
context: ./docker
|
||||
dockerfile: Dockerfile
|
||||
image: mainsail-stack/1
|
||||
image: mainsail-stack-npm/1
|
||||
volumes:
|
||||
- ./:/home/node/mainsail
|
||||
- ./docker/config:/home/node/printer_config
|
||||
- ./docker/logs:/tmp/logs
|
||||
- ./docker/gcode:/home/node/gcode
|
||||
container_name: ${APP_NAME}-stack
|
||||
container_name: ${APP_NAME}-stack-npm
|
||||
ports:
|
||||
- 8080:8080
|
||||
- 7125:7125
|
||||
depends_on:
|
||||
- api
|
||||
networks:
|
||||
- dev_net
|
||||
networks:
|
||||
|
@ -1,69 +1,12 @@
|
||||
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
|
||||
|
||||
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
|
||||
#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
|
||||
USER node
|
||||
|
||||
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 &
|
||||
/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 &
|
||||
npm install
|
||||
npm run serve
|
||||
echo "Starting ..." >> /tmp/logs/klippy.log
|
||||
tail -f /tmp/logs/klippy.log
|
15
docker/run
15
docker/run
@ -2,7 +2,14 @@
|
||||
|
||||
export APP_NAME=mainsail
|
||||
|
||||
export USERID=${USERID:-$UID}
|
||||
export GRPID=${GRPID:-$(id -g)}
|
||||
|
||||
docker-compose "$@"
|
||||
if [ $# -gt 0 ]; then
|
||||
if [ "$1" == "restart" ]; then
|
||||
docker-compose restart "$2"
|
||||
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
|
||||
For development its sometimes needed to restart the simulavr process.
|
||||
For this run:
|
||||
####Commands
|
||||
```shell
|
||||
docker exec -it mainsail-stack bash
|
||||
```
|
||||
in the spawnin shell run:
|
||||
```shell
|
||||
~/restart-services.sh
|
||||
docker/run ps #showing running containers
|
||||
docker/run restart <api/npm> #restarting container
|
||||
docker/run bash <api/npm> #spawning bash shell inside container
|
||||
```
|
||||
|
Loading…
x
Reference in New Issue
Block a user