mirror of
https://github.com/spiral-project/ihatemoney.git
synced 2025-04-28 09:22:38 +02:00
Fix docker image and docker image test (#852)
* Github Action build and push to dockerhub * CI updates docker description * Convert rst readme to markdown * Update CONTRIBUTORS * Revert "CI updates docker description" This reverts commit33e2e7b5c2
. * Revert "Convert rst readme to markdown" This reverts commitdc25f8dbe4
. * CI deploy on master branch * CI test image * Fix empty SESSION_COOKIE_SECURE * Dockerfile : sanitize ENV * entrypoint.sh : sort * docker-compose.yml * CI test with docker compose * CI reorganize * Default SESSION_COOKIE_SECURE to True * Add some comments for readability. Co-authored-by: Alexis Métaireau <alexis@notmyidea.org>
This commit is contained in:
parent
a7d133bc3a
commit
ec0a3aa070
5 changed files with 82 additions and 26 deletions
18
.github/workflows/dockerhub.yml
vendored
18
.github/workflows/dockerhub.yml
vendored
|
@ -2,12 +2,26 @@ name: CI to Docker Hub
|
|||
|
||||
on:
|
||||
push:
|
||||
tags:
|
||||
- '*'
|
||||
tags: ['*']
|
||||
branches: [ master ]
|
||||
pull_request:
|
||||
branches: [ master ]
|
||||
|
||||
|
||||
jobs:
|
||||
test:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
|
||||
- name: Test image # Checks we are able to run the container.
|
||||
run: docker compose -f docker-compose.test.yml run sut
|
||||
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
needs: test
|
||||
if: github.event_name != 'pull_request'
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
|
|
25
Dockerfile
25
Dockerfile
|
@ -1,22 +1,23 @@
|
|||
FROM python:3.7-alpine
|
||||
|
||||
ENV DEBUG="False" \
|
||||
SQLALCHEMY_DATABASE_URI="sqlite:////database/ihatemoney.db" \
|
||||
SQLALCHEMY_TRACK_MODIFICATIONS="False" \
|
||||
SECRET_KEY="tralala" \
|
||||
MAIL_DEFAULT_SENDER="('Budget manager', 'budget@notmyidea.org')" \
|
||||
MAIL_SERVER="localhost" \
|
||||
MAIL_PORT=25 \
|
||||
MAIL_USE_TLS=False \
|
||||
MAIL_USE_SSL=False \
|
||||
MAIL_USERNAME= \
|
||||
MAIL_PASSWORD= \
|
||||
ACTIVATE_ADMIN_DASHBOARD="False" \
|
||||
ACTIVATE_DEMO_PROJECT="True" \
|
||||
ADMIN_PASSWORD="" \
|
||||
ALLOW_PUBLIC_PROJECT_CREATION="True" \
|
||||
ACTIVATE_ADMIN_DASHBOARD="False" \
|
||||
BABEL_DEFAULT_TIMEZONE="UTC" \
|
||||
GREENLET_TEST_CPP="no"
|
||||
GREENLET_TEST_CPP="no" \
|
||||
MAIL_DEFAULT_SENDER="('Budget manager', 'budget@notmyidea.org')" \
|
||||
MAIL_PASSWORD="" \
|
||||
MAIL_PORT="25" \
|
||||
MAIL_SERVER="localhost" \
|
||||
MAIL_USE_SSL="False" \
|
||||
MAIL_USE_TLS="False" \
|
||||
MAIL_USERNAME="" \
|
||||
SECRET_KEY="tralala" \
|
||||
SESSION_COOKIE_SECURE="True" \
|
||||
SQLALCHEMY_DATABASE_URI="sqlite:////database/ihatemoney.db" \
|
||||
SQLALCHEMY_TRACK_MODIFICATIONS="False"
|
||||
|
||||
RUN mkdir -p /etc/ihatemoney &&\
|
||||
pip install --no-cache-dir gunicorn pymysql;
|
||||
|
|
|
@ -5,23 +5,23 @@ set -e
|
|||
|
||||
cat <<EOF > /etc/ihatemoney/ihatemoney.cfg
|
||||
DEBUG = $DEBUG
|
||||
SQLALCHEMY_DATABASE_URI = "$SQLALCHEMY_DATABASE_URI"
|
||||
SQLACHEMY_DEBUG = DEBUG
|
||||
SQLALCHEMY_TRACK_MODIFICATIONS = $SQLALCHEMY_TRACK_MODIFICATIONS
|
||||
SECRET_KEY = "$SECRET_KEY"
|
||||
MAIL_SERVER = "$MAIL_SERVER"
|
||||
MAIL_PORT = $MAIL_PORT
|
||||
MAIL_USE_TLS = $MAIL_USE_TLS
|
||||
MAIL_USE_SSL = $MAIL_USE_SSL
|
||||
MAIL_USERNAME = "$MAIL_USERNAME"
|
||||
MAIL_PASSWORD = "$MAIL_PASSWORD"
|
||||
MAIL_DEFAULT_SENDER = "$MAIL_DEFAULT_SENDER"
|
||||
ACTIVATE_ADMIN_DASHBOARD = $ACTIVATE_ADMIN_DASHBOARD
|
||||
ACTIVATE_DEMO_PROJECT = $ACTIVATE_DEMO_PROJECT
|
||||
ADMIN_PASSWORD = '$ADMIN_PASSWORD'
|
||||
ALLOW_PUBLIC_PROJECT_CREATION = $ALLOW_PUBLIC_PROJECT_CREATION
|
||||
ACTIVATE_ADMIN_DASHBOARD = $ACTIVATE_ADMIN_DASHBOARD
|
||||
BABEL_DEFAULT_TIMEZONE = "$BABEL_DEFAULT_TIMEZONE"
|
||||
MAIL_DEFAULT_SENDER = "$MAIL_DEFAULT_SENDER"
|
||||
MAIL_PASSWORD = "$MAIL_PASSWORD"
|
||||
MAIL_PORT = $MAIL_PORT
|
||||
MAIL_SERVER = "$MAIL_SERVER"
|
||||
MAIL_USE_SSL = $MAIL_USE_SSL
|
||||
MAIL_USE_TLS = $MAIL_USE_TLS
|
||||
MAIL_USERNAME = "$MAIL_USERNAME"
|
||||
SECRET_KEY = "$SECRET_KEY"
|
||||
SESSION_COOKIE_SECURE = $SESSION_COOKIE_SECURE
|
||||
SQLACHEMY_DEBUG = DEBUG
|
||||
SQLALCHEMY_DATABASE_URI = "$SQLALCHEMY_DATABASE_URI"
|
||||
SQLALCHEMY_TRACK_MODIFICATIONS = $SQLALCHEMY_TRACK_MODIFICATIONS
|
||||
EOF
|
||||
|
||||
# Start gunicorn without forking
|
||||
|
|
13
docker-compose.test.yml
Normal file
13
docker-compose.test.yml
Normal file
|
@ -0,0 +1,13 @@
|
|||
# This is used by Github actions to ensure docker images build properly.
|
||||
version: "3.9"
|
||||
|
||||
services:
|
||||
ihatemoney:
|
||||
build: .
|
||||
ports:
|
||||
- "8000:8000"
|
||||
sut:
|
||||
image: alpine
|
||||
command: wget --spider ihatemoney:8000
|
||||
depends_on:
|
||||
- ihatemoney
|
28
docker-compose.yml
Normal file
28
docker-compose.yml
Normal file
|
@ -0,0 +1,28 @@
|
|||
# This is an example. Please change the configuration variables listed here.
|
||||
|
||||
version: "3.9"
|
||||
|
||||
services:
|
||||
ihatemoney:
|
||||
build: .
|
||||
environment:
|
||||
- DEBUG=False
|
||||
- ACTIVATE_ADMIN_DASHBOARD=False
|
||||
- ACTIVATE_DEMO_PROJECT=True
|
||||
- ADMIN_PASSWORD=
|
||||
- ALLOW_PUBLIC_PROJECT_CREATION=True
|
||||
- BABEL_DEFAULT_TIMEZONE=UTC
|
||||
- GREENLET_TEST_CPP=no
|
||||
- MAIL_DEFAULT_SENDER=('Budget manager', 'budget@notmyidea.org')
|
||||
- MAIL_PASSWORD=
|
||||
- MAIL_PORT=25
|
||||
- MAIL_SERVER=localhost
|
||||
- MAIL_USE_SSL=False
|
||||
- MAIL_USE_TLS=False
|
||||
- MAIL_USERNAME=
|
||||
- SECRET_KEY=tralala
|
||||
- SESSION_COOKIE_SECURE=True
|
||||
- SQLALCHEMY_DATABASE_URI=sqlite:////database/ihatemoney.db
|
||||
- SQLALCHEMY_TRACK_MODIFICATIONS=False
|
||||
ports:
|
||||
- "8000:8000"
|
Loading…
Reference in a new issue