mirror of
https://github.com/standardebooks/web.git
synced 2025-07-12 09:32:24 -04:00
Dockerfile, based on the README installation steps
This commit is contained in:
parent
8f30ee2530
commit
0ffcb889e9
3 changed files with 51 additions and 0 deletions
25
Dockerfile
Normal file
25
Dockerfile
Normal file
|
@ -0,0 +1,25 @@
|
|||
FROM ubuntu:20.04
|
||||
|
||||
RUN apt-get update
|
||||
RUN DEBIAN_FRONTEND=noninteractive apt-get install -y composer php-fpm php-cli php-gd php-xml php-apcu php-mbstring php-intl apache2 apache2-utils libfcgi0ldbl task-spooler
|
||||
RUN apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
|
||||
|
||||
RUN mkdir /standardebooks.org
|
||||
RUN mkdir /standardebooks.org/web
|
||||
RUN mkdir /var/log/local
|
||||
COPY . /standardebooks.org/web
|
||||
|
||||
WORKDIR /standardebooks.org/web
|
||||
RUN composer install
|
||||
|
||||
RUN openssl req -x509 -nodes -days 99999 -newkey rsa:4096 -subj "/CN=standardebooks.test" -keyout /standardebooks.org/web/config/ssl/standardebooks.test.key -sha256 -out /standardebooks.org/web/config/ssl/standardebooks.test.crt
|
||||
|
||||
RUN a2enmod headers
|
||||
RUN a2enmod expires
|
||||
RUN a2enmod ssl
|
||||
RUN a2enmod rewrite
|
||||
RUN a2enmod proxy
|
||||
RUN a2enmod proxy_fcgi
|
||||
|
||||
EXPOSE 443
|
||||
ENTRYPOINT ["/standardebooks.org/web/scripts/docker/start-server.sh"]
|
16
README.md
16
README.md
|
@ -58,6 +58,22 @@ git clone --bare https://github.com/standardebooks/david-lindsay_a-voyage-to-arc
|
|||
|
||||
If everything went well, `https://standardebooks.test/ebooks/` will show the one ebook you deployed.
|
||||
|
||||
## Installation using Docker
|
||||
|
||||
We provide a Dockerfile for testing code changes. You can build an image with:
|
||||
|
||||
```shell
|
||||
docker build . -t standardebooks
|
||||
```
|
||||
|
||||
Then run the built image with:
|
||||
|
||||
```shell
|
||||
docker run -dp 443:443 standardebooks:latest
|
||||
```
|
||||
|
||||
The site will now be available at `https://localhost/`, although as it’s a self-signed certificate you’ll need to accept whatever browser security warnings come up.
|
||||
|
||||
# Filesystem layout
|
||||
|
||||
- `/standardebooks.org/ebooks/` contains one directory per SE ebook, arranged in a flat hierarchy. These directories look like the URL-safe identifier for the ebook, end in `.git`, and are bare Git repos; they are the “source of truth” for SE ebooks.
|
||||
|
|
10
scripts/docker/start-server.sh
Executable file
10
scripts/docker/start-server.sh
Executable file
|
@ -0,0 +1,10 @@
|
|||
#!/bin/sh
|
||||
|
||||
ln -s /standardebooks.org/web/config/apache/standardebooks.test.conf /etc/apache2/sites-available/
|
||||
ln -s /standardebooks.org/web/config/php/fpm/standardebooks.org.ini /etc/php/*/cli/conf.d/
|
||||
ln -s /standardebooks.org/web/config/php/fpm/standardebooks.org.ini /etc/php/*/fpm/conf.d/
|
||||
ln -s /standardebooks.org/web/config/php/fpm/standardebooks.test.conf /etc/php/*/fpm/pool.d/
|
||||
a2ensite standardebooks.test
|
||||
/etc/init.d/apache2 start
|
||||
service php7.4-fpm restart
|
||||
tail -f /var/log/apache2/error.log
|
Loading…
Add table
Add a link
Reference in a new issue