Code Monkey home page Code Monkey logo

indico-containers's Introduction

Indico CI Status License Available on PyPI Made at CERN!

Indico is:

  • πŸ—“ a general-purpose event management tool;
  • 🌍 fully web-based;
  • 🧩 feature-rich but also extensible through the use of plugins;
  • βš–οΈ Open-Source Software under the MIT License;
  • made at CERN, the place where the web was born!

A sneak peek of Indico

What does it do?

Indico's main features are:

  • a powerful and flexible hierarchical content management system for events;
  • a full-blown conference organization workflow with:
    • πŸ“’ Call for Abstracts and abstract reviewing modules;
    • πŸ“ flexible registration form creation and configuration;
    • πŸ’° integration with existing payment systems;
    • βœ… a paper reviewing workflow;
    • πŸ—“ a drag and drop timetable management interface;
    • 🎫 a simple badge editor with the possibility to print badges and tickets for participants;
  • tools for meeting management and archival of presentation materials;
  • a powerful room booking interface;
  • integration with existing video conferencing solutions;

A more detailed list can be found here. There is also a video!

I just want to try it out!

We've got a SandboxπŸ§ͺ!

Browser support

These are the minimum versions of major browsers currently supported by Indico. We try to target all modern browsers as much as possible, but only issues detected on those will be considered at critical level.

Firefox
Firefox
Chrome
Chrome
Safari
Safari
Edge
Edge
78+ 83+ 13+ 17+

However, if you have an issue with a browser on this list, please feel free to open a bug report.

Getting Indico

Information on how to get the latest release can be found at the project's web site. There are installation guides for different systems available in the project's documentation.

Contributing

Indico is the result of the collective work of more than 100 different developers, translators and usability specialists of many nationalities. You can be the next one - read our Contribution Guide if you'd like to help out.

You don't need to know how to write code in order to help!

Roadmap

The full roadmap is available on the project site.

Community

The main meeting points for the community are:

We follow CERN's Values and the principles established by CERN's Code of Conduct.

History

This software project was initially funded by the European Union's FP5 programmeπŸ‡ͺπŸ‡Ί, in what was called the Integrated Digital Conferencing Project, or just InDiCo. CERN was responsible for the development of the "Make-a-Confererence" workpackage (inspired by an already existing system called CDS Agenda, also developed at the Organization) which would then become what we nowadays know as Indico.

We have since stopped using the InDiCo acronym, as it no longer reflects accurately the nature of the project. The word Indico now has no particular meaning other than the product's name.


Made at CERN
Take part!

Note

In applying the MIT license, CERN does not waive the privileges and immunities granted to it by virtue of its status as an Intergovernmental Organization or submit itself to any jurisdiction.

indico-containers's People

Contributors

dependabot[bot] avatar kabakaev avatar mic4ael avatar mvidalgarcia avatar nop33 avatar pferreir avatar plourenco avatar thiefmaster avatar tomasr8 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

indico-containers's Issues

Help with email encryption

Hi, sorry if this question is too trivial. I am trying to connect my indico instance to a gmail account (we don't host an email server). However, even if I set

SMTP_USE_TLS=True

The connection to email server still seem to be served over http (gmail complains and does not allow Indico to connect to the service). Any help is appreciated. Thanks

standing up docker

when I try and run this docker-compose command to check it out it's giving me this:

Building indico-celery
ERROR: Cannot locate specified Dockerfile: Dockerfile

Could not load plug-in

Hi I was trying to load some plugin inside the container. When I ran list-plugins I got:

+Available Plugins--+-------------------------------+
| Name              | Title                         |
+-------------------+-------------------------------+
| importer          | Importer                      |
| importer_invenio  | Importer for Invenio          |
| livesync          | LiveSync                      |
| payment_manual    | Bank Transfer                 |
| payment_paypal    | PayPal                        |
| piwik             | Piwik statistics              |
| previewer_code    | Syntax highlighter (Pygments) |
| previewer_jupyter | Jupyter Notebook renderer     |
| search            | Search                        |
| storage_s3        | S3 Storage                    |
| vc_vidyo          | Vidyo                         |
+-------------------+-------------------------------+

But when I try to a plugin, I got an issue

2019-12-13 21:35:42,338  ERROR    0000000000000000  indico.plugins            Plugin 'previewer_code' does not exist

My environment file is like this:

INDICO_EXTRA_PLUGINS='previewer_code'

Any help is appreciated. Thanks

Hard coded indigo with a "g"

Hello,
Thank you for working on dockerizing indico. While testing it here in our docker swarm I ran into the following problem while running indico-celery:
Cannot connect to redis://indigo-celery:6379/0
Note the "g" in indigo.

Even though I am passing the right environmental variables into docker, this seems to be hard coded. Please note the output of $> env

REDIS_CACHE_URL=redis://indico-redis:6379/1
CELERY_BROKER=redis://indico-redis:6379/0

Thank you for your help and initiative!

please create 'stable' branch

Hi,
with great excitement, I saw this project. At my home university I was missing an indico style system. I was very pleased to see the (docker) container efforts. What I would like to see for the near future is a small demo for university, what indico can give you. A working docker image would be really perfect. For universities, once they support it, it could have a huge impact. Lectures, seminars, everything could be archived in indico. Once agreed, they can pour resources into it. But it needs a working demo.

So, my current problems is this. After a couple of "docker-compose up" to get all images loaded and so on I get this error:

seuster@phastd:~/indico-containers$ docker-compose up
indico-containers_indico-redis_1 is up-to-date
indico-containers_indico-postgres_1 is up-to-date
indico-containers_indico-static_1 is up-to-date
indico-containers_indico-celery_1 is up-to-date
indico-containers_indico-web_1 is up-to-date
Starting indico-containers_indico-nginx_1 ... 

ERROR: for indico-containers_indico-nginx_1  a bytes-like object is required, not 'str'

ERROR: for indico-nginx  a bytes-like object is required, not 'str'
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/docker/api/client.py", line 261, in _raise_for_status
    response.raise_for_status()
  File "/usr/lib/python3/dist-packages/requests/models.py", line 943, in raise_for_status
    raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 500 Server Error: Internal Server Error for url: http+docker://localhost/v1.22/containers/d3c44f19a7603cc45ead544ed1110ab852cf820ad03c96113270403e232ab55e/start

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/compose/service.py", line 625, in start_container
    container.start()
  File "/usr/lib/python3/dist-packages/compose/container.py", line 241, in start
    return self.client.start(self.id, **options)
  File "/usr/lib/python3/dist-packages/docker/utils/decorators.py", line 19, in wrapped
    return f(self, resource_id, *args, **kwargs)
  File "/usr/lib/python3/dist-packages/docker/api/container.py", line 1095, in start
    self._raise_for_status(res)
  File "/usr/lib/python3/dist-packages/docker/api/client.py", line 263, in _raise_for_status
    raise create_api_error_from_http_exception(e)
  File "/usr/lib/python3/dist-packages/docker/errors.py", line 31, in create_api_error_from_http_exception
    raise cls(e, response=response, explanation=explanation)
docker.errors.APIError: 500 Server Error: Internal Server Error ("b'driver failed programming external connectivity on endpoint indico-containers_indico-nginx_1 (2b7378ddd6e86c9437b65a816ba3f326508ae372ac020476cca861391fc0b2c1): Error starting userland proxy: listen tcp4 0.0.0.0:8080: bind: address already in use'")

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/bin/docker-compose", line 11, in <module>
    load_entry_point('docker-compose==1.25.0', 'console_scripts', 'docker-compose')()
  File "/usr/lib/python3/dist-packages/compose/cli/main.py", line 72, in main
    command()
  File "/usr/lib/python3/dist-packages/compose/cli/main.py", line 128, in perform_command
    handler(command, command_options)
  File "/usr/lib/python3/dist-packages/compose/cli/main.py", line 1107, in up
    to_attach = up(False)
  File "/usr/lib/python3/dist-packages/compose/cli/main.py", line 1088, in up
    return self.project.up(
  File "/usr/lib/python3/dist-packages/compose/project.py", line 565, in up
    results, errors = parallel.parallel_execute(
  File "/usr/lib/python3/dist-packages/compose/parallel.py", line 112, in parallel_execute
    raise error_to_reraise
  File "/usr/lib/python3/dist-packages/compose/parallel.py", line 210, in producer
    result = func(obj)
  File "/usr/lib/python3/dist-packages/compose/project.py", line 548, in do
    return service.execute_convergence_plan(
  File "/usr/lib/python3/dist-packages/compose/service.py", line 567, in execute_convergence_plan
    return self._execute_convergence_start(
  File "/usr/lib/python3/dist-packages/compose/service.py", line 506, in _execute_convergence_start
    _, errors = parallel_execute(
  File "/usr/lib/python3/dist-packages/compose/parallel.py", line 112, in parallel_execute
    raise error_to_reraise
  File "/usr/lib/python3/dist-packages/compose/parallel.py", line 210, in producer
    result = func(obj)
  File "/usr/lib/python3/dist-packages/compose/service.py", line 508, in <lambda>
    lambda c: self.start_container_if_stopped(c, attach_logs=not detached, quiet=True),
  File "/usr/lib/python3/dist-packages/compose/service.py", line 620, in start_container_if_stopped
    return self.start_container(container)
  File "/usr/lib/python3/dist-packages/compose/service.py", line 627, in start_container
    if "driver failed programming external connectivity" in ex.explanation:
TypeError: a bytes-like object is required, not 'str'
seuster@phastd:~/indico-containers$ 

Seems like a small thing to fix, but an annoying thing for all who try out indico.
Thanks in advance, Rolf

Failed to build

With last docker version, I cloned the project, edit the indico.env with my port and pwd and then run the "docker-compose up" but I got an error:

+ pip download --no-deps -d /tmp/indico-pip indico
DEPRECATION: Python 2.7 will reach the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 won't be maintained after that date. A future version of pip will drop support for Python 2.7. More details about Python 2 support in pip, can be found at https://pip.pypa.io/en/latest/development/release-process/#python-2-support
Collecting indico
  Downloading https://files.pythonhosted.org/packages/69/b1/6f5687f07fd4d26b15f3be8e845de4a94863dab100ca809c3c5b548ca2b2/indico-2.2.2-py2-none-any.whl (44.5MB)
  Saved /tmp/indico-pip/indico-2.2.2-py2-none-any.whl
Successfully downloaded indico
+ unzip /tmp/indico-pip/indico-2.2.2-py2-none-any.whl -d /srv/ 'indico/htdocs/*'
Archive:  /tmp/indico-pip/indico-2.2.2-py2-none-any.whl
caution: filename not matched:  indico/htdocs/*
ERROR: Service 'indico-static' failed to build: The command '/bin/sh -c set -ex &&         mkdir /tmp/indico-pip &&         pip install -U pip &&         pip download --no-deps -d /tmp/indico-pip indico &&         unzip /tmp/indico-pip/indico-*.whl -d /srv/ 'indico/htdocs/*' &&         rm -rf /tmp/indico-pip' returned a non-zero code: 11

Any clue about what is happening?

Thanks in advance,
m.

Help wanted: clarify deployment for production

Hello,

from the Readme file:

ATTENTION: DO NOT use this in production as it is. There are important things missing, such as HTTPS support.

Apart from putting an HTTPs reverse proxy in front of the application, are there any other things one should do?

The volumes with persistent data seems all to be here (although I will probably map them all to folders on my drive).

LaTeX can't find the format file `xelatex.fmt'

When trying to create book of abstracts LaTeX reports error:

This is XeTeX, Version 3.1415926-2.5-0.9999.3 (TeX Live 2013)
I can't find the format file `xelatex.fmt'!

Running command fmtutil-sys --all inside container doesn't produce and output.

Could not load some plugins

I cloned the repository, renamed indico.env.sample to indico.env and said docker-compose up.
Then I got the following error messages (and http://localhost:8080/ says "internal server error"):

indico-web_1       | ERROR:  relation "events.events" does not exist
indico-web_1       | LINE 1: SELECT COUNT(*) FROM events.events
indico-web_1       |                              ^
indico-web_1       | Preparing DB...
indico-web_1       | Using PostgreSQL container...
indico-web_1       | /opt/indico/run_indico.sh: line 17: [: ==: unary operator expected
indico-web_1       | CREATE EXTENSION
indico-web_1       | CREATE EXTENSION
indico-web_1       | /opt/indico/.venv/lib/python2.7/site-packages/indico/core/config.py:184: UserWarning: Ignoring unknown config key OS
indico-web_1       |   warnings.warn('Ignoring unknown config key {}'.format(key))
indico-web_1       | /opt/indico/.venv/lib/python2.7/site-packages/indico/core/config.py:184: UserWarning: Ignoring unknown config key AST
indico-web_1       |   warnings.warn('Ignoring unknown config key {}'.format(key))
indico-web_1       | 2018-10-04 11:35:09,056  ERROR    0000000000000000  indico.plugins            Plugin  does not exist
indico-web_1       | Traceback (most recent call last):
indico-web_1       |   File "/opt/indico/.venv/bin/indico", line 11, in <module>
indico-web_1       |     sys.exit(cli())
indico-web_1       |   File "/opt/indico/.venv/lib/python2.7/site-packages/click/core.py", line 722, in __call__
indico-web_1       |     return self.main(*args, **kwargs)
indico-web_1       |   File "/opt/indico/.venv/lib/python2.7/site-packages/flask/cli.py", line 380, in main
indico-web_1       |     return AppGroup.main(self, *args, **kwargs)
indico-web_1       |   File "/opt/indico/.venv/lib/python2.7/site-packages/click/core.py", line 697, in main
indico-web_1       |     rv = self.invoke(ctx)
indico-web_1       |   File "/opt/indico/.venv/lib/python2.7/site-packages/click/core.py", line 1066, in invoke
indico-web_1       |     return _process_result(sub_ctx.command.invoke(sub_ctx))
indico-web_1       |   File "/opt/indico/.venv/lib/python2.7/site-packages/indico/cli/util.py", line 119, in invoke
indico-web_1       |     return self._impl.invoke(ctx)
indico-web_1       |   File "/opt/indico/.venv/lib/python2.7/site-packages/click/core.py", line 1063, in invoke
indico-web_1       |     Command.invoke(self, ctx)
indico-web_1       |   File "/opt/indico/.venv/lib/python2.7/site-packages/click/core.py", line 895, in invoke
indico-web_1       |     return ctx.invoke(self.callback, **ctx.params)
indico-web_1       |   File "/opt/indico/.venv/lib/python2.7/site-packages/click/core.py", line 535, in invoke
indico-web_1       |     return callback(*args, **kwargs)
indico-web_1       |   File "/opt/indico/.venv/lib/python2.7/site-packages/click/decorators.py", line 17, in new_func
indico-web_1       |     return f(get_current_context(), *args, **kwargs)
indico-web_1       |   File "/opt/indico/.venv/lib/python2.7/site-packages/click/decorators.py", line 17, in new_func
indico-web_1       |     return f(get_current_context(), *args, **kwargs)
indico-web_1       |   File "/opt/indico/.venv/lib/python2.7/site-packages/flask/cli.py", line 256, in decorator
indico-web_1       |     with __ctx.ensure_object(ScriptInfo).load_app().app_context():
indico-web_1       |   File "/opt/indico/.venv/lib/python2.7/site-packages/flask/cli.py", line 229, in load_app
indico-web_1       |     rv = self.create_app(self)
indico-web_1       |   File "/opt/indico/.venv/lib/python2.7/site-packages/indico/cli/util.py", line 37, in _create_app
indico-web_1       |     return make_app(set_path=True)
indico-web_1       |   File "/opt/indico/.venv/lib/python2.7/site-packages/indico/web/flask/app.py", line 371, in make_app
indico-web_1       |     raise Exception('Could not load some plugins: {}'.format(', '.join(plugin_engine.get_failed_plugins(app))))
indico-web_1       | Exception: Could not load some plugins: 

Python error when installing

print 'Upgrading existing etc/indico.conf...'
^
SyntaxError: Missing parentheses in call to 'print'. Did you mean print('Upgrading existing etc/indico.conf...')?

No permissions to create extension "unaccent"

Hello!
Thank you again for the initiative.
While testing indico on our Docker Swarm I ran into the following problem, when running run_indico.sh:

Using external database...
ERROR:  permission denied to create extension "unaccent"
HINT:  Must be superuser to create this extension.
ERROR:  permission denied to create extension "pg_trgm"
HINT:  Must be superuser to create this extension.

I had to manually run
alter role indico superuser;
In postgres container, as admin.
Thank you for your help and initiative!

no amd64 image for indico 3.1 ?

Hello,
I noticed there is no amd64 image for indico version 3.1. The only one listed on docker hub is the arm64 one.
Is this by design or is it a miss ?

Best,

Option to deploy in docker swarm

Dear contributors,

I have been working on deploying indico to a docker swarm for the last couple of weeks and since it finally worked I thought I should share the configuration parameters with you:

For the docker swarm a few extra objects are needed, since it is not possible to use local mounts and also to persist data when a node is lost.

First we create an overlay network for communication of all the services from multiple nodes:
docker network create -d overlay indico

Then a few configuration files are "uploaded" to the docker swarm:

docker config create indico-conf indico.conf
docker config create indiconginx-conf nginx.conf
docker config create indicodb-conf create-extensions.sh

This is the content of create-extensions.sh:

#!/bin/bash
set -e

psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" --dbname "$POSTGRES_DB" <<-EOSQL
    CREATE EXTENSION unaccent;
    CREATE EXTENSION pg_trgm;
EOSQL

This is the content of nginx.conf. A few changes are necessary to avoid nginx from crashing when it can't reach indico-static or indico-web:

server {
  listen 80;
  listen [::]:80;

  access_log            /dev/stdout combined;
  error_log             /dev/stdout info;

  location /.xsf/indico/ {
    internal;
    alias /opt/indico/;
  }

  location ~ ^/static/assets/(core|(?:plugin|theme)-[^/]+)/(.*)$ {
    alias /opt/indico/static/assets/$1/$2;
    access_log off;
  }

  location ~ ^/(ihelp|css|images|js|(static/fonts))(/.*)$ {
    resolver 127.0.0.11; 
    set $static indico-static;
    proxy_pass  http://$static:8080;
  }

  location /robots.txt {
    alias /opt/indico/static/htdocs/robots.txt;
    access_log off;
  }

  location /static/custom {
    alias /opt/indico/custom;
    access_log off;
  }

  location / {
    resolver 127.0.0.11;
    root /var/empty/nginx;
    set $web indico-web;
    proxy_pass http://$web:59999;
    proxy_set_header  Host $host:$server_port;
    proxy_set_header  X-Real-IP $http_cf_connecting_ip;
    proxy_set_header  X-Forwarded-For $http_cf_connecting_ip;
    proxy_set_header  X-Forwarded-Proto $http_x_forwarded_proto;
    client_max_body_size 1G;
  }

}

Then I created volumes that can be mounted as needed on the nodes when running each container. This example is for a Docker Swarm deployed on AWS. But volumes can be created using other type of volume plugins:

docker volume create \
  -d "cloudstor:aws" \
  --opt ebstype=gp2 \
  --opt size=1 \
  --opt backing=relocatable \
  indicodb-vol
docker volume create \
  -d "cloudstor:aws" \
  --opt ebstype=gp2 \
  --opt size=1 \
  --opt backing=relocatable \
  indicostatic-vol
docker volume create \
  -d "cloudstor:aws" \
  --opt ebstype=gp2 \
  --opt size=1 \
  --opt backing=relocatable \
  indicocustom-vol

Then I tagged one of the nodes to make sure the containers that use indicocustom-vol and indicostatic-vol, both run on the same node:
docker node update --label-add has_volumes=indico

Finally the docker-cloud.yml. Note that I had to build my own version of indico-static, since it wasn't available in your docker hub repo. But I replaced the value in this config considering that you might want to also push the indico-static image:

version: "3.4"
services:
  indico-web: &indico-web
    image: getindico/indico:latest
    command: /opt/indico/run_indico.sh
    environment:
      - SERVICE_HOSTNAME=<your hostname>
      - SERVICE_PORT=80
      - SERVICE_PROTOCOL=http
      - PGHOST=indico-postgres
      - PGUSER=indico
      - PGPASSWORD=<hidden>
      - PGDATABASE=indico
      - PGPORT=5432
      - INDICO_DEFAULT_TIMEZONE=US/Eastern
      - INDICO_DEFAULT_LOCALE=en_GB
      - REDIS_CACHE_URL=redis://indico-redis:6379/1
      - CELERY_BROKER=redis://indico-redis:6379/0 
      - USE_EXTERNAL_DB=y
      - C_FORCE_ROOT=true
      - INDICO_AUTH_PROVIDERS={}
      - INDICO_IDENTITY_PROVIDERS={}
      - INDICO_LOCAL_IDENTITIES=yes
      - SECRET_KEY=<your secret key>
    volumes:
      - 'indicocustom-vol:/opt/indico/custom'
      - 'indicostatic-vol:/opt/indico/static'
    networks:
      - indico
    deploy:          
      placement:                                                           
        constraints:                                                       
          - node.labels.has_volumes == indico
    configs:
      - source: indico-conf
        target: /opt/indico/etc/indico.conf
    tmpfs:
      - /opt/indico/tmp
  indico-static: 
    image: getindico/indico-static:latest
    networks:
      - indico
  indico-celery:
    <<: *indico-web
    command: /opt/indico/run_celery.sh
    ports: []
    volumes: []
    networks:
      - indico
  indico-redis:
    image: redis
    networks:
      - indico
  indico-postgres:
    image: postgres
    environment:
      - POSTGRES_USER=indico
      - POSTGRES_PASSWORD=<hidden>
      - POSTGRES_DB=indico
      - PGDATA=/var/lib/postgresql/data/pgdata
    volumes:
      - 'indicodb-vol:/var/lib/postgresql/data'
    configs:
      - source: indicodb-conf
        target: /docker-entrypoint-initdb.d/create-extensions.sh
    networks:
      - indico
    deploy:
      placement:
        constraints:
          - node.labels.has_volumes == indico
  indico-nginx:
    image: nginx:latest
    networks:
      - traefik-net
      - indico
    deploy:
      labels:
        - "traefik.port=80"
        - "traefik.frontend.rule=Host:<your hostname>"
        - "traefik.docker.network=traefik-net"
      placement:
        constraints:
          - node.labels.has_volumes == indico
    environment:
      - SERVICE_HOSTNAME=<your hostname>
      - SERVICE_PROTOCOL=http
    configs:
      - source: indiconginx-conf
        target: /etc/nginx/conf.d/default.conf 
    volumes:
      - 'indicocustom-vol:/opt/indico/custom'
      - 'indicostatic-vol:/opt/indico/static'
volumes:
  indicocustom-vol:
    external: true
  indicostatic-vol:
    external: true
  indicodb-vol:
    external: true
configs:
  indico-conf:
    external: true
  indiconginx-conf:
    external: true
  indicodb-conf:
    external: true
networks:
  traefik-net:
    external: true
  indico:
    external: true

Also please note that I left the traefik parameters. Traefik is the load balancer I use for our docker swarm cluster. Hope you can appreciate the effort. And again thank you for your help!

Run db migration step before starting worker?

It is a common goal to make updating docker services as easy as possible – e.g. just by pulling a new version of the docker image and starting it without any additional steps.

Reading the indico update documentation, the only thing that seems missing for this to work with the docker images here would be calling

indico db upgrade
indico db --all-plugins upgrade

before starting the uwsgi service, correct?

Update docker image/upload Dockerfile?

First of all, thanks for providing this very useful test environment! Not sure if this is just me not understanding docker-compose properly, but I get the impression that the docker-web defined in the yaml is pulled from Docker hub, which is still on version 2.1.3? When I start this one at least it warns me that I am on an old version. Is the Dockerfile for this image available somewhere else perhaps? Alternatively, could you add it somewhere suitable and/or update the image on Docker hub?

HTTPS support to stack

How to add HTTPS support to stack? i have my own SSL certificate.

i am trying to run in port 80 but i can, i am using Nginx Proxy Manager, i can run it in 9090 port, but not in 80.

I have another containers using 80 port, but if i point the domain name to the container works, but doesn't works for indico containers :/

Thanks in advance.

Note: sorry for my bad english.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.