freenode/#lisp - IRC Chatlog
Search
0:19:16
matzy_
seok yeah, i'm trying to deploy a docker container to aws with a minimal webserver for a pro bono project i'm doing. you should check out this container, it has everything we need: https://hub.docker.com/r/madnificent/lisp-webservice
0:19:54
Harag
maybe look at this https://github.com/shassard/sbcl-ql-swank learn how to set up your Dockerfile correctly
0:22:19
matzy_
i just wan't figure out how to get it running. i think it was because i had always been running my server locally with slime and have never used asdf to build the package. i'm hoping now I can just specify the system no-defun-allowed helped me compile/load/whatever and it will work
0:23:54
matzy_
The "Idiomatic Use" section of his docs says "Ideally, your webservice has the same name as its main package, and the main package should contain a boot command which launches the web service". I'm just confused of his wording of "package" and "webservice" there
0:25:23
matzy_
I think "main package" refers to the system no-defun-allowed just helped me compile but I still don't know what he means by "package"
0:28:22
no-defun-allowed
I haven't used Docker or that configuration before, but I guess the expected use is that you have a file that loads your system and calls some function to start the server.
0:29:06
no-defun-allowed
Or you use `docker run` arguments to tell it what system to load, and what to run to start it? I'm not sure.
0:30:53
Harag
you install what you need on the docker with RUN commands and then usually the last thing in the Docker file is a CMD that you start lisp with loading your package or source file which should contain the code that starts your webserver etc
0:35:52
seok
wouldn't you need to change settings of you application once you upload your container to a cloud?
0:40:22
Harag
the jist of it is that you need to tell docker which ports to open with EXPOSE, and to be able to test on your local machine when you run you have to map the docker port to a port on your local machine
0:41:11
Harag
internally docker uses 0.0.0.0 for localhost and not 127.0.01 ... or something like that.... i am not to hot networking
0:46:18
matzy_
seok if you use the image i provided it takes care of the networking (or rather, shows you the commands to in the docs)
0:50:02
matzy_
there's also a github with the same README if you go to https://github.com/madnificent/lisp-webservice-docker
0:51:59
matzy_
you can also try going to hub.docker.com and searching for "lisp-webservice" till you find his
0:53:39
matzy_
just do what i said above and go to dockerhub and search for that image name and looks for the one with his username
0:55:37
matzy_
so Harag would I load the quicklisp repos through his command in the docker image and remove them from the :depends-on section of my .asd file?
0:58:14
Harag
matzy_: that docker image really cool but really complicated I would start with a simple Docker file form scratch which will teach you the basics after that you can get fancy
1:04:57
matzy_
Harag yeah that's the one thing I was worried about, it's taking a docker image and then adding more stuff onto it for convenience, but if I could get it to work....i do understand almost all of the commands in the Dockerfile
3:57:34
PuercoPop
What are the consequences of (declare (ignore foo))? If I declare a keyword arguemnt as ignored in one method and then (call-next-method). Should the next method be able to use the keyword argument?
3:59:35
beach
It is just to inform the compiler that in that particular scope, you don't intend to use the variable, so the compiler should not warn if the variable is not used.
4:00:27
beach
And by "lexical scope" is meant the text that covers the declaration. The next method is not in that scope.
5:34:40
no-defun-allowed
ql-setup::asdf-fasl-pathname appears to use it. That seems to used to name the FASL file for ASDF.
5:55:22
no-defun-allowed
I'm not sure, but it basically rotates (not shifts; rotation causes the most significant bits that get pushed off to the left to cycle back into the least significant) the hash by 5 bits and XORs in the next character code. Nothing really too fancy, so I don't know if it's really inspired by anything.
6:46:38
adlai
it's probably "safe" since the input space is significantly restricted (implementation name & version, machine type & version)
6:54:28
phoe
(progn (setf *random-state* (make-random-state)) (alexandria:whichever :beach :easye)) ;=> :EASYE