diff --git a/matcssi_cms/src/taccsite_cms/settings_custom.py b/matcssi_cms/src/taccsite_cms/settings_custom.py index 757bc1e2..625b8254 100644 --- a/matcssi_cms/src/taccsite_cms/settings_custom.py +++ b/matcssi_cms/src/taccsite_cms/settings_custom.py @@ -7,7 +7,7 @@ # TACC: LOGOS ######################## -LOGO = [ +LOGO = [ "matcssi", "matcssi_cms/img/org_logos/matcssi.png", "", diff --git a/tapisproject_cms/.dockerignore b/tapisproject_cms/.dockerignore new file mode 100644 index 00000000..a64885d2 --- /dev/null +++ b/tapisproject_cms/.dockerignore @@ -0,0 +1,4 @@ +.git +.cache +**/secrets.py +**/settings_local.py diff --git a/tapisproject_cms/Dockerfile b/tapisproject_cms/Dockerfile new file mode 100644 index 00000000..289aa58f --- /dev/null +++ b/tapisproject_cms/Dockerfile @@ -0,0 +1,7 @@ +# v3.11.0 +FROM taccwma/core-cms:c19e0d7 + +WORKDIR /code + +COPY /src/taccsite_custom /code/taccsite_custom +COPY /src/taccsite_cms /code/taccsite_cms diff --git a/tapisproject_cms/Makefile b/tapisproject_cms/Makefile new file mode 100644 index 00000000..04d475d0 --- /dev/null +++ b/tapisproject_cms/Makefile @@ -0,0 +1,39 @@ +DOCKERHUB_REPO := $(shell cat ./docker_repo.var) +DOCKER_TAG ?= $(shell git rev-parse --short HEAD) +DOCKER_IMAGE := $(DOCKERHUB_REPO):$(DOCKER_TAG) +DOCKER_IMAGE_LATEST := $(DOCKERHUB_REPO):latest + +#### +# `DOCKER_IMAGE_BRANCH` tag is the git tag for the commit if it exists, else the branch on which the commit exists +DOCKER_IMAGE_BRANCH := $(DOCKERHUB_REPO):$(shell git describe --exact-match --tags 2> /dev/null || git symbolic-ref --short HEAD) + +#.PHONY: build +build: + docker-compose -f docker-compose.dev.yml build + +.PHONY: build-full +build-full: + docker build -t $(DOCKER_IMAGE) --target production -f Dockerfile . + docker tag $(DOCKER_IMAGE) $(DOCKER_IMAGE_BRANCH) # Note: Currently broken for branches with slashes + +.PHONY: publish +publish: + docker push $(DOCKER_IMAGE) + docker push $(DOCKER_IMAGE_BRANCH) + +.PHONY: publish-latest +publish-latest: + docker tag $(DOCKER_IMAGE) $(DOCKER_IMAGE_LATEST) + docker push $(DOCKER_IMAGE_LATEST) + +.PHONY: start +start: + docker-compose -f docker-compose.dev.yml up + +.PHONY: stop +stop: + docker-compose -f docker-compose.dev.yml down + +.PHONY: stop-full +stop-v: + docker-compose -f docker-compose.dev.yml down -v diff --git a/tapisproject_cms/README.md b/tapisproject_cms/README.md new file mode 100644 index 00000000..dd1f815a --- /dev/null +++ b/tapisproject_cms/README.md @@ -0,0 +1,7 @@ +# Example + +An extension of the [Core CMS](https://github.com/TACC/Core-CMS) project + +## Basics + +See [Core-CMS-Custom](https://github.com/TACC/Core-CMS-Custom#readme). diff --git a/tapisproject_cms/docker-compose.dev.yml b/tapisproject_cms/docker-compose.dev.yml new file mode 100644 index 00000000..2aeb7843 --- /dev/null +++ b/tapisproject_cms/docker-compose.dev.yml @@ -0,0 +1,56 @@ +version: "3" +services: + cms: + build: . + ports: + - 127.0.0.1:8000:8000 + command: ["python3", "manage.py", "runserver", "0.0.0.0:8000"] + container_name: core_cms + hostname: core_cms + volumes: + - ./src/apps:/code/apps + - ./src/taccsite_custom:/code/taccsite_custom + - ./src/taccsite_cms/custom_app_settings.py:/code/taccsite_cms/custom_app_settings.py + - ./src/taccsite_cms/urls_custom.py:/code/taccsite_cms/urls_custom.py + - ./src/taccsite_cms/settings_custom.py:/code/taccsite_cms/settings_custom.py + - ./src/taccsite_cms/settings_local.py:/code/taccsite_cms/settings_local.py + - ./src/taccsite_cms/secrets.py:/code/taccsite_cms/secrets.py + networks: + - core_cms_net + + postgres: + image: postgres:11.5 + environment: + - POSTGRES_PASSWORD=taccforever + - POSTGRES_USER=postgresadmin + - POSTGRES_DB=taccsite + - PGDATA=/var/lib/postgresql/data/taccsite + volumes: + - core_cms_postgres_data:/var/lib/postgresql/data + hostname: core_cms_postgres + container_name: core_cms_postgres + networks: + - core_cms_net + + elasticsearch: + image: docker.elastic.co/elasticsearch/elasticsearch:7.17.0 + ulimits: + memlock: -1 + environment: + - ES_HEAP_SIZE:1g + - discovery.type=single-node + volumes: + - ./elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml + - core_cms_es_data:/usr/share/elasticsearch/data + container_name: core_cms_elasticsearch + ports: + - 127.0.0.1:9201:9200 + networks: + - core_cms_net + +volumes: + core_cms_postgres_data: + core_cms_es_data: + +networks: + core_cms_net: diff --git a/tapisproject_cms/elasticsearch.yml b/tapisproject_cms/elasticsearch.yml new file mode 100644 index 00000000..55847499 --- /dev/null +++ b/tapisproject_cms/elasticsearch.yml @@ -0,0 +1,14 @@ +#Use this to configure elasticsearch +#More info: https://www.elastic.co/guide/en/elasticsearch/reference/current/settings.html +# +cluster.name: es-dev +network.host: 0.0.0.0 +#network.publish_host: hostname +node.name: es01 +#minimum_master_nodes need to be explicitly set when bound on a public IP +# set to 1 to allow single node clusters +# Details: https://github.com/elastic/elasticsearch/pull/17288 +discovery.zen.minimum_master_nodes: 1 +#More info about memory_lock: https://www.elastic.co/guide/en/elasticsearch/reference/current/setup-configuration-memory.html +bootstrap.memory_lock: true +xpack.security.enabled: false \ No newline at end of file diff --git a/tapisproject_cms/src/__init__.py b/tapisproject_cms/src/__init__.py new file mode 100755 index 00000000..e69de29b diff --git a/tapisproject_cms/src/taccsite_cms/settings_custom.py b/tapisproject_cms/src/taccsite_cms/settings_custom.py new file mode 100644 index 00000000..92869456 --- /dev/null +++ b/tapisproject_cms/src/taccsite_cms/settings_custom.py @@ -0,0 +1,89 @@ +# CUSTOM SETTINGS VALUES. +# TACC WMA CMS SITE: +# *.TAPIS-PROJECT.ORG + +# FAQ: Some _VARIABLES are duplicated from settings.py (but prefixed with "_") +# because current infrastructure lacks ability to reference default values + +######################## +# TACC: BRANDING +######################## + +_NSF_BRANDING = [ + "nsf", + "site_cms/img/org_logos/nsf-white.png", + "branding-nsf", + "https://www.nsf.gov/", + "_blank", + "NSF Logo", + "anonymous", + "True" +] + +_TACC_BRANDING = [ + "tacc", + "site_cms/img/org_logos/tacc-white.png", + "branding-tacc", + "https://www.tacc.utexas.edu/", + "_blank", + "TACC Logo", + "anonymous", + "True" +] + +_UTEXAS_BRANDING = [ + "utexas", + "site_cms/img/org_logos/utaustin-white.png", + "branding-utaustin", + "https://www.utexas.edu/", + "_blank", + "University of Texas at Austin Logo", + "anonymous", + "True" +] + +UHAWAII_BRANDING = [ + "uhawaii", + "tapisproject_cms/img/org_logos/hawaii-header-trimmed.png", + "branding-uhawaii", + "https://www.hawaii.edu/", + "_blank", + "University of Hawaii Logo", + "anonymous", + "True" +] + +BRANDING = [ _NSF_BRANDING, _TACC_BRANDING, _UTEXAS_BRANDING, UHAWAII_BRANDING ] + +######################## +# TACC: LOGOS +######################## + +LOGO = [ + "tapis", + "tapisproject_cms/img/org_logos/tapis-logo-navbar.png", + "", + "/", + "_self", + "Tapis Logo", + "anonymous", + "True" +] + +FAVICON = { + "img_file_src": "site_cms/img/favicons/favicon.ico" +} + +######################## +# TACC: PORTAL +######################## + +INCLUDES_CORE_PORTAL = False +INCLUDES_PORTAL_NAV = False +INCLUDES_SEARCH_BAR = False + +######################## +# TACC: GOOGLE ANALYTICS +######################## + +GOOGLE_ANALYTICS_PROPERTY_ID = "G-5EQ8Y25ZTM" diff --git a/tapisproject_cms/src/taccsite_custom/tapisproject_cms/__init__.py b/tapisproject_cms/src/taccsite_custom/tapisproject_cms/__init__.py new file mode 100755 index 00000000..e69de29b diff --git a/tapisproject_cms/src/taccsite_custom/tapisproject_cms/static/tapisproject_cms/img/favicons/favicon.ico b/tapisproject_cms/src/taccsite_custom/tapisproject_cms/static/tapisproject_cms/img/favicons/favicon.ico new file mode 100644 index 00000000..533966ed Binary files /dev/null and b/tapisproject_cms/src/taccsite_custom/tapisproject_cms/static/tapisproject_cms/img/favicons/favicon.ico differ diff --git a/tapisproject_cms/src/taccsite_custom/tapisproject_cms/static/tapisproject_cms/img/org_logos/hawaii-header-trimmed.png b/tapisproject_cms/src/taccsite_custom/tapisproject_cms/static/tapisproject_cms/img/org_logos/hawaii-header-trimmed.png new file mode 100644 index 00000000..e4d803e9 Binary files /dev/null and b/tapisproject_cms/src/taccsite_custom/tapisproject_cms/static/tapisproject_cms/img/org_logos/hawaii-header-trimmed.png differ diff --git a/tapisproject_cms/src/taccsite_custom/tapisproject_cms/static/tapisproject_cms/img/org_logos/tapis-logo-navbar.png b/tapisproject_cms/src/taccsite_custom/tapisproject_cms/static/tapisproject_cms/img/org_logos/tapis-logo-navbar.png new file mode 100644 index 00000000..605db937 Binary files /dev/null and b/tapisproject_cms/src/taccsite_custom/tapisproject_cms/static/tapisproject_cms/img/org_logos/tapis-logo-navbar.png differ