docker-compose: add redis service

Now, the fastapi docker-compose service uses the new redis
service for a cache option.

Signed-off-by: Kevin Morris <kevr@0cost.org>
This commit is contained in:
Kevin Morris 2021-06-28 08:30:12 -07:00
parent 35851d5533
commit 96d1af9363
No known key found for this signature in database
GPG key ID: F7E46DED420788F3
7 changed files with 33 additions and 1 deletions

View file

@ -55,6 +55,11 @@ read the instructions below.
python-lxml python-feedgen python-lxml python-feedgen
# python3 setup.py install # python3 setup.py install
(FastAPI-Specific)
# pacman -S redis python-redis
# systemctl enable --now redis
5) Create a new MySQL database and a user and import the aurweb SQL schema: 5) Create a new MySQL database and a user and import the aurweb SQL schema:
$ python -m aurweb.initdb $ python -m aurweb.initdb

View file

@ -36,6 +36,16 @@ services:
healthcheck: healthcheck:
test: "bash /docker/health/memcached.sh" test: "bash /docker/health/memcached.sh"
redis:
image: aurweb:latest
init: true
entrypoint: /docker/redis-entrypoint.sh
command: /docker/scripts/run-redis.sh
healthcheck:
test: "bash /docker/health/redis.sh"
ports:
- "16379:6379"
mariadb: mariadb:
image: aurweb:latest image: aurweb:latest
init: true init: true
@ -172,6 +182,8 @@ services:
condition: service_started condition: service_started
git: git:
condition: service_healthy condition: service_healthy
redis:
condition: service_healthy
mariadb: mariadb:
condition: service_healthy condition: service_healthy
volumes: volumes:

View file

@ -7,6 +7,10 @@ bash $dir/test-mysql-entrypoint.sh
sed -ri "s;^(aur_location) = .+;\1 = https://localhost:8444;" conf/config sed -ri "s;^(aur_location) = .+;\1 = https://localhost:8444;" conf/config
sed -ri 's/^(name) = .+/\1 = aurweb/' conf/config sed -ri 's/^(name) = .+/\1 = aurweb/' conf/config
# Setup Redis for FastAPI.
sed -ri 's/^(cache) = .+/\1 = redis/' conf/config
sed -ri 's|^(redis_address) = .+|\1 = redis://redis|' conf/config
sed -ri "s|^(git_clone_uri_anon) = .+|\1 = https://localhost:8444/%s.git|" conf/config.defaults sed -ri "s|^(git_clone_uri_anon) = .+|\1 = https://localhost:8444/%s.git|" conf/config.defaults
sed -ri "s|^(git_clone_uri_priv) = .+|\1 = ssh://aur@localhost:2222/%s.git|" conf/config.defaults sed -ri "s|^(git_clone_uri_priv) = .+|\1 = ssh://aur@localhost:2222/%s.git|" conf/config.defaults

2
docker/health/redis.sh Executable file
View file

@ -0,0 +1,2 @@
#!/bin/bash
exec pgrep redis-server

6
docker/redis-entrypoint.sh Executable file
View file

@ -0,0 +1,6 @@
#!/bin/bash
set -eou pipefail
sed -ri 's/^bind .*$/bind 0.0.0.0 -::1/g' /etc/redis/redis.conf
exec "$@"

View file

@ -14,6 +14,7 @@ pacman -Syu --noconfirm --noprogressbar \
python-pytest-asyncio python-coverage hypercorn python-bcrypt \ python-pytest-asyncio python-coverage hypercorn python-bcrypt \
python-email-validator openssh python-lxml mariadb mariadb-libs \ python-email-validator openssh python-lxml mariadb mariadb-libs \
python-isort flake8 cgit uwsgi uwsgi-plugin-cgi php php-fpm \ python-isort flake8 cgit uwsgi uwsgi-plugin-cgi php php-fpm \
python-asgiref uvicorn python-feedgen memcached php-memcached python-asgiref uvicorn python-feedgen memcached php-memcached \
python-redis redis
exec "$@" exec "$@"

2
docker/scripts/run-redis.sh Executable file
View file

@ -0,0 +1,2 @@
#!/bin/bash
exec /usr/bin/redis-server /etc/redis/redis.conf