Yet another Pharo in docker

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
17 messages Options
Reply | Threaded
Open this post in threaded view
|

Yet another Pharo in docker

Herby Vojčík
Reply | Threaded
Open this post in threaded view
|

Re: Yet another Pharo in docker

Herby Vojčík
Herby Vojčík wrote:
> https://hub.docker.com/r/herbysk/pharo/
>
Thanks to gotchas@dockerhub whose scripts I adapted.

Reply | Threaded
Open this post in threaded view
|

Re: Yet another Pharo in docker

Sean P. DeNigris
Administrator
In reply to this post by Herby Vojčík
Herby Vojčík wrote
> https://hub.docker.com/r/herbysk/pharo/

Cool! I noticed the following [1]:
    ln -s \
          `/sbin/ldconfig -p | sed -e 's|[^/]*||' | grep sqlite3` \
          `find . -type f -name SqueakSSL.so -print0 | xargs -0
dirname`/sqlite3.so
What does it do?

Answer from Herby in private mail: fixes linux lib lookup problem in ffi,
which I discussed on ML or in bug tracker few months ago. FFI was not able
to localize sqlite, so the fix chosen was to find its location and symlink
it to pharo directory with good name so it then finds it (it is mentioned in
docker desc "fixes sqlite").

1. https://lolg.it/herby/pharo-docker/src/master/61_32/Dockerfile



-----
Cheers,
Sean
--
Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html

Cheers,
Sean
Reply | Threaded
Open this post in threaded view
|

Re: Yet another Pharo in docker

Sean P. DeNigris
Administrator
In reply to this post by Herby Vojčík
Herby Vojčík wrote
> https://hub.docker.com/r/herbysk/pharo/

How are the images built from https://lolg.it/herby/pharo-docker?



-----
Cheers,
Sean
--
Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html

Cheers,
Sean
Reply | Threaded
Open this post in threaded view
|

Re: Yet another Pharo in docker

Pierce Ng-3
In reply to this post by Sean P. DeNigris
On Sat, Mar 03, 2018 at 09:04:59AM -0700, Sean P. DeNigris wrote:
> Cool! I noticed the following [1]:
>     ln -s \
>           `/sbin/ldconfig -p | sed -e 's|[^/]*||' | grep sqlite3` \
>           `find . -type f -name SqueakSSL.so -print0 | xargs -0
> dirname`/sqlite3.so
> What does it do?
>
> Answer from Herby in private mail: fixes linux lib lookup problem in ffi,

I was just about to do this Docker thing the other way, which is to bundle my
own SQLite library, for these reasons:

- Customize SQLite to include JSON, FTS, etc.

- Yesterday I committed functionality to load SQLite extensions (so/dylib/dll
  files implementing SQL functions and virtual tables). I'm using a PCRE-based
  extension.

- SQLcipher. This is in NBSQLite3, to be ported to UFFI.

Pierce


Reply | Threaded
Open this post in threaded view
|

Re: Yet another Pharo in docker

Stephane Ducasse-3
Could you build a roadmap of the actions to be done to improve the
situation (like porting NB...)

Stef

On Sun, Mar 4, 2018 at 5:11 AM, Pierce Ng <[hidden email]> wrote:

> On Sat, Mar 03, 2018 at 09:04:59AM -0700, Sean P. DeNigris wrote:
>> Cool! I noticed the following [1]:
>>     ln -s \
>>           `/sbin/ldconfig -p | sed -e 's|[^/]*||' | grep sqlite3` \
>>           `find . -type f -name SqueakSSL.so -print0 | xargs -0
>> dirname`/sqlite3.so
>> What does it do?
>>
>> Answer from Herby in private mail: fixes linux lib lookup problem in ffi,
>
> I was just about to do this Docker thing the other way, which is to bundle my
> own SQLite library, for these reasons:
>
> - Customize SQLite to include JSON, FTS, etc.
>
> - Yesterday I committed functionality to load SQLite extensions (so/dylib/dll
>   files implementing SQL functions and virtual tables). I'm using a PCRE-based
>   extension.
>
> - SQLcipher. This is in NBSQLite3, to be ported to UFFI.
>
> Pierce
>
>

Reply | Threaded
Open this post in threaded view
|

Re: Yet another Pharo in docker

Sean P. DeNigris
Administrator
In reply to this post by Sean P. DeNigris
Sean P. DeNigris wrote
>> https://hub.docker.com/r/herbysk/pharo/
> How are the images built from https://lolg.it/herby/pharo-docker?

Researching a bit it seems that Docker Hub only supports GitHub and
BitBucket, and IIUC you can't change the image name if you use automated
building. Therefore, I assume you're going something custom. Is it manual?
Or is there a way to set up triggers for a custom solution? Thanks.



-----
Cheers,
Sean
--
Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html

Cheers,
Sean
Reply | Threaded
Open this post in threaded view
|

Re: Yet another Pharo in docker

Herby Vojčík


Sean P. DeNigris wrote:
> Sean P. DeNigris wrote
>>> https://hub.docker.com/r/herbysk/pharo/
>> How are the images built from https://lolg.it/herby/pharo-docker?
>
> Researching a bit it seems that Docker Hub only supports GitHub and
> BitBucket, and IIUC you can't change the image name if you use automated
> building. Therefore, I assume you're going something custom. Is it manual?

Manual. I actually replied to original question, but mail got stuck in
moderation b/c it has empty subject or something.

Whenever I see there is significant change / the project needs to have
the new changes in, I rebuild and reupload manually.

Herby

> Or is there a way to set up triggers for a custom solution? Thanks.
>
>
>
> -----
> Cheers,
> Sean
> --
> Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html
>

Reply | Threaded
Open this post in threaded view
|

Re: Yet another Pharo in docker

Herby Vojčík


Herbert Vojčík wrote:

>
>
> Sean P. DeNigris wrote:
>> Sean P. DeNigris wrote
>>>> https://hub.docker.com/r/herbysk/pharo/
>>> How are the images built from https://lolg.it/herby/pharo-docker?
>>
>> Researching a bit it seems that Docker Hub only supports GitHub and
>> BitBucket, and IIUC you can't change the image name if you use automated
>> building. Therefore, I assume you're going something custom. Is it
>> manual?
>
> Manual. I actually replied to original question, but mail got stuck in
> moderation b/c it has empty subject or something.
>
> Whenever I see there is significant change / the project needs to have
> the new changes in, I rebuild and reupload manually.

Also, I pointed out in that lost mail, I only created this docker out of
necessity since there isn't pharo official one. Having official one
generated from Jenkins would be nice.

>
> Herby
>
>> Or is there a way to set up triggers for a custom solution? Thanks.
>>
>>
>>
>> -----
>> Cheers,
>> Sean
>> --
>> Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html
>>
>

Reply | Threaded
Open this post in threaded view
|

Re: Yet another Pharo in docker

Herby Vojčík
BTW, Sean (or anyone else), if you still find this docker useful, should
I add you as contributor in dockerhub and write access in git so you
could make builds for 70 (I do not use 70, so not knowing when is it the
good point to make new build). Or is there some ETA to official one
built from Pharo jenkins itself?

Herby

Herbert Vojčík wrote:

>
>
> Herbert Vojčík wrote:
>>
>>
>> Sean P. DeNigris wrote:
>>> Sean P. DeNigris wrote
>>>>> https://hub.docker.com/r/herbysk/pharo/
>>>> How are the images built from https://lolg.it/herby/pharo-docker?
>>>
>>> Researching a bit it seems that Docker Hub only supports GitHub and
>>> BitBucket, and IIUC you can't change the image name if you use
>>> automated
>>> building. Therefore, I assume you're going something custom. Is it
>>> manual?
>>
>> Manual. I actually replied to original question, but mail got stuck in
>> moderation b/c it has empty subject or something.
>>
>> Whenever I see there is significant change / the project needs to have
>> the new changes in, I rebuild and reupload manually.
>
> Also, I pointed out in that lost mail, I only created this docker out of
> necessity since there isn't pharo official one. Having official one
> generated from Jenkins would be nice.
>
>>
>> Herby
>>
>>> Or is there a way to set up triggers for a custom solution? Thanks.
>>>
>>>
>>>
>>> -----
>>> Cheers,
>>> Sean
>>> --
>>> Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html
>>>
>>
>

Reply | Threaded
Open this post in threaded view
|

Re: Yet another Pharo in docker

Marcus Denker-4
Hi,

I would like to coordinate to have something official in April.

        Marcus

> On 21 Mar 2018, at 18:32, Herbert Vojčík <[hidden email]> wrote:
>
> BTW, Sean (or anyone else), if you still find this docker useful, should I add you as contributor in dockerhub and write access in git so you could make builds for 70 (I do not use 70, so not knowing when is it the good point to make new build). Or is there some ETA to official one built from Pharo jenkins itself?
>
> Herby
>
> Herbert Vojčík wrote:
>>
>>
>> Herbert Vojčík wrote:
>>>
>>>
>>> Sean P. DeNigris wrote:
>>>> Sean P. DeNigris wrote
>>>>>> https://hub.docker.com/r/herbysk/pharo/
>>>>> How are the images built from https://lolg.it/herby/pharo-docker?
>>>>
>>>> Researching a bit it seems that Docker Hub only supports GitHub and
>>>> BitBucket, and IIUC you can't change the image name if you use
>>>> automated
>>>> building. Therefore, I assume you're going something custom. Is it
>>>> manual?
>>>
>>> Manual. I actually replied to original question, but mail got stuck in
>>> moderation b/c it has empty subject or something.
>>>
>>> Whenever I see there is significant change / the project needs to have
>>> the new changes in, I rebuild and reupload manually.
>>
>> Also, I pointed out in that lost mail, I only created this docker out of
>> necessity since there isn't pharo official one. Having official one
>> generated from Jenkins would be nice.
>>
>>>
>>> Herby
>>>
>>>> Or is there a way to set up triggers for a custom solution? Thanks.
>>>>
>>>>
>>>>
>>>> -----
>>>> Cheers,
>>>> Sean
>>>> --
>>>> Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html
>>>>
>>>
>>
>


Reply | Threaded
Open this post in threaded view
|

Re: Yet another Pharo in docker

NorbertHartl
Me, too. Sadly I don’t find time to prepare that properly. Thinks to consider are as always desktop and server environments. As I can see and Herby is tweaking DISPLAY variables, his approach is used to start a pharo inside a docker container but have the display opened on the host computer. What I use is a docker container that has a vm installed, you give it an image and the container is usable in a standalone fashion everywhere. Both are useful and should be considered when choosing names for the docker images.
We should create an organization at hub.docker.com for pharo. It would be best to have an offical organisation here but the effort is a little bigger to achieve this. I wanted to do it but time is really sparse right now. 
Additionally we need to come to a conclusion what vm to use. We put quite some effort to get a process of producing real linux packages for distribution. Sadly the vm building process is not ready for making it part of this process so this lacks behing which means the vms of the opensuse build service are not up-to-date. If the process of the vm is fixed this can be an automatic process to release linux packages automatically if there is no vm version. So at first we could use a zeroconf downloaded vm inside a pharo image and hopefully later this can be exchanged by the linux ones.
The github repo for the docker files already exists in https://github.com/pharo-project/pharo-docker 

If there is a coordination initiative for docker please include me!

Norbert

Am 22.03.2018 um 09:48 schrieb Marcus Denker <[hidden email]>:

Hi,

I would like to coordinate to have something official in April.

Marcus

On 21 Mar 2018, at 18:32, Herbert Vojčík <[hidden email]> wrote:

BTW, Sean (or anyone else), if you still find this docker useful, should I add you as contributor in dockerhub and write access in git so you could make builds for 70 (I do not use 70, so not knowing when is it the good point to make new build). Or is there some ETA to official one built from Pharo jenkins itself?

Herby

Herbert Vojčík wrote:


Herbert Vojčík wrote:


Sean P. DeNigris wrote:
Sean P. DeNigris wrote
https://hub.docker.com/r/herbysk/pharo/
How are the images built from https://lolg.it/herby/pharo-docker?

Researching a bit it seems that Docker Hub only supports GitHub and
BitBucket, and IIUC you can't change the image name if you use
automated
building. Therefore, I assume you're going something custom. Is it
manual?

Manual. I actually replied to original question, but mail got stuck in
moderation b/c it has empty subject or something.

Whenever I see there is significant change / the project needs to have
the new changes in, I rebuild and reupload manually.

Also, I pointed out in that lost mail, I only created this docker out of
necessity since there isn't pharo official one. Having official one
generated from Jenkins would be nice.


Herby

Or is there a way to set up triggers for a custom solution? Thanks.



-----
Cheers,
Sean
--
Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html







Reply | Threaded
Open this post in threaded view
|

Re: Yet another Pharo in docker

Sean P. DeNigris
Administrator
In reply to this post by Herby Vojčík
Herby Vojčík wrote
> if you still find this docker useful, should
> I add you as contributor in dockerhub and write access in git so you
> could make builds for 70

Sure, can't hurt. Thanks.



-----
Cheers,
Sean
--
Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html

Cheers,
Sean
Reply | Threaded
Open this post in threaded view
|

Re: Yet another Pharo in docker

Sean P. DeNigris
Administrator
In reply to this post by Marcus Denker-4
Marcus Denker-4 wrote
> I would like to coordinate to have something official in April.

As you investigate this, check out the barebones Docker support in the
`docker` branch of my smalltalkCI fork [1]. It is a proof-of-concept wrapper
of the Docker infrastructure, so that (kind of like Slang), you can stay in
Pharo instead of learning and writing Dockerfiles by hand. Commits trigger
container(s) to be built automatically on DockerHub [2] which are in daily
use in my CI builds. Here is an example:
        | toolDependencies commands |
        toolDependencies := #('ca-certificates' curl unzip wget git).
        commands := OrderedCollection new
                add: (SCIDockerComment contents: 'Pharo (32-bit)');
                add: (SCIDockerFROM new baseImage: 'ubuntu:16.04');
                addAll: (aPlatform sciDockerDependencyCommandsGivenTools:
toolDependencies);
                yourself.
        ^ self new
                        instructions: commands;
                        yourself.

Which gets turned into something like this [3]:


I wrote it to use it in my CI builds, so at the time smalltalkCI seemed like
the most appropriate host, but it could live anywhere and could easily be
extracted. IIRC it has no dependencies ATM.

        # Pharo (32-bit)

        FROM ubuntu:16.04

        RUN dpkg --add-architecture i386

        RUN apt-get -qq update && apt-get -qq install \
            ca-certificates \
            curl \
            git \
            libcurl3:i386 \
            libfontconfig1:i386 \
            libfreetype6:i386 \
            libgl1-mesa-glx:i386 \
            libsqlite3-0:i386 \
            libssl1.0.0:i386 \
            libx11-6:i386 \
            unzip \
            wget \
            && rm -rf /var/lib/apt/lists/*

        RUN echo "Pharo 32-bit prerequisities installed."

1.
https://github.com/seandenigris/smalltalkCI/tree/docker/repository/SmalltalkCI-Docker.package
2. https://hub.docker.com/r/seandenigris/pharo/
3. https://github.com/seandenigris/smalltalkCI/blob/docker/docker/Dockerfile



-----
Cheers,
Sean
--
Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html

Cheers,
Sean
Reply | Threaded
Open this post in threaded view
|

Re: Yet another Pharo in docker

philippeback
I am currently looking into deploying Pharo in Kubernetes.

Not the same as Docker but quite close.

Phil

On Thu, Mar 22, 2018, 17:14 Sean P. DeNigris <[hidden email]> wrote:
Marcus Denker-4 wrote
> I would like to coordinate to have something official in April.

As you investigate this, check out the barebones Docker support in the
`docker` branch of my smalltalkCI fork [1]. It is a proof-of-concept wrapper
of the Docker infrastructure, so that (kind of like Slang), you can stay in
Pharo instead of learning and writing Dockerfiles by hand. Commits trigger
container(s) to be built automatically on DockerHub [2] which are in daily
use in my CI builds. Here is an example:
        | toolDependencies commands |
        toolDependencies := #('ca-certificates' curl unzip wget git).
        commands := OrderedCollection new
                add: (SCIDockerComment contents: 'Pharo (32-bit)');
                add: (SCIDockerFROM new baseImage: 'ubuntu:16.04');
                addAll: (aPlatform sciDockerDependencyCommandsGivenTools:
toolDependencies);
                yourself.
        ^ self new
                        instructions: commands;
                        yourself.

Which gets turned into something like this [3]:


I wrote it to use it in my CI builds, so at the time smalltalkCI seemed like
the most appropriate host, but it could live anywhere and could easily be
extracted. IIRC it has no dependencies ATM.

        # Pharo (32-bit)

        FROM ubuntu:16.04

        RUN dpkg --add-architecture i386

        RUN apt-get -qq update && apt-get -qq install \
            ca-certificates \
            curl \
            git \
            libcurl3:i386 \
            libfontconfig1:i386 \
            libfreetype6:i386 \
            libgl1-mesa-glx:i386 \
            libsqlite3-0:i386 \
            libssl1.0.0:i386 \
            libx11-6:i386 \
            unzip \
            wget \
            && rm -rf /var/lib/apt/lists/*

        RUN echo "Pharo 32-bit prerequisities installed."

1.
https://github.com/seandenigris/smalltalkCI/tree/docker/repository/SmalltalkCI-Docker.package
2. https://hub.docker.com/r/seandenigris/pharo/
3. https://github.com/seandenigris/smalltalkCI/blob/docker/docker/Dockerfile



-----
Cheers,
Sean
--
Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html


Reply | Threaded
Open this post in threaded view
|

Re: Yet another Pharo in docker

Herby Vojčík
In reply to this post by Herby Vojčík
Updated with 60541 release of 6.1.

Herby Vojčík wrote on 18. 10. 2017 22:17:
> Herby Vojčík wrote:
>> https://hub.docker.com/r/herbysk/pharo/
>>
> Thanks to gotchas@dockerhub whose scripts I adapted.
>

Reply | Threaded
Open this post in threaded view
|

Re: Yet another Pharo in docker

Herby Vojčík
Updated with 60543 release of 6.1, now that zeroconf (used to build
this) contains newer vm.

Herby

P.S.: Not used the official one yet, if it proves to be composable
enough, I'd gladly abandon this one.

Herbert Vojčík wrote on 27. 6. 2018 20:27:
> Updated with 60541 release of 6.1.
>
> Herby Vojčík wrote on 18. 10. 2017 22:17:
>> Herby Vojčík wrote:
>>> https://hub.docker.com/r/herbysk/pharo/
>>>
>> Thanks to gotchas@dockerhub whose scripts I adapted.
>>
>