# OD-1248: Preliminary work for CKAN 2.9 Upgrade in the Test Env ## Running Ed-testing docker image locally 1. Clone the repo containing the dockerfile for the testing site and checkout the `ckan-2.9.4-upgrade` branch: ```shell= git clone https://github.com/datopian/dx-helm-ed-dev cd dx-helm-ed-dev git checkout ckan-2.9.4-upgrade ``` 2. Build the testing site image from the Dockerfile: ```shell= docker build -t local/ckan:ed-testing-base ckan ``` The `local/ckan:ed-testing` tag is arbitrary and can be anything. 3. Navigate to your local instance or `docker-ckan-ed` or clone it: ```shell= git clone https://github.com/CivicActions/docker-ckan-ed cd docker-ckan-ed ``` 4. Checkout a new branch from docker-ckan-ed ***upgrade-ckan*** branch to avoid editing the original: ```shell= git checkout upgrade-ckan git checkout -b local-testing ``` 5. Build a second image to install ckanext-ed: ```Dockerfile FROM local/ckan:ed-testing-base RUN mkdir /ckanext-ed RUN mkdir -p /var/lib/ckan RUN chown -R ckan:ckan /var/lib/ckan RUN pip2 install beautifulsoup4==4.5.1 openpyxl COPY src/ckanext-ed/bin /ckanext-ed/bin COPY src/ckanext-ed/ckanext /ckanext-ed/ckanext COPY src/ckanext-ed/deploy /ckanext-ed/deploy COPY src/ckanext-ed/requirements.txt /ckanext-ed/requirements.txt COPY src/ckanext-ed/setup.py /ckanext-ed/setup.py COPY src/ckanext-ed/test.ini /ckanext-ed/test.ini COPY src/ckanext-ed/setup.cfg /ckanext-ed/setup.cfg COPY src/ckanext-ed/README.md /ckanext-ed/README.md RUN pip2 install -e file:///ckanext-ed#egg=ckanext-ed ``` 6. 5. Replace the `docker-compose.dev.yml` with: ```yml= version: "3" services: ckan-dev: image: local/ckan:ed-testing env_file: - .dev.env links: - db - solr - redis - datapusher ports: - "0.0.0.0:5000:5000" volumes: - ckan_storage:/var/lib/ckan - ./src:/srv/app/src_extensions datapusher: container_name: datapusher build: context: datapusher/ ports: - "8800:8800" db: container_name: db env_file: - .dev.env build: context: postgresql/ volumes: - pg_data:/var/lib/postgresql/data solr: container_name: solr build: context: solr/ redis: container_name: redis image: redis:alpine volumes: ckan_storage: pg_data: ``` The **`services.ckan-dev.image`** value is the image name and tag used when building the image in the second step. 6. Run docker-compose: ```shell= docker-compose -f docker-compose.dev.yml up --build ```