more docs

This commit is contained in:
Christian Winther 2024-01-15 15:14:44 +00:00
parent 519704cbe8
commit 9814a39fd8
2 changed files with 31 additions and 6 deletions

View file

@ -8,6 +8,9 @@ version: "3"
services: services:
# HTTP/HTTPS proxy # HTTP/HTTPS proxy
# #
# Sits in front of the *real* webserver and manages SSL and (optionally)
# load-balancing between multiple web servers
#
# See: https://github.com/nginx-proxy/nginx-proxy/tree/main/docs # See: https://github.com/nginx-proxy/nginx-proxy/tree/main/docs
proxy: proxy:
image: nginxproxy/nginx-proxy:1.4 image: nginxproxy/nginx-proxy:1.4

View file

@ -27,11 +27,23 @@ A safe starter/small instance hardware for 25 users and blow are:
* **Storage** `20-50 GB` HDD is fine, but ideally SSD or NVMe, *especially* for the database. * **Storage** `20-50 GB` HDD is fine, but ideally SSD or NVMe, *especially* for the database.
* **Network** `100 Mbit/s` or faster. * **Network** `100 Mbit/s` or faster.
### Other ### Domain and DNS
* A **Domain** you need a domain (or subdomain) where your Pixelfed server will be running (for example, `pixelfed.social`) * A **Domain** (or subdomain) is needed for the Pixelfed server (for example, `pixelfed.social` or `pixelfed.mydomain.com`)
* (Optional) An **Email/SMTP provider** for sending e-mails to your users, such as e-mail confirmation and notifications. * Having the required `A`/`CNAME` DNS records for your domain (above) pointing to your server.
* (Optional) An **Object Storage** provider for storing all images remotely, rather than locally on your server. * Typically an `A` record for the root (sometimes shown as `@`) record for `mydomain.com`.
* Possibly an `A` record for `www.` subdomain as well.
### Network
* Port `80` (HTTP) and `443` (HTTPS) ports forwarded to the server.
* Example for Ubuntu using [`ufw`](https://help.ubuntu.com/community/UFW) for port `80`: `ufw allow 80`
* Example for Ubuntu using [`ufw`](https://help.ubuntu.com/community/UFW) for port `443`: `ufw allow 443`
### Optional
* An **Email/SMTP provider** for sending e-mails to your users, such as e-mail confirmation and notifications.
* An **Object Storage** provider for storing all images remotely, rather than locally on your server.
#### E-mail / SMTP provider #### E-mail / SMTP provider
@ -89,7 +101,7 @@ Run the following command to copy the file: `cp .env.docker .env`
### Modifying the configuration file ### Modifying the configuration file
The configuration file is *quite* long, but the good news is that you can ignore *most* of it, all of the *server* specific settings are configured for you out of the box. The configuration file is *quite* long, but the good news is that you can ignore *most* of it, most of the *server-specific* settings are configured for you out of the box.
The minimum required settings you **must** change is: The minimum required settings you **must** change is:
@ -122,7 +134,15 @@ docker compose up -d
This will download all the required Docker images, start the containers, and being the automatic setup. This will download all the required Docker images, start the containers, and being the automatic setup.
You can follow the logs by running `docker compose logs --tail=100 --follow`. You can follow the logs by running `docker compose logs` - you might want to scroll to the top to logs from the start.
You can use the CLI flag `--tail=100` to only see the most recent (`100` in this example) log lines for each container.
You can use the CLI flag `--follow` to continue to see log output from the containers.
You can combine `--tail=100` and `--follow` like this `docker compose logs --tail=100 --follow`.
If you only care about specific contaieners, you can add them to the end of the command like this `docker compose logs web worker proxy`.
## Runtimes ## Runtimes
@ -130,6 +150,8 @@ The Pixelfed Dockerfile support multiple target *runtimes* ([Apache](#apache), [
You can consider a *runtime* target as individual Dockerfiles, but instead, all of them are build from the same optimized Dockerfile, sharing +90% of their configuration and packages. You can consider a *runtime* target as individual Dockerfiles, but instead, all of them are build from the same optimized Dockerfile, sharing +90% of their configuration and packages.
**If you are unsure of which runtime to choose, please use the [Apache runtime](#apache) it's the most straightforward one and also the default**
### Apache ### Apache
Building a custom Pixelfed Docker image using Apache + mod_php can be achieved the following way. Building a custom Pixelfed Docker image using Apache + mod_php can be achieved the following way.