# Setup & Configuration

We need to install the service through Portainer and configure any necessary settings.

# Preparation

There are some things we need to do in preparation to install this service.

<p class="callout info">Block ads in your archival copies by installing [AdGuard Home](https://hub.subspace.services/books/adguard-home "AdGuard Home").</p>

## Volumes

<details id="bkmrk-media-folders-radarr"><summary>Persistent Data</summary>

This is where the service will store its own application data and ensures we can quickly update the service image.

<p class="callout warning">Ensure your user has permissions to access the folder</p>

</details>## Environment

<details id="bkmrk-tz-this-is-the-curre"><summary>TZ</summary>

This is the current time zone formatted using the [tz database.](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones)

<p class="callout info">*For example:* America/Vancouver</p>

</details><details id="bkmrk-gid-%C2%A0"><summary>PUID</summary>

This is the numeric ID of the user account on Debian. If you are unsure, open a terminal and run:

```bash
id -u
```

</details><details id="bkmrk-pgid-this-is-the-num"><summary>PGID</summary>

This is the numeric ID of the user account's group on Debian. If you are unsure, open a terminal and run:

```bash
id -g
```

</details><details id="bkmrk-admin_password-this-"><summary>ADMIN\_USERNAME</summary>

This is the username used to create the admin account on the first run.

<p class="callout warning">This should be removed from the Compose configuration after the first run.</p>

</details><details id="bkmrk-admin_password-this--1"><summary>ALLOWED\_HOSTS</summary>

This can be used to restrict traffic to specific domains, like archivebox.example.com.

Setting this to '\*' allows all incoming traffic. This should be set if ArchiveBox is being connected to the internet using SWAG.

<p class="callout info">*Recommended:* \*</p>

</details><details id="bkmrk-admin_password-this--2"><summary>PUBLIC\_INDEX</summary>

Configures whether your ArchiveBox index of websites can be anonymously accessed by the public.

<p class="callout info">*Recommended:* False</p>

</details><details id="bkmrk-admin_password-this--3"><summary>PUBLIC\_SNAPSHOTS</summary>

Configures whether your ArchiveBox snapshots can be anonymously accessed by the public.

<p class="callout info">*Recommended:* False</p>

</details><details id="bkmrk-admin_password-this--4"><summary>PUBLIC\_ADD\_VIEW</summary>

Configures whether your ArchiveBox can have archival backups requested anonymously by the public.

<p class="callout info">*Recommended:* False</p>

</details><details id="bkmrk-admin_password-this--5"><summary>MEDIA\_MAX\_SIZE</summary>

This is the maximum allowed size for each individual media file archive

<p class="callout info">*Recommended: 750m*</p>

</details><details id="bkmrk-admin_password-this--6"><summary>TIMEOUT</summary>

This is the maximum amount of time ArchiveBox will spend trying to archive a URL. This can be increased if you encounter frequent timeout errors.

<p class="callout info">*Recommended:* 60</p>

</details><details id="bkmrk-admin_password-this--7"><summary>CHECK\_SSL\_VALIDITY</summary>

This verifies the SSL certificate used for secure connections before downloading an archive. This can ensure that a website is who they say they are and do not contain malicious content.

<p class="callout info">*Recommended:* True</p>

</details><details id="bkmrk-admin_password-this--8"><summary>SAVE\_ARCHIVE\_DOT\_ORG</summary>

This is whether ArchiveBox will request for archive.org to backup URLs by default

<p class="callout info">*Recommended:* True</p>

</details>### Passwords

<p class="callout danger">Keep these securely stored in a password manager, such as [VaultWarden](https://hub.subspace.services/books/vaultwarden "VaultWarden").</p>

<details id="bkmrk-owncloud_admin_passw"><summary>ADMIN\_PASSWORD</summary>

This is the password for the administrator account that will be used within the web interface.

<p class="callout warning">It is important to use secure passphrase that is easy-to-remember.</p>

</details>

# Installation

The service can be installed through the Portainer web interface.

<p class="callout info">Learn about [creating a new stack](https://hub.subspace.services/books/portainer/page/creating-a-new-stack "Creating a New Stack").</p>

## Docker Compose

Use the following code to install the service:

```yaml
---
services:
    archivebox:
        image: archivebox/archivebox:latest
        ports:
            - 8820:8000
        network_mode: bridge
        restart: unless-stopped
        volumes:
            # Persistent Data
            - /srv/archivebox:/data
        environment:
            - ADMIN_USERNAME=
            - ADMIN_PASSWORD=
            - ALLOWED_HOSTS=
            - PUBLIC_INDEX=False
            - PUBLIC_SNAPSHOTS=False
            - PUBLIC_ADD_VIEW=False
            - PUID=1000
            - PGID=1000
            - MEDIA_MAX_SIZE=750m
            - TIMEOUT=60
            - CHECK_SSL_VALIDITY=True
            - SAVE_ARCHIVE_DOT_ORG=True
```

# Updating

<p class="callout success">Re-Deploy the Stack</p>

This service has been optimized for running in Docker.

This allows you to [re-deploy the stack through Portainer](https://hub.subspace.services/books/portainer/page/updating-a-stack "Updating a Stack") to download the latest updates.