Externalized parts of Docker file to base image; Updated README
This commit is contained in:
@@ -1,16 +1,14 @@
|
||||
# 1. A: Define a base image
|
||||
# FROM scratch
|
||||
# FROM busybox
|
||||
# FROM alpine:3.22.1
|
||||
# FROM alpine:latest
|
||||
# FROM python:3.12
|
||||
FROM debian:bookworm-slim
|
||||
FROM itdominator-base
|
||||
|
||||
# 1. B: Set ENV Variables
|
||||
ENV NVM_VERSION=0.40.3
|
||||
ENV NODE_VERSION=24.9.0
|
||||
ENV PYTHON_VERSION=3.12.12
|
||||
|
||||
ENV PYTHONDONTWRITEBYTECODE=1
|
||||
ENV PYTHONUNBUFFERED=1
|
||||
|
||||
ENV NVM_DIR="/root/.nvm"
|
||||
ENV PYENV_ROOT="/opt/pyenv"
|
||||
ENV JEXTRACT_PATH="/opt/jextract"
|
||||
@@ -28,9 +26,6 @@ ENV PATH="${MAVEN_PATH}/bin:${PATH}"
|
||||
ENV PATH="${JAVA_HOME}/bin:${PATH}"
|
||||
ENV PATH="/opt:${PATH}"
|
||||
|
||||
ENV PYTHONDONTWRITEBYTECODE=1
|
||||
ENV PYTHONUNBUFFERED=1
|
||||
|
||||
# 2. Set the working directory inside the container
|
||||
WORKDIR /app
|
||||
|
||||
@@ -49,51 +44,12 @@ RUN apt-get update
|
||||
RUN apt-get install -y \
|
||||
--no-install-recommends \
|
||||
--no-install-suggests \
|
||||
pkg-config \
|
||||
ca-certificates \
|
||||
libreadline-dev \
|
||||
liblzma-dev \
|
||||
libsqlite3-dev \
|
||||
libncurses5-dev \
|
||||
libncursesw5-dev \
|
||||
libgirepository1.0-dev \
|
||||
libssl-dev libcairo2-dev \
|
||||
bash-completion \
|
||||
parallel \
|
||||
7zip \
|
||||
zip \
|
||||
tar \
|
||||
curl \
|
||||
wget \
|
||||
git \
|
||||
clang \
|
||||
clangd \
|
||||
gdb \
|
||||
php \
|
||||
gopls \
|
||||
htop \
|
||||
ranger \
|
||||
nano \
|
||||
fzf \
|
||||
bat \
|
||||
less \
|
||||
tree \
|
||||
ripgrep
|
||||
|
||||
# RUN apk update
|
||||
# RUN apk add --no-cache \
|
||||
# nodejs \
|
||||
# npm \
|
||||
# bash \
|
||||
# bash-completion \
|
||||
# curl \
|
||||
# clang \
|
||||
# pkgconf \
|
||||
# make \
|
||||
# git \
|
||||
# gopls \
|
||||
# gobject-introspection-dev \
|
||||
# cairo-dev
|
||||
lua5.4 \
|
||||
gdb \
|
||||
clangd \
|
||||
gopls
|
||||
|
||||
RUN curl -fsSL https://pyenv.run | bash
|
||||
RUN pyenv install ${PYTHON_VERSION} && pyenv global ${PYTHON_VERSION} && pyenv local ${PYTHON_VERSION}
|
||||
|
||||
25
README.md
25
README.md
@@ -24,22 +24,23 @@ It supports various language servers concurrently and handles language-specific
|
||||
##### Option 1:
|
||||
|
||||
1. Install Podman.
|
||||
2. Create `opt/` folder in `Docker/` and add any additional programs (lsps) there.
|
||||
3. Configure the desired language servers in `src/defaultServers.js`.
|
||||
3. Configure the start script at `Docker/scripts/start.sh` with any additional env args or mount points.
|
||||
4. Run from `Newton-LSP/` `Docker/build.sh` .
|
||||
5. Run `Docker/scripts/start.sh`
|
||||
6. Connect to the WebSocket server on `ws://localhost:9999/<language_endpoint>`.
|
||||
7. Transmit LSP messages via the WebSocket connection.
|
||||
1. Create base image from [itdominator-base-image](https://code.itdominator.com/itdominator/Podman/src/branch/main/itdominator-base-image)
|
||||
1. Create `opt/` folder in `Docker/` and add any additional programs (lsps) there.
|
||||
1. Configure the desired language servers in `src/defaultServers.js`.
|
||||
1. Configure the start script at `Docker/scripts/start.sh` with any additional env args or mount points.
|
||||
1. Run from `Newton-LSP/` `Docker/build.sh` .
|
||||
1. Run `Docker/scripts/start.sh`
|
||||
1. Connect to the WebSocket server on `ws://localhost:9999/<language_endpoint>`.
|
||||
1. Transmit LSP messages via the WebSocket connection.
|
||||
|
||||
##### Option 2:
|
||||
|
||||
1. Install Node.js.
|
||||
2. Run 'npm install'.
|
||||
3. Configure the desired language servers in `defaultServers.js`.
|
||||
4. Run the script: `npm run start || start-verbose`.
|
||||
5. Connect to the WebSocket server on `ws://localhost:9999/<language_endpoint>`.
|
||||
6. Transmit LSP messages via the WebSocket connection.
|
||||
1. Run 'npm install'.
|
||||
1. Configure the desired language servers in `defaultServers.js`.
|
||||
1. Run the script: `npm run start || start-verbose`.
|
||||
1. Connect to the WebSocket server on `ws://localhost:9999/<language_endpoint>`.
|
||||
1. Transmit LSP messages via the WebSocket connection.
|
||||
|
||||
## Configuration
|
||||
|
||||
|
||||
Reference in New Issue
Block a user