From d738324e371497632b8794631cb61fb594e47536 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?K=C3=A9vin=20Liagre?= Date: Wed, 20 Mar 2024 13:45:44 +0100 Subject: [PATCH] Update docker-compose services --- .github/workflows/ci.yml | 12 +++--- config/default | 12 +++--- docker-compose.yml | 39 ++++++++++++------- .../logging.conf => docker/postgresql.conf | 4 ++ scripts/create_user_db.sh | 14 ++++--- scripts/create_user_db_test.sh | 13 +++---- 6 files changed, 54 insertions(+), 40 deletions(-) rename docker-compose/pgsql-settings.d/logging.conf => docker/postgresql.conf (64%) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 5e8a8b912..3cc7aab8c 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -31,7 +31,7 @@ jobs: image: postgis/postgis env: POSTGRES_USER: postgres - POSTGRES_PASSWORD: postgres + POSTGRES_PASSWORD: test options: >- --health-cmd pg_isready --health-interval 10s @@ -62,10 +62,9 @@ jobs: run: flake8 c2corg_api es_migration - name: Configure postgres run: | - echo "create user \"www-data\" with password 'www-data'" | psql - USER=github scripts/create_user_db_test.sh + scripts/create_user_db_test.sh env: - PGPASSWORD: postgres + PGPASSWORD: test PGUSER: postgres PGHOST: localhost PGPORT: 5432 @@ -74,7 +73,7 @@ jobs: - name: Install java 8 for (old) elasticsearch uses: actions/setup-java@v4 with: - distribution: 'adopt' + distribution: "adopt" java-version: 8 - name: Run (old) elasticsearch run: | @@ -118,7 +117,8 @@ jobs: - name: Publish the docker image uses: docker/build-push-action@v5 with: - context: . + context: ./docker + file: ./Dockerfile push: ${{ github.event_name != 'pull_request' }} tags: ${{ steps.docker_meta.outputs.tags }} labels: ${{ steps.docker_meta.outputs.labels }} diff --git a/config/default b/config/default index e6b4da1f5..ffdac5972 100644 --- a/config/default +++ b/config/default @@ -10,8 +10,8 @@ export noauthorization = False export db_host = localhost export db_port = 5432 -export db_user = www-data -export db_password = www-data +export db_user = postgres +export db_password = test export db_name = c2corg export elasticsearch_host = localhost @@ -38,8 +38,8 @@ export discourse_category = Commentaires # database to run the unit tests export tests_db_host = localhost export tests_db_port = 5432 -export tests_db_user = www-data -export tests_db_password = www-data +export tests_db_user = postgres +export tests_db_password = test export tests_db_name = c2corg_tests # ElasticSearch instance to run the unit tests @@ -53,8 +53,8 @@ export tests_discourse_url = http://localhost:3000 # database from which to import data from export migration_db_host = localhost export migration_db_port = 5432 -export migration_db_user = www-data -export migration_db_password = www-data +export migration_db_user = postgres +export migration_db_password = test export migration_db_name = c2corg export logging_level = WARNING diff --git a/docker-compose.yml b/docker-compose.yml index f1acb1cd1..fc2ea92c1 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -11,12 +11,12 @@ services: ports: - 6543:6543 environment: - db_host: 'postgresql' - tests_db_host: 'postgresql' - elasticsearch_host: 'elasticsearch' - tests_elasticsearch_host: 'elasticsearch' - redis_url: 'redis://redis:6379/' - version: '' + db_host: "postgresql" + tests_db_host: "postgresql" + elasticsearch_host: "elasticsearch" + tests_elasticsearch_host: "elasticsearch" + redis_url: "redis://redis:6379/" + version: "" volumes: - ./alembic_migration:/var/www/alembic_migration - ./c2corg_api:/var/www/c2corg_api @@ -26,26 +26,35 @@ services: - ./test.ini.in:/var/www/test.ini.in - ./pytest.ini:/var/www/pytest.ini command: make -f config/docker-dev serve - links: - - postgresql - - elasticsearch - - redis postgresql: - image: docker.io/c2corg/c2corg_pgsql:anon-2018-11-02 + image: postgis/postgis:16-3.4 + container_name: postgresql + ports: + - "5432:5432" environment: - PGDATA: '/c2corg_anon' + POSTGRES_USER: postgres + POSTGRES_PASSWORD: test volumes: - - ./docker-compose/pgsql-settings.d/:/c2corg_anon/pgsql-settings.d/ + - postgres_data:/var/lib/postgresql/data + - ./docker/postgresql.conf:/etc/postgresql.conf - .:/v6_api + command: ["postgres", "-c", "config_file=/etc/postgresql.conf"] elasticsearch: - image: 'docker.io/c2corg/c2corg_es:anon-2018-11-02' + image: "docker.io/c2corg/c2corg_es:anon-2018-11-02" ports: - 9200:9200 command: -Des.index.number_of_replicas=0 -Des.path.data=/c2corg_anon -Des.script.inline=true + ulimits: + nofile: + soft: 65536 + hard: 65536 redis: - image: 'docker.io/redis:3.2' + image: redis:7.2 ports: - 6379:6379 + +volumes: + postgres_data: diff --git a/docker-compose/pgsql-settings.d/logging.conf b/docker/postgresql.conf similarity index 64% rename from docker-compose/pgsql-settings.d/logging.conf rename to docker/postgresql.conf index bdc622683..dc1dbd150 100644 --- a/docker-compose/pgsql-settings.d/logging.conf +++ b/docker/postgresql.conf @@ -1,4 +1,8 @@ +listen_addresses = '*' + log_connections = on log_disconnections = on log_duration = on log_statement = 'all' + +max_connections = 200 \ No newline at end of file diff --git a/scripts/create_user_db.sh b/scripts/create_user_db.sh index 1cfa6d588..bcfae7157 100755 --- a/scripts/create_user_db.sh +++ b/scripts/create_user_db.sh @@ -1,12 +1,14 @@ #!/bin/sh +DBNAME="c2corg" + sudo -u postgres psql <