cd docker-udata
docker-compose upTo be able to upload files, you will need to access the docker instance through an URL with a tld, i.e. localhost.local for example (set it in your /etc/hosts on your Unix machine).
Check that localhost.local:7000 is available in a browser.
This Docker image provide udata as well as known plugins and gouvfr theme.
It is packaged to run within uwsgi with gevent support.
By default, it exposes the frontend on the port 7000 and expect the following services:
- MongoDB on
mongodb:27017 - Elasticsearch on
elasticsearch:9200 - Redis on
redis:6379
and use the following paths:
/udata/udata.cfgfor udata configuration/udata/fsfor storage root (as a volume by default)/udata/publicfor public assets root/udata/uwsgi/*.inifor uwsgi configuration files/src/*/setup.pyfor extra development packages to install
You can customize configuration by providing a custom udata.cfg or custom uwsgi ini file.
A sample docker-compose.yml file is also available in the repository.
Fetch the latest Docker image version
docker pull udata/udataThen you can run the container with different configurations:
-
a custom udata configuration mounted (here a local
udata.cfg):docker run -v /absolute/path/to/udata.cfg:/udata/udata.cfg udata/udata
-
with custom uwsgi configurations (here contained in the
uwsgidirectory):docker run -v `$PWD`/uwsgi:/udata/uwsgi udata/udata -
with file storage as local volume binding:
docker run -v /path/to/storage:/udata/fs udata/udata
You can run standalone (front/worker/beat) instance with the front, worker and beat commands:
docker run udata/udata front
docker run udata/udata worker
docker run udata/udata beatYou can also execute udata commands with:
docker run [DOCKER OPTIONS] udata/udata [UDATA COMMAND]By example, to initialise the database with fixtures and initialize the search index:
docker run -it --rm udata/udata initList all commands with:
docker run -it --rm udata/udata --helpNote: Some commands requires either MongoDB, Redis or Elasticsearch to be up and ready.
You are also able to run celery commands with:
docker run -it --rm udata/udata celery statusFor debugging purpose you can acces a bash prompt with:
docker run [DOCKER OPTIONS] udata/udata bashSee the sample/theme directory to see a full theme development using docker-compose.
You can install extra sources by mounting directories as subdirectories of /src/.
Given you have a udata theme awesome-theme in my-theme directory
and you want to use docker to hack on it with live reload,
you need to have the following lines in your udata.cfg:
PLUGINS = ['my-theme']
THEME = 'awesome-theme'Then you can run the udata Development server with:
docker run -it -v `$PWD`/my-theme:/src/my-theme -v `$PWD`/udata.cfg:/udata/udata.cfg --rm udata/udata serveYour theme will be installed and activated.
You can see some docker-compose configuration examples in the sample directory of this repository.