mirror of
https://gitlab.archlinux.org/archlinux/aurweb.git
synced 2025-02-03 10:43:03 +01:00
Now, we have a full collection of services used to run aurweb over HTTPS using a self-signed CA. New Docker services: - `ca` - Certificate authority services - When the `ca` service is run, it will (if needed) generate a CA certificate and leaf certificate for localhost AUR access. This ca is then shared with things like nginx to use the leaf certificate. Users can import `./cache/ca.root.pem` into their browser or ca-certificates as a root CA who issued aurweb's certificate. - `git` - Start sshd and set it up for aur git access - `cgit` - Serve cgit with uwsgi on port 3000 - `fastapi` - Serve our FastAPI app with `hypercorn` on port 8000 - `php-fpm` - Serve our PHP-wise aurweb - `nginx` - Serve FastAPI, PHP and CGit with an HTTPS certificate. - PHP: https://localhost:8443 - PHP CGit: https://localhost:8443/cgit - FastAPI: https://localhost:8444 - FastAPI CGit: https://localhost:8444/cgit Short of it: Run the following in a shell to run PHP and FastAPI servers on port **8443** and **8444**, respectively. $ docker-compose up nginx This will host the PHP, FastAPI, CGit and Git ecosystems. Git SSH can be knocked at `aur@localhost:2222` as long as you have a valid public key in the aurweb database. Signed-off-by: Kevin Morris <kevr@0cost.org>
33 lines
1.1 KiB
Docker
33 lines
1.1 KiB
Docker
FROM archlinux:base-devel
|
|
|
|
# Setup some default system stuff.
|
|
RUN bash -c 'echo "127.0.0.1 localhost" >> /etc/hosts'
|
|
RUN bash -c 'echo "::1 localhost" >> /etc/hosts'
|
|
RUN ln -sf /usr/share/zoneinfo/UTC /etc/localtime
|
|
|
|
RUN mkdir -p .pkg-cache
|
|
|
|
# Install dependencies.
|
|
RUN pacman -Syu --noconfirm --noprogressbar \
|
|
--cachedir .pkg-cache git gpgme protobuf pyalpm \
|
|
python-mysqlclient python-pygit2 python-srcinfo python-bleach \
|
|
python-markdown python-sqlalchemy python-alembic python-pytest \
|
|
python-werkzeug python-pytest-tap python-fastapi nginx python-authlib \
|
|
python-itsdangerous python-httpx python-jinja python-pytest-cov \
|
|
python-requests python-aiofiles python-python-multipart \
|
|
python-pytest-asyncio python-coverage hypercorn python-bcrypt \
|
|
python-email-validator openssh python-lxml mariadb mariadb-libs \
|
|
python-isort flake8 cgit uwsgi uwsgi-plugin-cgi php php-fpm
|
|
|
|
RUN useradd -U -d /aurweb -c 'AUR User' aur
|
|
|
|
COPY docker /docker
|
|
|
|
WORKDIR /aurweb
|
|
COPY . .
|
|
|
|
ENV PYTHONPATH=/aurweb
|
|
ENV AUR_CONFIG=conf/config
|
|
|
|
RUN make -C po all install
|
|
RUN python setup.py install
|