Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
162 commits
Select commit Hold shift + click to select a range
c821dd9
add Docker development guide to transition from Vagrant workflow
pollardld Mar 17, 2026
2cb5ce5
refactor ALLOWED_HOSTS handling and improve STATICFILES_DIRS normaliz…
pollardld Mar 17, 2026
1804e51
refactor Docker setup and update environment configurations for impro…
pollardld Mar 18, 2026
7d3a2b0
add .env.dev file with database, server, task, and dependency settings
pollardld Mar 18, 2026
34bbcb1
add Docker configuration template for WCOA local development
pollardld Mar 18, 2026
9dbfaee
add scripts to manage database fixtures and SQL dumps
pollardld Mar 19, 2026
0bcf561
refactor entrypoint script to simplify database readiness check and i…
pollardld Mar 19, 2026
08386b4
Runs on Docker. Not sure to merge this into main or not. Asking at ou…
pollardld Mar 20, 2026
c2531fe
Change path to use absolute path to fixtures
pollardld Mar 24, 2026
2583c7d
Update vagrant_provision.sh to clarify legacy status and current setu…
pollardld Mar 31, 2026
ab1cadb
Add initial configuration files and update Docker setup for Madrona P…
pollardld Mar 31, 2026
176737c
Refactor URL configuration and model imports for Wagtail compatibility
pollardld Mar 31, 2026
4e59f26
Remove unnesscary import of unicode_literals from __future__ in migra…
pollardld Mar 31, 2026
f7e573c
Refactor Wagtail imports to simplify version handling in models.py
pollardld Mar 31, 2026
7aadb0b
Add static file compression to Docker entrypoint script
pollardld Mar 31, 2026
d1044f0
Add superuser bootstrap to entrypoint and Docker configuration
pollardld Apr 1, 2026
51390b2
Fix fixture seeding, social auth namespace, and static path resolution
pollardld Apr 1, 2026
cf01feb
Remove Wagtail 6 Query import from entrypoint cleanup
pollardld Apr 1, 2026
05436a2
Clear migration-created pages before loading fixture
pollardld Apr 1, 2026
bb82323
rewrite docker/README.md to reflect current stack accurately
pollardld Apr 1, 2026
15e70e3
Update Docker README for improved quick start instructions and add mi…
pollardld Apr 2, 2026
6c9a0cb
Remove deprecated .env.dev file and add docker-compose.dev.yml for de…
pollardld Apr 3, 2026
f1ab12f
Reorganize Docker README to improve clarity on everyday usage and dep…
pollardld Apr 3, 2026
9824353
Add AWS Deployment Guide for Madrona Portal setup
pollardld Apr 7, 2026
7ea0ec7
Add rpc4django to Docker requirements for API support
pollardld Apr 8, 2026
8fbd716
Update entrypoint.sh to load specific initial data fixtures for WCOA app
pollardld Apr 8, 2026
9ce88b5
Add content type verification before loading fixtures in entrypoint.sh
pollardld Apr 8, 2026
ab573e2
Refactor fixture loading in entrypoint.sh to ensure ContentTypes are …
pollardld Apr 8, 2026
53f470a
Add volumes for media and geoportal
pollardld Apr 8, 2026
9a6fa15
Update environment and configuration templates for WCOA development
pollardld Apr 10, 2026
8f9a93e
Update configuration file names for WCOA to include 'docker' suffix
pollardld Apr 10, 2026
84b4c22
Add db-restore.sh script for restoring PostgreSQL dumps in Docker
pollardld Apr 10, 2026
cec8965
Update README.md to include instructions for importing production SQL…
pollardld Apr 10, 2026
5d1e3dd
Add instructions for importing production media files into Dockerized…
pollardld Apr 10, 2026
35e875b
Add migration instructions for mp-layers to README.md
pollardld Apr 10, 2026
bf3a667
Add API URL patterns for visualize, drawing, and mapgroups modules
pollardld Apr 10, 2026
47d0594
Fix JSON-RPC URL by adding trailing slash to the endpoint
pollardld Apr 10, 2026
4c42277
Add JSON-RPC 2.0 compatibility shim and update URL routing
pollardld Apr 10, 2026
4f1afa8
Set DEBUG to False in core settings for production readiness
pollardld Apr 15, 2026
854a9b7
Remove rpc4django from Docker requirements and replace with djangores…
pollardld Apr 15, 2026
b558ce6
first stab at streamlining docker build and toggling database manipul…
rhodges Apr 16, 2026
89876e0
fixing configs for default development work
rhodges Apr 16, 2026
1f2942e
finishing streamline effort
rhodges Apr 16, 2026
c7577db
Apply suggestion from @Copilot
rhodges Apr 16, 2026
e28979d
Apply suggestion from @Copilot
rhodges Apr 16, 2026
6e5435c
Apply suggestion from @Copilot
rhodges Apr 16, 2026
0c22357
Apply suggestion from @Copilot
rhodges Apr 16, 2026
d9177a6
Apply suggestion from @Copilot
rhodges Apr 16, 2026
037cec1
removing REDME.md reference to /vol/web/media, which is now kept exte…
rhodges Apr 16, 2026
fdc074d
purge remaining references to 'madrona_portal'
rhodges Apr 16, 2026
a8e489d
smarter default relative addressing of .env file in db-restore.sh script
rhodges Apr 16, 2026
12dbf46
handle leading ~ in env-file for db-restore.sh
rhodges Apr 16, 2026
06f6586
integrating default Geoportal deployment with portal
rhodges Apr 16, 2026
9270041
more madrona-portal vs madrona_portal cleanup
rhodges Apr 16, 2026
1ea2747
Add API URL auto-discovery and tests for mounted routes
pollardld Apr 17, 2026
a11c200
Add API URL auto-discovery and new conventions for sub-apps
pollardld Apr 17, 2026
c5b3124
Refactor URL configuration to dynamically discover API patterns from …
pollardld Apr 17, 2026
a98382c
Update environment variable handling for ReCAPTCHA keys and clean up …
pollardld Apr 20, 2026
89249bb
temporary merge of branches
rhodges Apr 20, 2026
2f6a814
Update docker/README.md
pollardld Apr 20, 2026
63cdbf6
Merge pull request #53 from Ecotrust/streamline_docker
pollardld Apr 20, 2026
bfb35ef
Add platform-specific Docker build instructions for MAC and LINUX
pollardld Apr 20, 2026
9419d6d
Refactor entrypoint script to enable production mode with Gunicorn an…
pollardld Apr 20, 2026
82f9d79
Add GitHub Container Registry configuration to .env.example
pollardld Apr 21, 2026
9fe797e
Add GitHub Actions workflow to create and publish Docker images for W…
pollardld Apr 21, 2026
751e545
Add production Docker Compose configuration for Madrona Portal
pollardld Apr 21, 2026
3a4f8b4
Update AWS deployment guide and README for production setup and usage
pollardld Apr 21, 2026
c860d77
Fix mismatched app ports in prod compose configuration
pollardld Apr 22, 2026
944d6b8
Change location of AWS deployment guide for Madrona Portal setup and …
pollardld Apr 22, 2026
257f0f2
Add production environment variables to .env.example for GitHub Conta…
pollardld Apr 22, 2026
0d2c48c
Update smoke test URL in AWS deployment guide to reflect correct port
pollardld Apr 22, 2026
a256324
Fix smoke test URL in AWS deployment guide to use correct port
pollardld Apr 22, 2026
2d38721
Refactor db-restore.sh to improve environment detection and update us…
pollardld Apr 22, 2026
8c8c809
Refactor AWS deployment guide to streamline Docker commands and add d…
pollardld Apr 23, 2026
c10d4e1
Remove services and ports section from Docker README
pollardld Apr 23, 2026
ebe7176
Enhance AWS deployment guide with Nginx logging, CORS configuration, …
pollardld Apr 23, 2026
727eff1
Add Google Analytics configuration and custom mail domain setup instr…
pollardld Apr 23, 2026
5425aa0
Update GeoPortal migration instructions to include environment setup …
pollardld Apr 24, 2026
a72d9b9
Refactor db_dump.sh to enhance error handling, support custom Docker …
pollardld Apr 24, 2026
5eed780
Add mp-survey integration to Docker setup and update documentation
pollardld Apr 27, 2026
d065b2a
Add mp-survey service to Docker Compose configuration
pollardld Apr 27, 2026
0514f1c
Update Docker build instructions to simplify commands and improve cla…
pollardld Apr 28, 2026
3f9aed8
Update Docker README with simplified local development instructions a…
pollardld Apr 28, 2026
d05fde7
Remove polyfill script for compatibility with older environments in e…
pollardld Apr 30, 2026
b0bcc9d
Add NATIVE_LAND_API_KEY to environment variables in .env.example
pollardld Apr 30, 2026
262d399
Add instructions for migrating existing GeoPortal records to README
pollardld Apr 30, 2026
29f53f2
Add NATIVE_LAND_API_KEY to settings for environment variable configur…
pollardld Apr 30, 2026
65d1d67
Update AWS deployment instructions to use 'apt' instead of 'apt-get' …
pollardld May 1, 2026
c11adba
Update environment variable documentation and add Docker service veri…
pollardld May 1, 2026
993967b
Remove 'full' profile from app, geoportal, and elastic services in Do…
pollardld May 1, 2026
df50bdb
Update README and AWS deployment instructions for database restoratio…
pollardld May 1, 2026
54068c4
Remove 'full' profile usage from Docker Compose usage instructions
pollardld May 1, 2026
916ebf0
Update AWS deployment instructions to add back use of prod compose fi…
pollardld May 5, 2026
2890d5a
Add optional app info variables to .env.example for templates and emails
pollardld May 5, 2026
32c4757
Implement configuration standard with typed helpers for environment s…
pollardld May 5, 2026
90882fd
Refactor env_str, env_bool, and env_int functions for improved readab…
pollardld May 5, 2026
500eb84
Add MEDIA_ROOT and MEDIA_URL to .env.example; update media file path …
pollardld May 5, 2026
50f2159
Add STATIC_ROOT to .env.example; update Docker Compose files to mount…
pollardld May 7, 2026
51e4a19
Add docker/static/ to .gitignore to exclude static files from version…
pollardld May 7, 2026
2f16d71
Update environment variables in .env.example and adjust Dockerfile pe…
pollardld May 7, 2026
201e70b
Add CSRF trusted origins configuration to settings
pollardld May 7, 2026
816437d
Add gosu for user switching in Docker entrypoint and update permissio…
pollardld May 7, 2026
6a81082
Add instructions for setting static file permissions for Nginx
pollardld May 7, 2026
9b51f3a
Update .env.example and settings.py to move most settings from .ini t…
pollardld May 8, 2026
5614cb2
Remove branch reference from WCOA clone command in README and update …
pollardld May 8, 2026
f5ead21
Update AWS deployment guide to use environment variable for Elasticse…
pollardld May 11, 2026
d290253
Move location of APP_PORT variable in .env.example to more logical line
pollardld May 13, 2026
4ddfaa7
Fix formatting of PROJECT_APP variable and add PROJECT_SETTINGS_FILE …
pollardld May 13, 2026
0d60d11
Update link to AWS deployment guide in README for improved navigation
pollardld May 14, 2026
93cbcf0
Trigger workflow on release publication
pollardld May 14, 2026
c2b4ab1
enable ES snapshotting and repo creation to local storage
rhodges May 15, 2026
b8911be
adding 'dev' profile to docker prod to test integration with NGINX an…
rhodges May 15, 2026
8a28d67
don't risk committing backup files
rhodges May 15, 2026
464c289
limit Kibana to localhost access only for security
rhodges May 15, 2026
8b34d0d
fix typo in commented-out nginx config placeholder WAF
rhodges May 15, 2026
a6f6926
don't auto-restart dev-profile services
rhodges May 15, 2026
824ccae
clean up some ambiguous comments
rhodges May 15, 2026
61ca056
clarifying comment regarding xpack-security config for elastic service
rhodges May 15, 2026
3196d2a
Merge pull request #54 from Ecotrust/elastic-snapshot-support
rhodges May 15, 2026
276db5f
Adding a reference template for building a crontab
rhodges May 16, 2026
66ce86e
Updating AWS Deploy doc: WARs, WAFs, Backups, and Cron
rhodges May 16, 2026
6a5a8e2
renaming the docker nginx config file for clarity
rhodges May 16, 2026
5b7b8c1
making elastic snapshot cron job work
rhodges May 16, 2026
313ada1
fixing db dump cron to replace truncated content
rhodges May 16, 2026
7a5fbbb
fixing missing comment in crontab.template
rhodges May 16, 2026
6e24563
fixing cron job notes in AWS deploy
rhodges May 16, 2026
cfc6645
fixing minor type in AWS Deploy
rhodges May 16, 2026
ac8acdb
adding url-shortener and layers dependencies to README
rhodges May 22, 2026
454f112
correct SES Console navigation for creating mail from domain
pollardld May 27, 2026
7dcc75f
Move docker/README.md to docs/Docker_ Development_Guide.md
pollardld May 28, 2026
30fd309
Remove deprecated documentation files: ROADMAP.md, Docker Development…
pollardld May 29, 2026
374a949
Add data_manager directory creation step to Docker setup guide
pollardld May 29, 2026
a9c3f6b
Update PostgreSQL volume path in Docker Compose files
pollardld Jun 3, 2026
0438ee8
preserve harvester's H2 DB across container events
rhodges Jun 8, 2026
55c5571
Merge pull request #56 from Ecotrust/harvester_db
rhodges Jun 8, 2026
00d9ff6
Merge pull request #55 from Ecotrust/elastic-snapshot-support
rhodges Jun 8, 2026
0696cd2
Update README.md for Docker development setup and instructions
pollardld Jul 8, 2026
816a6e8
Allow MP_PROJECT_CONFIG handling to support absolute paths for modula…
pollardld Jul 9, 2026
4eb64d8
Add initial Docker Compose base configuration file
pollardld Jul 13, 2026
4bae146
Add Docker Compose configuration for app, db, and tasks services
pollardld Jul 13, 2026
9433de9
Merge pull request #57 from Ecotrust/dd1
pollardld Jul 13, 2026
d2c6653
Merge pull request #58 from Ecotrust/dd2
pollardld Jul 13, 2026
09ddf81
Use dockerdecouple branch to build decoupled ghcr images
pollardld Jul 14, 2026
e27d5ef
Update tag for image to dockerdecouple
pollardld Jul 14, 2026
ec6bd08
Refactor Dockerfile and requirements: remove unused environment varia…
pollardld Jul 14, 2026
48c96a9
Merge pull request #59 from Ecotrust/dd4
pollardld Jul 16, 2026
8cc398a
Update README.md: remove branch annotations from directory structure …
pollardld Jul 16, 2026
dbd4340
Update email settings: change default from email address to noreply@e…
pollardld Jul 21, 2026
ebe1bc7
Remove Geoportal specific templates, entrypoint, and wars init. These…
pollardld Jul 21, 2026
4eea405
Refactor Docker setup: update workflows, remove legacy configurations…
pollardld Jul 21, 2026
5909ddb
Update README.md: remove WCOA reference from Docker Development Guide…
pollardld Jul 21, 2026
c91615a
Merge pull request #60 from Ecotrust/dd7
pollardld Jul 21, 2026
648a1af
Update Docker workflow: set working directory for SHA extraction and …
pollardld Jul 21, 2026
bc0fe1d
Merge pull request #61 from Ecotrust/dd7
pollardld Jul 21, 2026
02ef9e7
Remove MODERNIZATION.md: eliminate outdated roadmap and modernization…
pollardld Jul 22, 2026
5b18260
Update README.md: revise Docker Development Guide to clarify architec…
pollardld Jul 23, 2026
4cdb112
Remove development configuration file for MARCO Portal
pollardld Jul 23, 2026
fe93fe1
Update workflow trigger: restrict to main branch only
pollardld Jul 23, 2026
75bf73a
Update workflow to trigger on dockerdecouple branch and add multi-pla…
pollardld Jul 30, 2026
e43f2c0
Remove multi-platform support from Docker image build configuration
pollardld Aug 3, 2026
00a9153
Bump version to 4.0.2 in pyproject.toml
pollardld Aug 3, 2026
6879cd1
Add version tag 4.0.3 to Docker image build configuration
pollardld Aug 3, 2026
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
171 changes: 171 additions & 0 deletions .github/workflows/create-and-publish-docker-images.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,171 @@
name: Build and publish madrona-portal base image

on:
push:
branches: [main, dockerdecouple]
workflow_dispatch:

# Defines two custom environment variables for the workflow. These are used for the Container registry domain, and a name for the Docker image that this workflow builds.
env:
IMAGE_NAME: ghcr.io/ecotrust/madrona-portal

# There is a single job in this workflow. It's configured to run on the latest available version of Ubuntu.
jobs:
build-and-push:
runs-on: ubuntu-latest
# Sets the permissions granted to the `GITHUB_TOKEN` for the actions in this job.
permissions:
contents: read
packages: write
attestations: write
id-token: write

steps:
- name: Checkout madrona-portal
uses: actions/checkout@v5
with:
path: madrona-portal

- name: Checkout django_url_shortener
uses: actions/checkout@v5
with:
repository: Ecotrust/django_url_shortener
token: ${{ secrets.GH_PAT }}
path: madrona-apps/django_url_shortener

- name: Checkout madrona-analysistools
uses: actions/checkout@v5
with:
repository: Ecotrust/madrona-analysistools
token: ${{ secrets.GH_PAT }}
path: madrona-apps/madrona-analysistools

- name: Checkout madrona-features
uses: actions/checkout@v5
with:
repository: Ecotrust/madrona-features
token: ${{ secrets.GH_PAT }}
path: madrona-apps/madrona-features

- name: Checkout madrona-manipulators
uses: actions/checkout@v5
with:
repository: Ecotrust/madrona-manipulators
token: ${{ secrets.GH_PAT }}
path: madrona-apps/madrona-manipulators

- name: Checkout madrona-scenarios
uses: actions/checkout@v5
with:
repository: Ecotrust/madrona-scenarios
token: ${{ secrets.GH_PAT }}
path: madrona-apps/madrona-scenarios

- name: Checkout mp-accounts
uses: actions/checkout@v5
with:
repository: Ecotrust/mp-accounts
token: ${{ secrets.GH_PAT }}
path: madrona-apps/mp-accounts

- name: Checkout mp-data-manager
uses: actions/checkout@v5
with:
repository: Ecotrust/mp-data-manager
token: ${{ secrets.GH_PAT }}
path: madrona-apps/mp-data-manager

- name: Checkout mp-drawing
uses: actions/checkout@v5
with:
repository: Ecotrust/mp-drawing
token: ${{ secrets.GH_PAT }}
path: madrona-apps/mp-drawing

- name: Checkout mp-explore
uses: actions/checkout@v5
with:
repository: Ecotrust/mp-explore
token: ${{ secrets.GH_PAT }}
path: madrona-apps/mp-explore

- name: Checkout mp-layers
uses: actions/checkout@v5
with:
repository: Ecotrust/mp-layers
token: ${{ secrets.GH_PAT }}
path: madrona-apps/mp-layers

- name: Checkout mp-map-groups
uses: actions/checkout@v5
with:
repository: Ecotrust/mp-map-groups
token: ${{ secrets.GH_PAT }}
path: madrona-apps/mp-map-groups

- name: Checkout mp-proxy
uses: actions/checkout@v5
with:
repository: Ecotrust/mp-proxy
token: ${{ secrets.GH_PAT }}
path: madrona-apps/mp-proxy

- name: Checkout mp-survey
uses: actions/checkout@v5
with:
repository: Ecotrust/mp-survey
token: ${{ secrets.GH_PAT }}
path: madrona-apps/mp-survey

- name: Checkout mp-visualize
uses: actions/checkout@v5
with:
repository: Ecotrust/mp-visualize
token: ${{ secrets.GH_PAT }}
path: madrona-apps/mp-visualize

- name: Checkout p97-nursery
uses: actions/checkout@v5
with:
repository: Ecotrust/p97-nursery
token: ${{ secrets.GH_PAT }}
path: madrona-apps/p97-nursery

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

- name: Log in to GHCR
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}

- name: Extract short SHA
id: meta
working-directory: madrona-portal
run: |
SHA=$(git rev-parse --short HEAD 2>/dev/null || echo "${GITHUB_SHA::7}")
echo "sha=$SHA" >> "$GITHUB_OUTPUT"

- name: Build and push
uses: docker/build-push-action@v5
with:
context: .
file: madrona-portal/docker/Dockerfile
push: true
tags: |
${{ env.IMAGE_NAME }}:${{ steps.meta.outputs.sha }}
${{ env.IMAGE_NAME }}:latest
${{ env.IMAGE_NAME }}:4.0.3
cache-from: type=gha
cache-to: type=gha,mode=max

- name: Image digest summary
run: |
echo "### Image pushed to GHCR" >> $GITHUB_STEP_SUMMARY
echo "- \`${{ env.IMAGE_NAME }}:${{ steps.meta.outputs.sha }}\`" >> $GITHUB_STEP_SUMMARY
echo "- \`${{ env.IMAGE_NAME }}:latest\`" >> $GITHUB_STEP_SUMMARY
7 changes: 7 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,12 @@ vagrant
.sass-cache
node_modules

docker/backups/
docker/media/
docker/static/
docker/entrypoint.sh
docker/docker-requirements.txt
docker/wars/

marco_site/static/bundles/
marco_site/static/css/
Expand All @@ -29,9 +33,12 @@ htmlcov
.coverage
config.ini
config.mida.ini
config.mida.docker.ini
config.wcoa.ini
config.wcoa.docker.ini
pytest.ini
marco.db
.env

.bashrc
dev_fixture.json
Expand Down
58 changes: 0 additions & 58 deletions Dockerfile

This file was deleted.

Loading
Loading