Complete Docker Implementation
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
Apologies, the commits here: - 2a3df086d314fcf5c249cc48a83029662fc50ed0 - Docker: add [c]git, nginx, fastapi, php-fpm, ca - 5bd46d18a3cd645ae2164ee3e151ac10524355a2 - Improve Docker ecosystem On Thu, Jun 24, 2021 at 08:15:57PM -0700, Kevin Morris wrote:
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
-- Kevin Morris Software Developer Identities: - kevr @ Libera
This is awesome! which mode would you recommend if I want to use it for UI development and localization? On Fri, Jun 25, 2021, 06:32 Kevin Morris via aur-dev < aur-dev@lists.archlinux.org> wrote:
Apologies, the commits here:
- 2a3df086d314fcf5c249cc48a83029662fc50ed0 - Docker: add [c]git, nginx, fastapi, php-fpm, ca - 5bd46d18a3cd645ae2164ee3e151ac10524355a2 - Improve Docker ecosystem
On Thu, Jun 24, 2021 at 08:15:57PM -0700, Kevin Morris wrote:
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
-- Kevin Morris Software Developer
Identities: - kevr @ Libera
On Fri, 25 Jun 2021 at 03:16, Kevin Morris via aur-dev <aur-dev@lists.archlinux.org> wrote:
Some new commits have been merged into the `pu` branch which implement the majority of the codebase in Docker services.
Cool! FWIW, I've been maintaining a Dockerfile to run an aurweb instance as part of the aconfmgr integration test suite. https://github.com/CyberShadow/aconfmgr/tree/master/test#aur-integration-tes...
participants (3)
-
Kevin Morris
-
Vladimir Panteleev
-
Yaron Shahrabani