{"id":21614668,"url":"https://github.com/eea/art17-consultation","last_synced_at":"2025-04-11T06:52:34.588Z","repository":{"id":13185925,"uuid":"15869403","full_name":"eea/art17-consultation","owner":"eea","description":null,"archived":false,"fork":false,"pushed_at":"2025-03-13T08:19:15.000Z","size":10625,"stargazers_count":3,"open_issues_count":1,"forks_count":2,"subscribers_count":50,"default_branch":"master","last_synced_at":"2025-03-25T04:41:57.903Z","etag":null,"topics":["art1","docker","eionet","flask"],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/eea.png","metadata":{"files":{"readme":"README.rst","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2014-01-13T13:51:47.000Z","updated_at":"2025-03-13T08:19:10.000Z","dependencies_parsed_at":"2024-05-09T16:26:28.689Z","dependency_job_id":"f263a219-3641-4812-bfed-516f2dee7013","html_url":"https://github.com/eea/art17-consultation","commit_stats":null,"previous_names":[],"tags_count":103,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eea%2Fart17-consultation","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eea%2Fart17-consultation/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eea%2Fart17-consultation/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eea%2Fart17-consultation/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/eea","download_url":"https://codeload.github.com/eea/art17-consultation/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248358548,"owners_count":21090401,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["art1","docker","eionet","flask"],"created_at":"2024-11-24T22:08:50.408Z","updated_at":"2025-04-11T06:52:34.563Z","avatar_url":"https://github.com/eea.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"Art 17 Consultation Tool\n=========================\nhttps://nature-art17.eionet.europa.eu/article17/reports2012\n\n|travis| |docker|\n\n.. |travis| image:: https://travis-ci.org/eea/art17-consultation.svg?branch=master \n   :target: https://travis-ci.org/eea/art17-consultation\n.. |docker| image:: https://img.shields.io/docker/build/eeacms/art17-consultation\n   :target: https://hub.docker.com/r/eeacms/art17-consultation/\n\n.. contents ::\n\nPrerequisites\n=============\n\n1. Install `Docker`_\n\n.. _`Docker`: https://docs.docker.com/engine/installation/\n2. Install `Docker Compose`_\n\n.. _`Docker Compose`: https://docs.docker.com/compose/install/\n\nInstalling the application\n==========================\n\n1. Get the source code::\n\n        $ git clone https://github.com/eea/art17-consultation.git\n        $ cd art17-consultation\n\n2. Customize env files::\n\n        $ cp docker/app.env.example docker/app.env\n        $ cp docker/db.env.example docker/db.env\n\n3. Customize docker orchestration::\n\n        $ cp docker-compose.override.yml.example docker-compose.override.yml\n\n4. Start stack, all services should be \"Up\" ::\n\n        $ docker-compose up -d\n        $ docker-compose ps\n\n* Create your user and assign admin role to it::\n\n        # for local user\n        ./manage.py user create -e user_email -i user_id -p \u003cpassword\u003e\n        # for Eionet user\n        ./manage.py user create -i user_id --ldap\n        # make it admin\n        ./manage.py role add -u user_id -r admin\n\nConfiguration\n-------------\nDetails about configurable settings can be found in `settings.py.example`.\n\nConfiguring the LDAP SERVER\n~~~~~~~~~~~~~~~~~~~~~~~~\nThe authentication is provided by a LDAP SERVER.\nAdd the following configuration variables to the app, using the\ncorrect URLs for the LDAP server:\n\n    EEA_LDAP_SERVER=ldaps://ldap.example.com\n    EEA_LDAP_PORT=389\n\n\nData Import\n-----------\nInitially the application's database is empty. We need to import data\nfrom a dump (the old 2006 app's database or the new reporting data).\nFirst we need to load this dump into a separate database::\n\n    mysql -e 'create database art17_2006 CHARACTER SET utf8 COLLATE utf8_general_ci;'\n    mysql art17_2006 \u003c art17_2006.sql\n\nThen we can import this data into our app's database. Make sure to\nspecify the right schema version, in this case '2006'::\n\n    ./manage.py dataset import -d import-from-2006 -i 'mysql://user:pass@localhost/art17_2006' -s 2006\n\nAn optional argument ``-f`` (fallback) exists. When there are no records to import\nin a table, it copies the entire table from the specified dataset.\n\nUpgrading the application\n=========================\n\n1. Get the latest version of source code::\n\n        $ cd art17-consultation\n        $ git pull origin master\n\n2. Update the application stack, all services should be \"Up\" ::\n\n        $ docker-compose up -d\n        $ docker-compose ps\n\n\nDevelopment hints\n=================\n\nRequirements\n------------\n\nUser ``requirements-dev.txt`` instead of ``requirements-dep.text``::\n\n    pip install -r requirements-dev.txt\n\n\nConfigure deploy\n----------------\n\n- copy ``fabfile/env.ini.example`` to ``fabfile/env.ini``\n- configure staging and production settings\n- run ``fab staging deploy`` or ``fab production deploy``\n\n\nRunning unit tests\n------------------\n\nSimply run ``py.test testsuite``, it will find and run the tests. For a\nbit of speedup you can install ``pytest-xdist`` and run tests in\nparallel, ``py.test testsuite -n 4``.\n\n\nFactsheet generator\n-------------------\n\nPrintouts work using `wkhtmltopdf 0.12.1`. Using another version may cause\nproblems in rendering pdfs.\n\nIf you don't have this version installed, add it to your virtualenv.\n\n1. Go to http://sourceforge.net/projects/wkhtmltopdf/files/0.12.1/ and select the build\n   corresponding with your system. Copy the direct link into your clipboard\n\n2. Install it locally in your virtualenv\n\n    * For RedHat-based systems in production::\n\n         wget $PASTE_URL_COPIED_AT_STEP_1\n         # $PACKAGE is the file downloaded with wget\n         sudo rpm -i --prefix=/var/local/wkhtmltox-0.12.1 $PACKAGE.rpm\n         # If the command fails because the file is already installed\n         # copy `wkhtmltopdf` from the installation directory and skip\n         # the next command\n         cp /var/local/wkhtmltox-0.12.1/bin/wkhmtltopdf sandbox/bin/\n\n    * For RedHat-based development systems::\n\n         # If you don't work on projects that require other versions\n         # Install this version globally\n         wget $PASTE_URL_COPIED_AT_STEP_1\n         sudo rpm -i $PACKAGE.rpm\n\n    * For Debian based systems::\n\n         wget $PASTE_URL_COPIED_AT_STEP_1\n         dpkg-deb -x wkhtmltox-0.12.1_\u003cyour_distro\u003e.deb sandbox\n         cp sandbox/usr/local/bin/wkhtmltopdf sandbox/bin\n\nDevelopment instructions using Docker\n-------------------------------------\n\nMake sure you set DEBUG=True in app.env to reload the changes.\n\n* Start stack, all services should be \"Up\" ::\n\n        $ docker-compose up -d\n        $ docker-compose ps\n\n* Check application logs::\n\n        $ docker-compose app\n\n* When the image is modified you should update the stack::\n\n        $ docker-compose up -d --build\n\n* Delete the containers and the volumes with::\n\n        $ docker-compose down -v\n\nDebugging\n=========\n\n* Please make sure that `DEBUG=True` in `app.env` file.\n\n* Update docker-compose.override.yml file `app` section with the following so that `docker-entrypoint.sh` is not executed::\n\n        entrypoint: [\"/usr/bin/tail\", \"-f\", \"/dev/null\"]\n\n* Attach to docker container and start the server in debug mode::\n\n        $ docker exec -it art17consultation_app_1 bash\n        # ./manage.py runserver -t 0.0.0.0 -p 5000\n\n* See it in action: http://localhost:5000\n\nContacts\n========\n\nThe project owner is Søren Roug (soren.roug at eaa.europa.eu)\n\nOther people involved in this project are:\n\n* Cornel Nițu (cornel.nitu at eaudeweb.ro)\n* Alex Eftimie (alex.eftimie at eaudeweb.ro)\n\nResources\n=========\n\nHardware\n--------\nMinimum requirements:\n * 2048MB RAM\n * 2 CPU 1.8GHz or faster\n * 4GB hard disk space\n\nRecommended:\n * 4096MB RAM\n * 4 CPU 2.4GHz or faster\n * 8GB hard disk space\n\n\nSoftware\n--------\nAny recent Linux version.\napache2, local Postgres server\n\n\nCopyright and license\n=====================\n\nThis project is free software; you can redistribute it and/or modify it under\nthe terms of the EUPL v1.1.\n\nMore details under `LICENSE.txt`_.\n\n.. _`LICENSE.txt`: https://github.com/eea/art17-consultation/blob/master/LICENSE.txt\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feea%2Fart17-consultation","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Feea%2Fart17-consultation","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feea%2Fart17-consultation/lists"}