Skip to Content
docsconfigurationApplication Backups

Last Updated: 3/9/2026


Application Backups

LinkAce provides an easy way to back up the whole application including the database.

Backup Destinations

  • Local filesystem
  • Any S3-compatible service:
    • Amazon AWS S3
    • Minio
    • Backblaze B2

How It Works

Under the hood, LinkAce uses the Spatie Backup package . Consult the package documentation for advanced configuration.

Automatic Cleanup

By default, the backup system will periodically purge old backups. For more details, read the default configuration .

Configure the Backups

Note: The system cron should be configured for automatic backups to work correctly. However, you may also create backups manually (see below).

Step 1: Edit Your .env File

Add the following line:

BACKUP_ENABLED=true

Step 2: Edit Your docker-compose.yml

Create a Backup Folder

First, create a backup folder to store the backups. The folder must be writable for other users:

mkdir ./backups chmod 0766 ./backups

Update docker-compose.yml

Open the docker-compose.yml file and remove the # in front of the backup volume line:

services: app: image: docker.io/linkace/linkace:latest volumes: - ./.env:/app/.env - ./backups:/app/storage/app/backups

Custom Docker Setup

If you run a custom Docker-based setup (e.g., via Portainer), adjust your container to mount a writable directory into /app/storage/app/backups.

That’s it! LinkAce will now create backups every night at 2am.

Configuration for LinkAce Backups

The following settings allow you to configure backups. All settings go to your .env file:

.env settingPossible valuesDefault valueDescription
BACKUP_ENABLEDtrue, falsefalseSet to true to enable application backups
BACKUP_DISKlocal_backups, s3local_backupsStorage for backups: local_backups saves to /storage/app/backups, s3 saves to configured S3 storage
BACKUP_CLEAN_HOUR24-hour time string01:00Hour for cleaning old backups. Format: ‘03:00’ for 3am or ‘14:00’ for 2pm
BACKUP_RUN_HOUR24-hour time string02:00Hour for creating new backup
BACKUP_NOTIFICATIONS_ENABLEDtrue, falsetrueSet to false to disable email notifications for cleanups or backups
BACKUP_NOTIFICATION_EMAILany email address[email protected]Valid email address to receive backup notifications
BACKUP_MAX_SIZEany number265Maximum size of all backups in Megabytes. Oldest backups deleted when reached
BACKUP_ARCHIVE_PASSWORDany stringnoneProtect your backups with a password

Example Configuration

BACKUP_ENABLED=true BACKUP_DISK=s3 AWS_ACCESS_KEY_ID=j85nRkzOgnlGc... AWS_SECRET_ACCESS_KEY=DA5nHUT2B2B... AWS_DEFAULT_REGION=eu-central-1 AWS_BUCKET=linkace

Backing Up to S3-Compatible Storage

To back up LinkAce to S3, add the following settings to your .env file:

.env settingPossible valuesDefault valueDescription
AWS_URLA valid URLemptyURL to access the AWS service or storage bucket. Often used for serving content via CloudFront
AWS_ENDPOINTA valid URLemptyCustom endpoint URL for AWS services, used with non-standard AWS setups (e.g., local S3 emulators)
AWS_BUCKETany stringemptyName of the S3 bucket where files will be stored or retrieved
AWS_ACCESS_KEY_IDany stringemptyAWS access key ID for authentication
AWS_SECRET_ACCESS_KEYany stringemptyAWS secret access key for secure authentication
AWS_DEFAULT_REGIONany stringemptyAWS region where your bucket or resources are located (e.g., us-east-1)
AWS_USE_PATH_STYLE_ENDPOINTtrue, falsefalseUse path-style (true) or virtual-hosted-style (false) URLs for S3 buckets

Example S3 Configuration

BACKUP_ENABLED=true BACKUP_DISK=s3 AWS_ACCESS_KEY_ID=j85nRkzOgnlGc... AWS_SECRET_ACCESS_KEY=DA5nHUT2B2B... AWS_DEFAULT_REGION=eu-central-1 AWS_BUCKET=linkace

Using a Third-Party S3-Compatible Service

Instead of Amazon AWS S3, you can use any S3-compatible service.

To connect to the service instead of AWS, set the correct endpoint in your .env file:

AWS_ENDPOINT=https://minio.example.com # Some non-AWS services use paths to reference buckets and endpoints. # If this is the case, add the following line: AWS_USE_PATH_STYLE_ENDPOINT=true

Manually Creating Backups

Instead of relying on the automated backup process, you may run backups manually.

Run a Backup via Docker

docker exec linkace-app-1 php artisan backup:run

Run a Backup via PHP

cd /path/to/your/linkace php artisan backup:run