mirror of
https://git.lolcat.ca/lolcat/4get.git
synced 2024-12-24 23:56:34 -05:00
152 lines
3.4 KiB
Markdown
152 lines
3.4 KiB
Markdown
#### Install guide for Docker
|
|
|
|
When using docker container any environment variables prefixed with `FOURGET_` will be added to the generated config located at `/var/www/html/4get/data/config.php`
|
|
|
|
When lists of data is expected in [data/config.php](../data/config.php), such as `INSTANCES`, you can pass in a comma separated string via environment variable.
|
|
|
|
Example:
|
|
`FOURGET_INSTANCES="https://4get.ca,https://domain.tld"`
|
|
|
|
#### Special environment variables
|
|
|
|
| Name | value | Example |
|
|
| - | - | - |
|
|
| FOURGET_PROTO | "http" or "https" | "https" |
|
|
|
|
|
|
#### Important directories
|
|
|
|
| Mountpoint | Description |
|
|
| - | - |
|
|
| /etc/4get/certs | SSL certificate directory |
|
|
| /var/www/html/4get/banner | Custom Banners directory |
|
|
| /var/www/html/4get/data/captcha | Captcha dataset |
|
|
|
|
|
|
the certificate directory `/etc/4get/certs` expects files named `fullchain.pem` and `privkey.pem`
|
|
|
|
The captcha dataset should have a subdirectory for each category. In each category, images should be named from 1.png to X.png, and be 100x100 in size.
|
|
|
|
example directory structure:
|
|
|
|
```
|
|
captcha/
|
|
birds/
|
|
1.png
|
|
2.png
|
|
3.png
|
|
anime/
|
|
1.png
|
|
2.png
|
|
```
|
|
|
|
For more information on configuration view [data/config.php](../data/config.php)
|
|
|
|
#### Usage
|
|
|
|
You can start 4get with
|
|
|
|
```
|
|
docker run -d -p 80:80 -e FOURGET_SERVER_NAME="4get.ca" -e FOURGET_PROTO="http" luuul/4get:latest
|
|
```
|
|
|
|
...Or with SSL:
|
|
|
|
```
|
|
docker run -d -p 443:443 -e FOURGET_SERVER_NAME="4get.ca" -e FOURGET_PROTO="https" -v /etc/letsencrypt/live/domain.tld:/etc/4get/certs luuul/4get:latest
|
|
```
|
|
|
|
|
|
#### With Docker Compose
|
|
|
|
Replace relevant values and start with `docker compose up -d`
|
|
|
|
##### HTTP
|
|
|
|
```
|
|
# docker-compose.yaml
|
|
version: "3.7"
|
|
|
|
services:
|
|
fourget:
|
|
image: luuul/4get:latest
|
|
restart: unless-stopped
|
|
environment:
|
|
- FOURGET_PROTO=http
|
|
- FOURGET_SERVER_NAME=4get.ca
|
|
|
|
ports:
|
|
- "80:80"
|
|
```
|
|
|
|
##### HTTPS
|
|
|
|
```
|
|
# docker-compose.yaml
|
|
version: "3.7"
|
|
|
|
services:
|
|
fourget:
|
|
image: luuul/4get:latest
|
|
restart: unless-stopped
|
|
environment:
|
|
- FOURGET_PROTO=https
|
|
- FOURGET_SERVER_NAME=4get.ca
|
|
|
|
ports:
|
|
- "80:80"
|
|
- "443:443"
|
|
|
|
volumes:
|
|
- /etc/letsencrypt/live/domain.tld:/etc/4get/certs
|
|
```
|
|
|
|
##### Captcha Enabled
|
|
|
|
Set `FOURGET_BOT_PROTECTION=1` and mount a directory containing captcha files to `/var/www/html/4get/data/captcha`
|
|
|
|
|
|
```
|
|
# docker-compose.yaml
|
|
version: "3.7"
|
|
|
|
services:
|
|
fourget:
|
|
image: luuul/4get:latest
|
|
restart: unless-stopped
|
|
environment:
|
|
- FOURGET_PROTO=http
|
|
- FOURGET_SERVER_NAME=4get.ca
|
|
- FOURGET_BOT_PROTECTION=1
|
|
|
|
ports:
|
|
- "80:80"
|
|
|
|
volumes:
|
|
- ./captcha:/var/www/html/4get/data/captcha
|
|
```
|
|
|
|
##### Custom Banners
|
|
|
|
```
|
|
# docker-compose.yaml
|
|
version: "3.7"
|
|
|
|
services:
|
|
fourget:
|
|
image: luuul/4get:latest
|
|
restart: unless-stopped
|
|
environment:
|
|
- FOURGET_PROTO=http
|
|
- FOURGET_SERVER_NAME=4get.ca
|
|
|
|
ports:
|
|
- "80:80"
|
|
|
|
volumes:
|
|
- ./banners:/var/www/html/4get/banner
|
|
```
|
|
|
|
##### Tor
|
|
|
|
You can route incoming and outgoing requests through tor by following [docker tor documentation](./docker_tor.md)
|