Alpine - Lua Language Server Install

23-08-08: ๋ฒ„์ „์ด 3.18๋Œ€๋กœ ์˜ฌ๋ผ์˜ค๊ณ , Community Repository๋ฅผ ์ถ”๊ฐ€ํ•˜๋ฉด ํŒจํ‚ค์ง€๋กœ ๊ฐ„๋‹จํžˆ ์„ค์น˜ํ•  ์ˆ˜๊ฐ€ ์žˆ๋‹ค. ์ตœ์ ํ™”๋‚˜ ์ปดํŒŒ์ผ ์ž์ฒด์— ์˜๋ฏธ๋ฅผ ๋‘์ง€ ์•Š๋Š”๋‹ค๋ฉด ํŒจํ‚ค์ง€๋กœ ์„ค์น˜ํ•˜์ž. PREINSTALL clang ๋ฐ luajit ๋ฐ ๊ฐœ๋ฐœ ํˆด ์„ค์น˜ ํ•„์ˆ˜: build-base, clang, clang-extra-tools(clangd), cmake, luajit, luajit-dev # apk add --no-cache build-base clang clang-extra-tools lld compiler-rt compiler-rt-static cmake git luajit luajit-dev bash bash-completion grep rlwrap bat fd curl wget rsync sqlite jq tree ninja ์„ค์น˜ - alpine 3.16.3 ํ˜„์žฌ ๊ธฐ๋ณธ ํŒจํ‚ค์ง€ ์—†์Œ # git clone https://github.com/ninja-build/ninja && cd ninja # cmake -Bbuild-cmake # cmake --build build-cmake # ./build-cmake/ninja_test # cp ./build-cmake/ninja /usr/local/bin/ # which ninja # PATH ํ™•์ธ lua-language-server ์„ค์น˜ # cd /usr/local/ # git clone --depth=1 https://github.com/sumneko/lua-language-server # cd lua-language-server # git submodule update --depth 1 --init --recursive # cd 3rd/luamake # ./compile/install.sh # cd ../.. # ./3rd/luamake/luamake rebuild # ./bin/lua-language-server --version # cat<<EOF > /usr/local/bin/lua-language-server #!/usr/bin/env bash exec "/usr/local/lua-language-server/bin/lua-language-server" "$@" EOF # chmod 755 /usr/local/bin/lua-language-server # which lua-language-server # PATH ํ™•์ธ clangd ์„ค์น˜ clangd๋Š” c,c++์„ ์ง€์›ํ•œ๋‹ค. clangd๋Š” clang-extra-tools ํŒจํ‚ค์ง€์— ํฌํ•จ๋˜์–ด ์žˆ๋‹ค. Links ninja build howto https://github.com/ninja-build/ninja lua-language-server - Getting Started https://github.com/sumneko/lua-language-server/wiki/Getting-Started#command-line

2022-11-21 ยท (updated 2023-08-08) ยท 171 words

Docker Example - ์‚ฌ์šฉ๋ก€

INTRO Requirement: Docker Hub registration Requirement: Docker install on local login and create and push images to docker hub Docker Login $ docker login Username: neosolaris Password: xxxxxxx Login Succeeded Create Sample image create project dir and files $ mkdir myproject && cd myproject $ vim server.js $ vim Dockerfile server.js var http = require('http'); var handleRequest = function(request, response) { console.log('Received request for URL: ' + request.url); response.writeHead(200); response.end('Hello World!'); }; var www = http.createServer(handleRequest); www.listen(8080); Dockerfile FROM node:6.9.2 EXPOSE 8080 COPY server.js . CMD node server.js ์ด๋ฏธ์ง€ ๋นŒ๋“œ ๋ช…๋ น ์‹คํ–‰ ํ›„ ๋ธŒ๋ผ์šฐ์ €์—์„œ http://localhost:8080 ํ™•์ธ $ docker build -t neosolaris/hello-nodejs:v1 . #์‚ฌ์šฉ์ž๋ช…/์ €์žฅ์†Œ๋ช…:ํƒœ๊ทธ๋ช… $ docker images # ๋นŒ๋“œ์ด๋ฏธ์ง€ ํ™•์ธ $ docker run -d -p 8080:8080 -t neosolaris/hello-nodejs:v1 # ํ…Œ์ŠคํŠธ ์ปจํ…Œ์ด๋„ˆ ์ข…๋ฃŒ $ docker ps # ํ˜„์žฌ ์ปจํ…Œ์ด๋„ˆ๋“ค ํ™•์ธ $ docker stop <Container ID> # ํ•ด๋‹น ์ปจํ…Œ์ด๋„ˆ ์ข…๋ฃŒ ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ $ docker push neosolaris/hello-nodejs:v1 #์‚ฌ์šฉ์ž๋ช…/์ €์žฅ์†Œ๋ช…:ํƒœ๊ทธ๋ช… Image ์—…๋กœ๋“œ๋Š” ๋„์ปคํ—ˆ๋ธŒ์—์„œ ํ™•์ธ: https://hub.docker.com/u/neosolaris Links https://snowdeer.github.io/docker/2018/02/14/docker-push-image-to-docker-hub/

2022-11-13 ยท 151 words

DockerHub - ๋„์ปคํ—ˆ๋ธŒ ์†Œ๊ฐœ ๋ฐ ํ™œ์šฉ

Intro ๋„์ปค ์ด๋ฏธ์ง€ ์›๊ฒฉ ์ €์žฅ์†Œ ๋งŒ๋“ค์–ด ๋†“์€ ์ด๋ฏธ์ง€๋ฅผ ์—…๋กœ๋“œ ๋ฐ ๋‹ค์šด๋กœ๋“œ ํ™œ์šฉ ํšŒ์›๊ฐ€์ž… https://hub.docker.com - ๊ณ„์ • ๋ฐ ์ด๋ฉ”์ผ ๋“ฑ๋ก : ๊ณต๊ฐœ์šฉ(๊ฐœ์ธ)์€ ๋ฌด๋ฃŒ hub.docker.com ์ ‘์† ํ›„ ํšŒ์›๊ฐ€์ž… Email Confirm (์ž์‹ ์˜ ์ด๋ฉ”์ผ์—์„œ ์ธ์ฆ) ๋„์ปคํ—ˆ๋ธŒ ๋กœ๊ทธ์ธ ์ €์žฅ์†Œ ์ƒ์„ฑํ•˜๊ณ  ๋กœ์ปฌ์—์„œ ๋นŒ๋“œํ•œ ์ด๋ฏธ์ง€ ์˜ฌ๋ฆฌ๊ธฐ ๋กœ๊ทธ์ธ ํ›„ Repository ์ƒ์„ฑ ex) ์‚ฌ์šฉ์ž๋ช…/์ €์žฅ์†Œ๋ช…:ํƒœ๊ทธ๋ช… neosolaris/mdev:debian-luajit doocker client(my local pc)์—์„œ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์˜ฌ๋ฆฐ๋‹ค. $ docker login # hub์— ํšŒ์›๊ฐ€์ž…ํ•œ id, password ๋“ฑ๋ก $ docker images # ๋‚ด ์ด๋ฏธ์ง€ ํ™•์ธ (mdev:debian-luajit์ด๋ผ ๊ฐ€์ •) $ docker tag mdev:debian-luajit neosolaris/mdev:debian-luajit $ docker push neosolaris/mdev:debian-luajit #์‚ฌ์šฉ์ž๋ช…/์ €์žฅ์†Œ๋ช…:ํƒœ๊ทธ๋ช… hub.docker.com ์ ‘์† ํ›„ repository ํ™•์ธ ์œ„ ๊ณผ์ • ์ค‘ ๋„์ปคํ—ˆ๋ธŒ์—์„œ ์ €์žฅ์†Œ๋ฅผ ์ง์ ‘ ๋งŒ๋“ค์ง€ ์•Š์•„๋„ local์—์„œ ๋กœ๊ทธ์ธ๋˜์–ด ์žˆ๋‹ค๋ฉด docker push๋กœ ๊ฐ€๋Šฅํ•˜๋‹ค. ์ด๋ฏธ์ง€ ๋‹ค์šด๋กœ๋“œ ๋„์ปคํ—ˆ๋ธŒ์—์„œ ์ž์‹ ์ด ์›ํ•˜๋Š” ์ด๋ฏธ์ง€ ๋˜๋Š” ์ž์‹ ์ด ๋งŒ๋“  ์ด๋ฏธ์ง€๋ฅผ ๋‹ค์šด๋ฐ›๋Š”๋‹ค. $ docker pull gcc:bullseye # ๊ณต์‹ debian-bullseye-gcc ํ™˜๊ฒฝ ์ด๋ฏธ์ง€ $ docker neosolaris/mdev:debian-luajit # ๋‚ด ํ”„๋กœ์ ํŠธ ์ด๋ฏธ์ง€ Links https://hub.docker.com

2022-11-13 ยท 129 words

docker-build ๋„์ปค์ด๋ฏธ์ง€ ๋นŒ๋“œ

Intro ํ”„๋กœ์ ํŠธํด๋”๋ฅผ ๋งŒ๋“ค๊ณ  ๊ฐœ๋ฐœ Dockerfile์„ ํ•ด๋‹น ํ”„๋กœ์ ํŠธ์— ์ž‘์„ฑํ•œ๋‹ค. ํ•œ๋ผ์ธ์”ฉ ํ™•์ธํ•˜๋ฉฐ ์ด๋ฏธ์ง€๋ฅผ ๋นŒ๋“œํ•œ๋‹ค. ๋นŒ๋“œํ•œ ์ด๋ฏธ์ง€๋ฅผ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์‹คํ–‰ํ•ด์„œ ํ™•์ธํ•œ๋‹ค. Example Lemo Apps for Luajit ํ”„๋กœ์ ํŠธ ํด๋”๋ฅผ ๋งŒ๋“ค๊ณ  Dockerfile์„ ์ƒ์„ฑํ•œ๋‹ค. $ mkdir myproject && cd myproject $ vim Dockerfile ์ƒ์„ฑ๋œ Dockerfile FROM nickblah/luajit:2.1.0-beta3-buster ## Default root Env Setup First WORKDIR /root RUN \ echo 'set -o vi' >> .bashrc ## LEMO Program Set WORKDIR /usr/local COPY lemo ./lemo RUN \ echo 'exec "/usr/local/lemo/lib/main.lua" "$@"' > ./bin/lemo &&\ chmod 755 ./bin/lemo Image Build $ docker build -t buster:lemo . # ๋นŒ๋“œ $ docker images # ๋นŒ๋“œํ•œ ์ด๋ฏธ์ง€ ํ™•์ธ $ docker run --rm -it buster:lemo bash # ์ด๋ฏธ์ง€๋ฅผ ์ปจํ…Œ์ด๋„ˆ ์‹คํ–‰ ๋ฐ ํ…Œ์ŠคํŠธ Links https://docs.docker.com/engine/reference/builder https://www.44bits.io/ko/post/easy-deploy-with-docker

2022-11-09 ยท 110 words

Docker Setup - ์„ค์ •

Docker ๋ฐ๋ชฌ ์„œ๋น„์Šค ์„ค์ • ํŒจํ‚ค์ง€๋ฅผ ์„ค์น˜ํ•  ๊ฒฝ์šฐ ์ž๋™์œผ๋กœ ๋“ฑ๋ก๋˜์ง€๋งŒ ์‹คํŒจํ•  ๊ฒฝ์šฐ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. $ sudo systemctl status docker # ์„œ๋น„์Šค Active ํ™•์ธ์‹คํŒจ $ sudo systemctl enable docker # ๋ถ€ํŒ…์‹œ ์„œ๋น„์Šค ์ž๋™ ์‹คํ–‰ ์„ค์ • $ sudo systemctl start docker # ์„œ๋น„์Šค ์‹คํ–‰ $ sudo systemctl restart docker # ์„œ๋น„์Šค ์žฌ์‹คํ–‰ $ sudo systemctl status docker # ์„œ๋น„์Šค ๋™์ž‘ํ™•์ธ Docker๋ฅผ ์ผ๋ฐ˜ ์‚ฌ์šฉ์ž ๊ถŒํ•œ์œผ๋กœ ๋ณ€๊ฒฝ ํ•ญ์ƒ docker๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ sudo๋ฅผ ์‚ฌ์šฉํ•˜๋ฏ€๋กœ ๋ฒˆ๊ฑฐ๋กญ๋‹ค. $ sudo usermod -aG docker ${USER} # ์ดํ›„ ๋กœ๊ทธ์•„์›ƒํ•˜๊ฑฐ๋‚˜ ์žฌ๋ถ€ํŒ… $ sudo reboot $ groups # ๊ทธ๋ฃน์— docker๊ฐ€ ์žˆ๋Š” ์ง€ ํ™•์ธ $ docker ps -a # sudo ์—†์ด ๋ช…๋ น ์‹คํ–‰ Docker ๋กœ์ปฌ ๋””๋ ‰ํ† ๋ฆฌ ๋ณ€๊ฒฝ /var/lib/docker๊ฐ€ ๊ธฐ๋ณธ ๋””๋ ‰ํ† ๋ฆฌ์ด๋‹ค. /var๋Š” ๋ณดํ†ต root ํŒŒํ‹ฐ์…˜์ด๋ฏ€๋กœ ์‚ฌ์šฉ์ค‘ ๊ณต๊ฐ„๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋‹ค. /data/docker๋ผ๋Š” ์ถฉ๋ถ„ํ•œ ๊ณต๊ฐ„์œผ๋กœ ๋ณ€๊ฒฝํ•œ๋‹ค๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. ์šฐ๋ถ„ํˆฌ๋‚˜ ๋ฐ๋น„์•ˆ ๊ธฐ์ค€์ด๊ณ  docker 20.10.21 ๋ฒ„์ „์˜ ์˜ˆ์ด๋‹ค. ์ด ์„ค์ •์€ docker ์„ค์น˜ ์ดˆ๊ธฐ์— ํ•ด์•ผํ•œ๋‹ค. (๊ทธ๋ ‡์ง€ ์•Š๋‹ค๋ฉด ๋ฐฑ์—… ํ•„์ˆ˜) $ sudo systemctl stop docker # ์„œ๋น„์Šค ์ค‘์ง€ $ sudo systemctl status docker # ์„œ๋น„์Šค ์ƒํƒœ ํ™•์ธ $ sudo cat<<EOF > /etc/docker/daemon.json { "graph": "/data/docker" } EOF $ sudo rm -rf /var/lib/docker # ๊ธฐ์กด ๋””๋ ‰ํ† ๋ฆฌ ์ œ๊ฑฐ $ sudo systemctl start # ์„œ๋น„์Šค ์‹คํ–‰ $ docker info | grep 'Docker Root Dir' # ๋””๋ ‰ํ† ๋ฆฌ ๋ณ€๊ฒฝ ํ™•์ธ Docker Root Dir: /data/docker $ ln -s /data/docker /var/lib/docker # ํ˜ธํ™˜์„ ์œ„ํ•ด ๋งํฌ๋ฅผ ์ƒ์„ฑ

2022-11-09 ยท 207 words