mirror of
https://github.com/seanmorley15/AdventureLog.git
synced 2025-08-04 20:55:19 +02:00
feat(devsecops): updated documentation to reference new configuration
This commit is contained in:
parent
bc9a9a631d
commit
324506ea10
3 changed files with 57 additions and 15 deletions
|
@ -2,7 +2,7 @@
|
|||
|
||||
Docker is the preferred way to run AdventureLog on your local machine. It is a lightweight containerization technology that allows you to run applications in isolated environments called containers.
|
||||
|
||||
> **Note**: This guide mainly focuses on installation with a Linux-based host machine, but the steps are similar for other operating systems.
|
||||
> **Note**: This guide mainly focuses on installation with a Linux-based host machine, but the steps are similar for other operating systems or when using Podman.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
|
@ -29,16 +29,7 @@ If running on an ARM based machine, you will need to use a different PostGIS Ima
|
|||
|
||||
## Configuration
|
||||
|
||||
The `.env` file contains all the configuration settings for your AdventureLog instance. Here’s a breakdown of each section:
|
||||
|
||||
### 🌐 Frontend (web)
|
||||
|
||||
| Name | Required | Description | Default Value |
|
||||
| ------------------- | --------- | ---------------------------------------------------------------------------------------------------------------------------------- | ----------------------- |
|
||||
| `PUBLIC_SERVER_URL` | Yes | Used by the frontend SSR server to connect to the backend. Almost every user user will **never have to change this from default**! | `http://server:8000` |
|
||||
| `ORIGIN` | Sometimes | Needed only if not using HTTPS. Set it to the domain or IP you'll use to access the frontend. | `http://localhost:8015` |
|
||||
| `BODY_SIZE_LIMIT` | Yes | Maximum upload size in bytes. | `Infinity` |
|
||||
| `FRONTEND_PORT` | Yes | Port that the frontend will run on inside Docker. | `8015` |
|
||||
The `docker-compose.yml` file contains all the configuration settings for your AdventureLog instance. Here’s a breakdown of each environment variable (at the top of the file):
|
||||
|
||||
### 🐘 PostgreSQL Database
|
||||
|
||||
|
@ -53,6 +44,7 @@ The `.env` file contains all the configuration settings for your AdventureLog in
|
|||
|
||||
| Name | Required | Description | Default Value |
|
||||
| ----------------------- | -------- | ---------------------------------------------------------------------------------- | --------------------------------------------- |
|
||||
| `PHHOST` | Yes | The hostname of the postgres container. | `pg` |
|
||||
| `SECRET_KEY` | Yes | Django secret key. Change this in production! | `changeme123` |
|
||||
| `DJANGO_ADMIN_USERNAME` | Yes | Default Django admin username. | `admin` |
|
||||
| `DJANGO_ADMIN_PASSWORD` | Yes | Default Django admin password. | `admin` |
|
||||
|
@ -63,6 +55,15 @@ The `.env` file contains all the configuration settings for your AdventureLog in
|
|||
| `BACKEND_PORT` | Yes | Port that the backend will run on inside Docker. | `8016` |
|
||||
| `DEBUG` | No | Should be `False` in production. | `False` |
|
||||
|
||||
### 🌐 Frontend (web)
|
||||
|
||||
| Name | Required | Description | Default Value |
|
||||
| ------------------- | --------- | ---------------------------------------------------------------------------------------------------------------------------------- | ----------------------- |
|
||||
| `PUBLIC_SERVER_URL` | Yes | Used by the frontend SSR server to connect to the backend. Almost every user user will **never have to change this from default**! | `http://backend:8000` |
|
||||
| `ORIGIN` | Sometimes | Needed only if not using HTTPS. Set it to the domain or IP you'll use to access the frontend. | `http://localhost:8015` |
|
||||
| `BODY_SIZE_LIMIT` | Yes | Maximum upload size in bytes. | `Infinity` |
|
||||
| `FRONTEND_PORT` | Yes | Port that the frontend will run on inside Docker. | `8015` |
|
||||
|
||||
## Optional Configuration
|
||||
|
||||
- [Disable Registration](../configuration/disable_registration.md)
|
||||
|
@ -71,9 +72,50 @@ The `.env` file contains all the configuration settings for your AdventureLog in
|
|||
- [Immich Integration](../configuration/immich_integration.md)
|
||||
- [Umami Analytics](../configuration/analytics.md)
|
||||
|
||||
## Additional Configuration Methods
|
||||
|
||||
### Secret Files
|
||||
If you're not comfortable storing sensitive values like `SECRET_KEY` or any `PASSWORD` directly in the environment file, you can either use Docker secrets or bind-mount a text file containing the secret value. In this case, append `_FILE` to the environment variable name and set its value to the file path.
|
||||
|
||||
For example, instead of:
|
||||
|
||||
```yml
|
||||
SECRET_KEY: your_secret_value
|
||||
```
|
||||
|
||||
You can use:
|
||||
|
||||
```yml
|
||||
SECRET_KEY_FILE: /run/secrets/secret_key # For a docker secret
|
||||
SECRET_KEY_FILE: /some/directory/secret_key # For a volume bind mount
|
||||
```
|
||||
|
||||
Make sure the any secret files are **not** committed to version control to keep your secrets safe.
|
||||
|
||||
### .env File
|
||||
|
||||
If you prefer not to hardcode sensitive values like `SECRET_KEY` or any `PASSWORD` directly in your `docker-compose.yml` file, you can reference them from a `.env` file. Docker Compose will automatically read this file and substitute the values into your configuration. An example .env file is found [on GitHub](https://github.com/seanmorley15/AdventureLog/blob/main/.env.example).
|
||||
|
||||
For example, in your `.env` file:
|
||||
|
||||
```
|
||||
|
||||
SECRET\_KEY=your\_secret\_value
|
||||
|
||||
````
|
||||
|
||||
And in your `docker-compose.yml`:
|
||||
|
||||
```yaml
|
||||
environment:
|
||||
- SECRET_KEY=${SECRET_KEY}
|
||||
````
|
||||
|
||||
Make sure the `.env` file is **not** committed to version control to keep your secrets safe.
|
||||
|
||||
## Running the Containers
|
||||
|
||||
Once you've configured `.env`, you can start AdventureLog with:
|
||||
Once you've configured `docker-compose.yml`, you can start AdventureLog with:
|
||||
|
||||
```bash
|
||||
docker compose up -d
|
||||
|
|
|
@ -5,7 +5,7 @@ Install **AdventureLog** in seconds using our automated script.
|
|||
## 🧪 One-Liner Install
|
||||
|
||||
```bash
|
||||
curl -sSL https://get.adventurelog.app | bash
|
||||
bash -c "$(curl -sSL https://get.adventurelog.app)"
|
||||
```
|
||||
|
||||
This will:
|
||||
|
@ -27,7 +27,7 @@ This will:
|
|||
The script automatically:
|
||||
|
||||
1. Verifies Docker is installed and running
|
||||
2. Downloads `docker-compose.yml` and `.env`
|
||||
2. Downloads `docker-compose.yml`
|
||||
3. Prompts you for domain and port settings
|
||||
4. Waits for services to start
|
||||
5. Prints success info with next steps
|
||||
|
|
|
@ -4,4 +4,4 @@ Traefik is a modern HTTP reverse proxy and load balancer that makes deploying mi
|
|||
|
||||
AdventureLog has a built-in Traefik configuration that makes it easy to deploy and manage your AdventureLog instance.
|
||||
|
||||
The most recent version of the Traefik `docker-compose.yml` file can be found in the [AdventureLog GitHub repository](https://github.com/seanmorley15/AdventureLog/blob/main/docker-compose-traefik.yaml).
|
||||
The most recent version of [docker-compose.yml](https://github.com/seanmorley15/AdventureLog/blob/main/docker-compose.yml) file includes example Traefik container labels. To deploy Traefik itself, consult the [Traefik v3.x documentation](https://doc.traefik.io/traefik/).
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue