Skip to content
This repository was archived by the owner on Aug 1, 2024. It is now read-only.

Commit 8e7eb59

Browse files
feat: introduce ansible-free docker image for edx-notes-api (#1053)
* feat: introduce annsible-free docker image for edx-notes-apo * fix: update image name as per the pushing script * fix: remove extra commented lines * fix: remove env activation command
1 parent 3309a0e commit 8e7eb59

3 files changed

Lines changed: 26 additions & 7 deletions

File tree

docker-compose-host.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ services:
3333
- ${DEVSTACK_WORKSPACE}/src:/edx/src
3434
edx_notes_api:
3535
volumes:
36-
- ${DEVSTACK_WORKSPACE}/edx-notes-api:/edx/app/edx_notes_api/edx_notes_api
36+
- ${DEVSTACK_WORKSPACE}/edx-notes-api:/edx/app/notes/
3737
- ${DEVSTACK_WORKSPACE}/src:/edx/src
3838
registrar:
3939
volumes:

docker-compose.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -386,15 +386,15 @@ services:
386386

387387
edx_notes_api:
388388
# Sleep as a part of start up to give elasticsearch enough time to start up.
389-
command: bash -c 'source /edx/app/edx_notes_api/edx_notes_api_env && while true; do python /edx/app/edx_notes_api/edx_notes_api/manage.py runserver 0.0.0.0:18120 --settings notesserver.settings.devstack; sleep 4; done'
389+
command: bash -c 'while true; do python /edx/app/notes/manage.py runserver 0.0.0.0:18120 --settings notesserver.settings.devstack; sleep 4; done'
390390
container_name: "edx.${COMPOSE_PROJECT_NAME:-devstack}.edxnotesapi"
391391
hostname: edx_notes_api.devstack.edx
392392
depends_on:
393393
- devpi
394394
- elasticsearch710
395395
- lms
396396
- mysql57
397-
image: edxops/notes:${OPENEDX_RELEASE:-latest}
397+
image: openedx/edx-notes-api-dev:${OPENEDX_RELEASE:-latest}
398398
networks:
399399
default:
400400
aliases:

provision-notes.sh

Lines changed: 23 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,28 @@ set -eu -o pipefail
55
. scripts/colors.sh
66
set -x
77

8-
# Common provisioning tasks for IDAs, including requirements, migrations, oauth client creation, etc.
9-
./provision-ida.sh edx_notes_api edx-notes 18120 edx_notes_api
8+
name=edx_notes_api
9+
port=18734
10+
client_name=edx-notes # The name of the Oauth client stored in the edxapp DB.
11+
12+
docker-compose up -d $name
13+
14+
echo -e "${GREEN}Installing requirements for ${name}...${NC}"
15+
docker-compose exec -T ${name} bash -e -c 'cd /edx/app/notes && make requirements' -- "$name"
16+
17+
echo -e "${GREEN}Running migrations for ${name}...${NC}"
18+
docker-compose exec -T ${name} bash -e -c 'cd /edx/app/notes && make migrate' -- "$name"
19+
20+
echo -e "${GREEN}Creating super-user for ${name}...${NC}"
21+
docker-compose exec -T ${name} bash -e -c 'cho "from django.contrib.auth import get_user_model; User = get_user_model(); User.objects.create_superuser(\"edx\", \"edx@example.com\", \"edx\") if not User.objects.filter(username=\"edx\").exists() else None" | python /edx/app/notes/manage.py shell' -- "$name"
22+
23+
./provision-ida-user.sh $name $client_name $port
24+
25+
# Compile static assets last since they are absolutely necessary for all services. This will allow developers to get
26+
# started if they do not care about static assets
27+
echo -e "${GREEN}Compiling static assets for ${name}...${NC}"
28+
docker-compose exec -T ${name} bash -e -c 'cd /edx/app/notes && make static' -- "$name"
1029

1130
# This will build the elasticsearch index for notes.
12-
echo -e "${GREEN}Creating indexes for edx_notes_api...${NC}"
13-
docker-compose exec -T edx_notes_api bash -e -c 'source /edx/app/$1/$1_env && cd /edx/app/$1/$1/ && python manage.py search_index --rebuild -f' -- edx_notes_api
31+
echo -e "${GREEN}Creating indexes for ${name}...${NC}"
32+
docker-compose exec -T ${name} bash -e -c 'cd /edx/app/notes/ && python manage.py search_index --rebuild -f'

0 commit comments

Comments
 (0)