6 Star 3 Fork 1

easylin / dhis2-core

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
BSD-3-Clause

DHIS 2

Quality Gate Status Tests API tests

DHIS 2 is a flexible information system for data capture, management, validation, analytics and visualization. It allows for data capture through clients ranging from Web browsers, Android devices, Java feature phones and SMS. DHIS 2 features data visualization apps for dashboards, pivot tables, charting and GIS. It provides metadata management and configuration. The data model and services are exposed through a RESTful Web API.

Overview

Issues can be reported and browsed in JIRA.

For documentation visit the documentation portal.

You can download pre-built WAR files from the continuous integration server.

You can explore various demos of DHIS 2 in the play environment.

For support and discussions visit the community forum.

For general info visit the project web page.

For OpenAPI documentation visit the Stoplight workspace.

For software developer resources visit the developer portal.

To contribute to the software read the contributor guidelines.

The software is open source and released under the BSD license.

Run DHIS2 in Docker

The following guides use Docker Compose to run DHIS2 using Docker.

A DB dump is downloaded automatically the first time you start DHIS2. If you switch between different DHIS2 versions and/or need to download a different DB dump you will need to remove the shared volume db-dump using

docker compose down --volumes

Pre-built Images

We push pre-built DHIS2 Docker images to Dockerhub. You can pick an <image name> from one of the following repositories:

  • dhis2/core - images of the release and release-candidate DHIS2 versions. These images represent the stable DHIS2 versions, meaning they won't be rebuilt in the future.

  • dhis2/core-dev - images of the latest development DHIS2 versions - branches master (tagged as latest) and the previous 3 supported major versions. Image tags in this repository will be overwritten multiple times a day.

  • dhis2/core-canary - images of the latest daily development DHIS2 versions. We tag the last core-dev images for the day and add an extra tag with a "yyyyMMdd"-formatted date, like core-canary:latest-20230124.

  • dhis2/core-pr - images of PRs made from https://github.com/dhis2/dhis2-core/ and not from forks. As forks do not have access to our organizations/repos secrets.

To run DHIS2 from latest master branch (as it is on GitHub) run:

DHIS2_IMAGE=dhis2/core-dev:latest docker compose up

Local Image

Build a DHIS2 Docker image first as described in Docker image. Then execute

docker compose up

DHIS2 should become available at http://localhost:8080 with the Sierra Leone Demo DB.

Demo DB

If you want to start DHIS2 with a specific demo DB you can pass a URL like

DHIS2_DB_DUMP_URL=https://databases.dhis2.org/sierra-leone/2.39/dhis2-db-sierra-leone.sql.gz docker compose up

using versions we for example publish to https://databases.dhis2.org/

Build process

This repository contains the source code for the server-side component of DHIS 2, which is developed in Java and built with Maven.

To build it you must first install the root POM file, navigate to the dhis-web directory and then build the web POM file.

See the contributing page to learn how to run locally.

Docker image

The DHIS2 Docker image is built using Jib. To build make sure to build DHIS2 and the web project first

./dhis-2/build-dev.sh

Run the image using

docker compose up

It should now be available at http://localhost:8080.

Customizations

Docker tag

To build using a custom tag run

mvn -DskipTests -Dmaven.test.skip=true -f dhis-2/dhis-web-server/pom.xml jib:dockerBuild -Djib.to.image=dhis2/core-dev:mytag

For more configuration options related to Jib or Docker go to the Jib documentation.

Context path

To deploy DHIS2 under a different context then root (/) configure the context path by setting the environment variable

CATALINA_OPTS: "-Dcontext.path='/dhis2'"

DHIS2 should be available at http://localhost:8080/dhis2.

Overriding default values

You can create a local file called docker-compose.override.yml and override values from the main docker-compose.yml file. As an example, you might want to use a different version of the Postgres database and run it on a different port. More extensive documentation of this feature is available here. Using the override file you can easily customize values for your local situation.

version: "3.8"

services:
  db:
    image: postgis/postgis:14-3.3-alpine
    ports:
      - 127.0.0.1:6432:5432
DHIS2_HOME

Previously, the Docker image was built with environment variable DHIS2_HOME set to /DHIS2_home. This is not the case anymore, instead DHIS2_HOME will fallback to its default /opt/dhis2. You can still run the Docker image with the old behavior by setting the environment variable DHIS2_HOME like

    environment:
      DHIS2_HOME: /DHIS2_home

in a docker-compose.override.yml file. Alternatively, you can pass the system property -Ddhis2.home directly from the command line. You need to ensure that this DHIS2_HOME is writeable yourself!

Copyright (c) 2004-2022, University of Oslo All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * Neither the name of the HISP project nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

简介

值得研究的综合信息管理系统 展开 收起
BSD-3-Clause
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/easylin/dhis2-core.git
git@gitee.com:easylin/dhis2-core.git
easylin
dhis2-core
dhis2-core
master

搜索帮助

344bd9b3 5694891 D2dac590 5694891