--health-interval 10s
--health-timeout 5s
--health-retries 5
+ --gtid-mode=OFF
+ --enforce-gtid-consistency=OFF
steps:
- name: Checkout source code
uses: actions/checkout@v6
cache: 'pip'
- name: Build docker-compose service
run: |
- docker compose build --build-arg UID=$(id -u) --build-arg GID=$(id -g)
+ docker compose build
- name: Test createsuperuser/changepassword
run: |
docker compose run -T --rm web \
build:
context: .
dockerfile: ./tools/docker/Dockerfile
- args:
- - UID
- - GID
depends_on:
- db
volumes:
- - .:/home/patchwork/patchwork/
+ - .:/home/ubuntu/patchwork/
ports:
- "8000:8000"
environment:
- - UID
- - GID
- DATABASE_TYPE=postgres
- DATABASE_HOST=db
- DATABASE_PORT=5432
build:
context: .
dockerfile: ./tools/docker/Dockerfile
- args:
- - UID
- - GID
command: python3 manage.py runserver 0.0.0.0:8000
volumes:
- - .:/home/patchwork/patchwork/
+ - .:/home/ubuntu/patchwork/
ports:
- "8000:8000"
environment:
- - UID
- - GID
- DATABASE_TYPE=sqlite3
- - DATABASE_NAME=/home/patchwork/patchwork/tools/docker/db/db.sqlite3
+ - DATABASE_NAME=/home/ubuntu/patchwork/tools/docker/db/db.sqlite3
services:
db:
image: mysql:9.7
+ command: --gtid-mode=OFF --enforce-gtid-consistency=OFF
volumes:
- ./tools/docker/db/data:/var/lib/mysql
environment:
build:
context: .
dockerfile: ./tools/docker/Dockerfile
- args:
- - UID
- - GID
depends_on:
- db
volumes:
- - .:/home/patchwork/patchwork/
+ - .:/home/ubuntu/patchwork/
ports:
- "8000:8000"
environment:
- - UID
- - GID
# skip DATABASE_TYPE explicitly as mysql should be the default type.
- DATABASE_HOST=db
- DATABASE_PORT=3306
FROM ghcr.io/getpatchwork/pyenv:latest
-ARG UID=1000
-ARG GID=1000
-
ARG TZ="Australia/Canberra"
ENV DEBIAN_FRONTEND noninteractive
ENV PYTHONUNBUFFERED 1
-ENV PROJECT_HOME /home/patchwork/patchwork
+ENV PROJECT_HOME /home/ubuntu/patchwork
ENV DJANGO_SETTINGS_MODULE patchwork.settings.dev
-RUN groupadd -o --gid=$GID patchwork && \
- useradd --uid=$UID --gid=$GID --create-home patchwork
RUN rm -f /etc/localtime; ln -s /usr/share/zoneinfo/$TZ /etc/localtime
RUN eval "$(pyenv init -)"
COPY tools/docker/entrypoint.sh /usr/local/bin/entrypoint.sh
ENTRYPOINT ["/usr/local/bin/entrypoint.sh"]
CMD ["python3", "manage.py", "runserver", "0.0.0.0:8000"]
-USER patchwork
-WORKDIR /home/patchwork/patchwork
+USER ubuntu
+WORKDIR /home/ubuntu/patchwork
# check if patchwork is mounted. Checking if we exist is a
# very good start!
-if [ ! -f ~patchwork/patchwork/tools/docker/entrypoint.sh ]; then
+if [ ! -f ~/patchwork/tools/docker/entrypoint.sh ]; then
cat << EOF
The patchwork directory doesn't seem to be mounted!
Are you using docker-compose? If so, you may need to create an SELinux rule.
Refer to the development installation documentation for more information.
-If not, you need -v PATH_TO_PATCHWORK:/home/patchwork/patchwork
+If not, you need -v PATH_TO_PATCHWORK:/home/ubuntu/patchwork
EOF
exit 1
fi