by

Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
  • Nov 15 2018 17:56
  • Oct 12 2018 01:00
    uribo starred expfactory/expfactory
  • Sep 29 2018 13:39
    tylerburleigh synchronize #91
  • Aug 27 2018 21:19

    vsoch on docs

    (compare)

  • Aug 27 2018 21:17

    vsoch on master

    adding image back Merge branch 'master' of github… adding remainder of images and 1 more (compare)

  • Aug 27 2018 21:10
    vsoch closed #116
  • Aug 27 2018 21:02
    vsoch opened #116
  • Aug 27 2018 21:02

    vsoch on docs

    adding remainder of images (compare)

  • Aug 27 2018 21:01

    vsoch on docs

    Merge pull request #115 from ex… adding image back Merge branch 'master' of github… (compare)

  • Aug 26 2018 22:14

    vsoch on master

    removing a toooon of docs Merge pull request #115 from ex… (compare)

  • Aug 26 2018 22:14
    vsoch closed #115
  • Aug 26 2018 22:04
    vsoch opened #115
  • Aug 26 2018 22:03

    vsoch on docs

    removing a toooon of docs (compare)

  • Aug 16 2018 18:04
    vsoch commented #76
  • Aug 16 2018 18:02
    earcanal commented #76
  • Aug 15 2018 13:52

    vsoch on master

    Update surveys.md Checkboxes i… Merge pull request #114 from ea… (compare)

  • Aug 15 2018 13:52
    vsoch closed #114
  • Aug 15 2018 13:14
    earcanal opened #114
  • Aug 09 2018 13:11
    vsoch commented #113
  • Aug 09 2018 10:12
    earcanal commented #113
earcanal
@earcanal
My (previously functional) method of building expfactory docker images on my digital ocean droplet has started failing:
Installed /usr/local/lib/python3.5/dist-packages/MarkupSafe-1.1.1-py3.5-linux-x86_64.egg
Finished processing dependencies for expfactory==3.13
Removing intermediate container 157fd78e2658
 ---> ad0e4e5726d2
Step 21/40 : RUN python3 -m pip install pyaml    pymysql psycopg2
 ---> Running in 4a588c05cddb
Collecting pyaml
  Downloading https://files.pythonhosted.org/packages/33/1a/936074f3492156693fc9e471269fc5747fa3b7d9d7f8a33af054f6b24066/pyaml-19.4.1-py2.py3-none-any.whl
Collecting pymysql
  Downloading https://files.pythonhosted.org/packages/ed/39/15045ae46f2a123019aa968dfcba0396c161c20f855f11dea6796bcaae95/PyMySQL-0.9.3-py2.py3-none-any.whl (47kB)
Collecting psycopg2
  Downloading https://files.pythonhosted.org/packages/23/7e/93c325482c328619870b6cd09370f6dbe1148283daca65115cd63642e60f/psycopg2-2.8.2.tar.gz (368kB)
    Complete output from command python setup.py egg_info:
    running egg_info
    creating pip-egg-info/psycopg2.egg-info
    writing dependency_links to pip-egg-info/psycopg2.egg-info/dependency_links.txt
    writing top-level names to pip-egg-info/psycopg2.egg-info/top_level.txt
    writing pip-egg-info/psycopg2.egg-info/PKG-INFO
    writing manifest file 'pip-egg-info/psycopg2.egg-info/SOURCES.txt'
    /usr/lib/python3.5/distutils/dist.py:261: UserWarning: Unknown distribution option: 'project_urls'
      warnings.warn(msg)
    /usr/lib/python3.5/distutils/dist.py:261: UserWarning: Unknown distribution option: 'python_requires'
      warnings.warn(msg)
    warning: manifest_maker: standard file '-c' not found


    Error: pg_config executable not found.

    pg_config is required to build psycopg2 from source.  Please add the directory
    containing pg_config to the $PATH or specify the full executable path with the
    option:

        python setup.py build_ext --pg-config /path/to/pg_config build ...

    or with the pg_config option in 'setup.cfg'.

    If you prefer to avoid building psycopg2 from source, please install the PyPI
    'psycopg2-binary' package instead.

    For further information please check the 'doc/src/install.rst' file (also at
    <http://initd.org/psycopg/docs/install.html>).


    ----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-7ddtwk2u/psycopg2/
You are using pip version 8.1.1, however version 19.1.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
The command '/bin/sh -c python3 -m pip install pyaml    pymysql psycopg2' returned a non-zero code: 1
Any clues?
It looks like I need some install-pg_config-for-python-3-fu
Hmm, no pg_config is part of postgres, and I have that
earcanal
@earcanal
$ which pg_config
/usr/bin/pg_config
earcanal
@earcanal
This doesn't look good
$ python3 -m pip
/usr/bin/python3: No module named pip
earcanal
@earcanal
@vsoch: I get the same build error on my DO droplet (Ubuntu 16.04.5 LTS) and localhost (Ubuntu 18.04.2 LTS), so this looks like a container build issue I can't resolve. Something to do with the container that does the building of experiment containers? Grateful for any advice you can give, as I'm trying to build a container for a study starting tomorrow :-/
Here's my Dockerfile:
FROM vanessa/expfactory-builder:base

########################################
# Configure
########################################

ENV EXPFACTORY_STUDY_ID expfactory
ENV EXPFACTORY_SERVER localhost
ENV EXPFACTORY_CONTAINER true
ENV EXPFACTORY_DATA /scif/data
ENV EXPFACTORY_DATABASE filesystem
ENV EXPFACTORY_HEADLESS false
ENV EXPFACTORY_BASE /scif/apps

ADD startscript.sh /startscript.sh
RUN chmod u+x /startscript.sh

WORKDIR /opt 
RUN git clone -b master https://www.github.com/expfactory/expfactory
WORKDIR expfactory 
RUN cp script/nginx.https.conf /etc/nginx/sites-enabled/default && \
    cp script/nginx.conf /etc/nginx/nginx.conf
RUN mkdir -p /scif/data # saved data
RUN mkdir -p /scif/apps # experiments 
RUN mkdir -p /scif/logs # gunicorn logs 
RUN python3 -m pip install gunicorn
RUN cp expfactory/config_dummy.py expfactory/config.py && \
    chmod u+x /opt/expfactory/script/generate_key.sh && \
    /bin/bash /opt/expfactory/script/generate_key.sh /opt/expfactory/expfactory/config.py
RUN python3 setup.py install
RUN python3 -m pip install pyaml    pymysql psycopg2
RUN apt-get clean          # tests, mysql,  postgres

########################################
# Experiments
########################################

LABEL EXPERIMENT_consent /scif/apps/consent
ADD consent /scif/apps/consent
WORKDIR /scif/apps
RUN expfactory install consent

LABEL EXPERIMENT_debrief /scif/apps/debrief
ADD debrief /scif/apps/debrief
WORKDIR /scif/apps
RUN expfactory install debrief

LABEL EXPERIMENT_simple-demographics-survey-2 /scif/apps/simple-demographics-survey-2
WORKDIR /scif/apps
RUN expfactory install https://github.com/earcanal/simple-demographics-survey-2

LABEL EXPERIMENT_stroop-sas /scif/apps/stroop-sas
WORKDIR /scif/apps
RUN expfactory install https://github.com/earcanal/stroop-sas

ENTRYPOINT ["/bin/bash", "/startscript.sh"]
EXPOSE 5000
EXPOSE 443
EXPOSE 80
Vanessasaurus
@vsoch
Hey be there in like 20 mins! Will help :)
Vanessasaurus
@vsoch
@earcanal i can help debug, but you probably shouldn't deploy anything until https://people.canonical.com/~ubuntu-security/cve/2019/CVE-2019-11815.html is fixed
especially with participant data
In your debug log it looks like pip is found, it's just an issue with pg_config
I'll pull a previous experiment container and see what we used
Vanessasaurus
@vsoch
okay just reproduced - it's a version error so fixing it up should resolve.
Vanessasaurus
@vsoch
@earcanal I'm making these fixes for you - I'll need some time to work on it
earcanal
@earcanal
@vsoch so am I right in thinking I need to wait for a new https://hub.docker.com/r/vanessa/expfactory-builder ?
I have a reasonable backup plan, which is to just run the tasks from their repos.
This is a lab study, so I can intervene to move Ps through the tasks.
Vanessasaurus
@vsoch
@earcanal I've literally been working on this 5 hours straight
I'm almost done, you just need to be... patient.
earcanal
@earcanal
Sorry, didn't mean to sound impatient. Just checking I understand the issue! I wasn't sure I'd correctly identified what was up when I looked at it earlier.
Vanessasaurus
@vsoch
okay give a try, base was just updated
earcanal
@earcanal
Should I just try to repeat my container build? I have limited battery and have left my power supply in the office so need to use it wisely!
do I need to explicitly pull a new version of the build container?
looks like it ...
earcanal
@earcanal
I still have the same issue after docker pull vanessa/exfactory-builder; docker build --no-cache -t earcanal/study12 .
Vanessasaurus
@vsoch
Let me try, one sec
you spelled the container wrong docker pull vanessa/expactory-builder
docker pull vanessa/expfactory-builder
but the base of your recipe is the :base tag anyway
pull that again
docker pull vanessa/expfactory-builder:base
earcanal
@earcanal
I spelled it correctly when I pulled it ;-)
is it different if I pull ...:base?
Vanessasaurus
@vsoch
So here is what happens - you need to generate the recipe again
yes there are two containers
show me the command you use to generate the dockerfile first
something like $ docker run -v $PWD:/data vanessa/expfactory-builder build test-task
you'll need to run that first
earcanal
@earcanal
docker run -v $HOME/study7:/data \
              vanessa/expfactory-builder \
              build test-task \
              --input build/docker/Dockerfile.https
Vanessasaurus
@vsoch
yep exactly right!
earcanal
@earcanal
That's how I did it originally, but I've been copy/pasting that recipe around for a while and manually editing the experiment section.
Vanessasaurus
@vsoch
Now check out the Dockerfile - it's different by one line
RUN python3 -m pip install pyaml pymysql psycopg2==2.7.5
earcanal
@earcanal
ah, ok
Vanessasaurus
@vsoch
You can't use the Dockerfile you posted above