Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Containerize and publish gaia-core and gaia-db #340

Open
wants to merge 25 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
7177338
Containerize gaia-core and gaia-db (https://github.com/OHDSI/GIS/issu…
jshoughtaling Jul 19, 2024
6337d54
Fix broken package install (https://github.com/OHDSI/GIS/pull/340#dis…
jshoughtaling Jul 25, 2024
7bcd89b
Fix documentation for `gaia-db` (https://github.com/OHDSI/GIS/pull/34…
jshoughtaling Jul 25, 2024
781a243
Fix bug with sf install
jshoughtaling Sep 19, 2024
ec24b77
Update build_gaia_core.yml
jshoughtaling Sep 19, 2024
bb9669a
Update build_gaia_db.yml
jshoughtaling Sep 19, 2024
6e98b6d
Merge pull request #1 from TuftsCTSI/containerize
jshoughtaling Sep 19, 2024
0eb66c7
Update EPA data source geometry records
kzollove Sep 24, 2024
176ba66
Update SQL and logic for loadVariable
kzollove Sep 24, 2024
565e934
Update docs
kzollove Sep 24, 2024
33f4972
Merge pull request #2 from TuftsCTSI/gaia-fix
kzollove Sep 24, 2024
1ec11f2
Add createExposure (#3)
kzollove Sep 25, 2024
b7e5683
Remove old miscellanea
kzollove Sep 25, 2024
fa4eb7c
Merge main
kzollove Sep 25, 2024
6bb5a62
Merge pull request #360 from TuftsCTSI/containerize
kzollove Sep 26, 2024
115e74b
Add Getting Started
kzollove Sep 27, 2024
33c513e
modification for Broadsea builds from github (#361)
tibbben Sep 27, 2024
c680b1a
Update Dockerfile
kzollove Sep 30, 2024
56ec283
Update Dockerfile
kzollove Sep 30, 2024
8dd2f04
Postgres driver and start api automatically
tibbben Oct 9, 2024
8bf6db7
manual gaia.R start
tibbben Oct 9, 2024
ec8bc1f
no need for db jars, already in hades
tibbben Oct 10, 2024
6bce617
Update Dockerfile
tibbben Oct 10, 2024
1abbf28
Update Dockerfile
tibbben Oct 10, 2024
8f620d6
add plumber API to supervisord
tibbben Oct 10, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
63 changes: 63 additions & 0 deletions .github/workflows/build_gaia_core.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
name: gaia-core Docker image build

on:
push:
branches:
- main

env:
REGISTRY: ghcr.io
ORG: ohdsi

jobs:
build-and-push-images:
runs-on: ubuntu-latest
strategy:
fail-fast: true
matrix:
include:
- dockerfile: ./docker/gaia-core/Dockerfile
image: ghcr.io/ohdsi/gaia-core
context: .
permissions:
contents: read
packages: write

steps:
- name: Checkout the code
uses: actions/checkout@v2

- name: Set up QEMU
uses: docker/setup-qemu-action@v1

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3

- name: Login to a container registry
uses: docker/login-action@v1
with:
registry: ghcr.io
username: <SOME ADMIN USER>
password: ${{ secrets.GH_TOKEN }}

- name: Extract Docker metadata
id: meta
uses: docker/metadata-action@v3
with:
images: ${{ matrix.image }}

- name: Build and push Docker image
uses: docker/build-push-action@v5
with:
context: ${{ matrix.context }}
file: ${{ matrix.dockerfile }}
push: true
tags: |
${{ steps.meta.outputs.tags }}
labels: |
${{ steps.meta.outputs.labels }}
platforms: |
linux/amd64
cache-from: type=gha
cache-to: type=gha,mode=max

67 changes: 67 additions & 0 deletions .github/workflows/build_gaia_db.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
name: gaia-db Docker image build

on:
push:
branches:
- main
paths:
- 'docker/gaia-db/**'
- 'inst/csv/**'
- 'vocabularies/**'

env:
REGISTRY: ghcr.io
ORG: ohdsi

jobs:
build-and-push-images:
runs-on: ubuntu-latest
strategy:
fail-fast: true
matrix:
include:
- dockerfile: ./docker/gaia-db/Dockerfile
image: ghcr.io/ohdsi/gaia-db
context: .
permissions:
contents: read
packages: write

steps:
- name: Checkout the code
uses: actions/checkout@v2

- name: Set up QEMU
uses: docker/setup-qemu-action@v1

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3

- name: Login to a container registry
uses: docker/login-action@v1
with:
registry: ghcr.io
username: <SOME ADMIN USER>
password: ${{ secrets.GH_TOKEN }}

- name: Extract Docker metadata
id: meta
uses: docker/metadata-action@v3
with:
images: ${{ matrix.image }}

- name: Build and push Docker image
uses: docker/build-push-action@v5
with:
context: ${{ matrix.context }}
file: ${{ matrix.dockerfile }}
push: true
tags: |
${{ steps.meta.outputs.tags }}
labels: |
${{ steps.meta.outputs.labels }}
platforms: |
linux/amd64
cache-from: type=gha
cache-to: type=gha,mode=max

7 changes: 7 additions & 0 deletions docker/gaia-core/Dockerfile
jshoughtaling marked this conversation as resolved.
Show resolved Hide resolved
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
FROM ohdsi/broadsea-hades:4.2.1
LABEL maintainer="Tufts Medical Center <[email protected]>"
USER root

RUN Rscript -e 'remotes::install_github("OHDSI/GIS")'

#ENTRYPOINT ["/app/entrypoint.sh"]
12 changes: 12 additions & 0 deletions docker/gaia-db/Dockerfile
jshoughtaling marked this conversation as resolved.
Show resolved Hide resolved
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
FROM postgis/postgis:16-3.4-alpine

RUN mkdir /csv
COPY inst/csv/data_source.csv /csv/data_source.csv
COPY inst/csv/variable_source.csv /csv/variable_source.csv
COPY vocabularies/gis_vocabs_vocabulary_stage_v1.csv /csv/gis_vocabulary_fragment.csv
COPY vocabularies/gis_vocabs_concept_class_stage_v1.csv /csv/gis_concept_class_fragment.csv
COPY vocabularies/gis_vocabs_domain_stage_v1.csv /csv/gis_domain_fragment.csv
COPY vocabularies/gis_vocabs_concept_stage_v1.csv /csv/gis_concept_fragment.csv
COPY vocabularies/gis_vocabs_relationship_stage_v1.csv /csv/gis_relationship_fragment.csv
COPY vocabularies/gis_vocabs_concept_relationship_stage_v1.csv /csv/gis_concept_relationship_fragment.csv
COPY docker/gaia-db/init.sql /docker-entrypoint-initdb.d/init.sql
10 changes: 10 additions & 0 deletions docker/gaia-db/README.md
jshoughtaling marked this conversation as resolved.
Show resolved Hide resolved
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# Dockerized GAIA-DB

You can run this container directly with the following command:

```bash
sudo docker run --rm --env POSTGRES_PASSWORD=<YOUR PASSWORD> <IMAGE NAME>:latest
```

The image contains the PostGIS extension, the backbone schema with the catalog tables loaded, and a vocabulary schema
with
Loading