Complete Docker Implementation
Kevin Morris
kevr at 0cost.org
Fri Jun 25 03:15:57 UTC 2021
Hello aur-dev,
Some new commits have been merged into the `pu` branch which
implement the majority of the codebase in Docker services.
First, build the `aurweb:latest` Docker image:
$ docker build --tag aurweb:latest .
Once that's built, you can now use a myriad of `docker-compose`
services:
$ docker-compose up mariadb
... Host mariadb.
Accessible on localhost:13306, user: aur, pass: aur,
databases: aurweb, aurweb_test.
$ docker-compose up git
... Setup aur.git and host an aurweb sshd
Accessible on localhost:2222
$ docker-compose up nginx
... Host PHP and FastAPI on separate ports.
This service depends on the `ca` service, which generates a
self signed CA certificate and moves it into the mounted
$AURWEB/cache volume with the name `ca.root.pem`. Users can
import this into their ca-certificates or web browser. This
CA root certificate will persist until it is deleted from
./cache.
Accessible on https://localhost:8443 (PHP) and
https://localhost:8444 (FastAPI).
$ docker-compose up test
... Run comprehensive tests (sharness, pytest-mysql, pytest-sqlite).
$ docker-compose up sharness
... Run sharness tests.
$ docker-compose up pytest-sqlite
... Run pytests using SQLite.
Note: This service as well as *-mysql produce a ./cache/.coverage
file which can be used on the host by running
`./util/fix-coverage ./cache/.coverage` from aurweb's root
directory.
$ docker-compose up pytest-mysql
... Run pytests using MySQL.
A complete list of Docker services:
- ca: Certificate Authority
- mariadb
- git
- cgit
- php-fpm
- fastapi
- nginx
- sharness
- pytest-mysql
- pytest-sqlite
- test
A list of Docker volumes:
- `./cache/`: Mounted volume data cache directory.
- Hosts `ca.root.pem`, `localhost.{key,cert}.pem`.
- `./logs/`: Various logs from services in docker.
Any improvements are welcome. Thanks for working on aurweb with
us!
Regards,
Kevin Morris
kevr @ Libera
--
Kevin Morris
Software Developer
Identities:
- kevr @ Libera
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <https://lists.archlinux.org/pipermail/aur-dev/attachments/20210624/d4ecba55/attachment.sig>
More information about the aur-dev
mailing list