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