elestio/pixelfed

Verified Publisher

By Elestio

Updated 7 months ago

Pixelfed, verified and packaged by Elestio

Image
Networking
Security
Content management system
8

10K+

elestio/pixelfed repository overview

elest.io

Discord Elestio examples Blog

Pixelfed, verified and packaged by Elestio

Pixelfed is an open source, decentralized alternative to Instagram that recently added a tool for importing all your Instagram photos. This means you can automatically give all of the photos and videos you uploaded to Instagram a new home.

pixelfed

Deploy a fully managed Pixelfed on elest.io if you want automated backups, reverse proxy with SSL termination, firewall, automated OS & Software updates, and a team of Linux experts and open source enthusiasts to ensure your services are always safe, and functional.

deploy

Why use Elestio images?

  • Elestio stays in sync with updates from the original source and quickly releases new versions of this image through our automated processes.
  • Elestio images provide timely access to the most recent bug fixes and features.
  • Our team performs quality control checks to ensure the products we release meet our high standards.

Usage

Git clone

You can deploy it easily with the following command:

git clone https://github.com/elestio-examples/pixelfed.git

Copy the .env file from tests folder to the project directory

cp ./tests/.env ./.env

Edit the .env file with your own values.

Run the project with the following command

./scripts/presInstall.sh
docker-compose up -d
./scripts/postInstall.sh

You can access the Web UI at: http://your-domain:8686

Docker-compose

Here are some example snippets to help you get started creating a container.

version: "3.3"

services:
  app:
  image: elestio/pixelfed:latest
  restart: always
  env_file:
    - ./.env
  volumes:
    - ./app-storage:/var/www/storage - "./.env:/var/www/.env"
  ports:
    - "172.17.0.1:8686:80"
  depends_on:
    - db
    - redis

  worker:
    image: elestio/pixelfed:latest
    restart: always
    env_file:
      - ./.env
    volumes:
      - ./app-storage:/var/www/storage
      - "./.env:/var/www/.env"
    command: gosu www-data php artisan horizon
    depends_on:
      - db
      - redis

  db:
    image: mariadb:jammy
    restart: always
    command: --default-authentication-plugin=mysql_native_password
    env_file:
      - ./.env
    volumes:
      - "./db-data:/var/lib/mysql"
    ports:
      - 172.17.0.1:4406:3306

  redis:
    image: elestio/redis:7.0
    restart: always
    env_file:
      - ./.env
    volumes:
      - "./redis-data:/data"
    command: ["redis-server", "--requirepass", "${REDIS_PASSWORD}"]
Environment variables
VariableValue (example)
ADMIN_EMAIL[email protected]
ADMIN_PASSWORDyour-password
APP_NAMEPixelfed Prod
APP_ENVproduction
APP_DEBUGfalse
APP_URLhttps://your.domain.com
APP_DOMAINyour.domain.com
ADMIN_DOMAINyour.domain.com
SESSION_DOMAINyour.domain.com
OPEN_REGISTRATIONtrue
ENFORCE_EMAIL_VERIFICATIONfalse
PF_MAX_USERS2000
OAUTH_ENABLEDtrue
APP_TIMEZONEUTC
APP_LOCALEen
LIMIT_ACCOUNT_SIZEtrue
MAX_ACCOUNT_SIZE2000000
MAX_PHOTO_SIZE15000
MAX_AVATAR_SIZE2000
MAX_CAPTION_LENGTH500
MAX_BIO_LENGTH125
MAX_NAME_LENGTH30
MAX_ALBUM_LENGTH4
IMAGE_QUALITY80
PF_OPTIMIZE_IMAGEStrue
PF_OPTIMIZE_VIDEOStrue
ADMIN_ENV_EDITORfalse
ACCOUNT_DELETIONtrue
ACCOUNT_DELETE_AFTERfalse
MAX_LINKS_PER_POST0
INSTANCE_PUBLIC_HASHTAGSfalse
INSTANCE_PUBLIC_LOCAL_TIMELINEfalse
STORIES_ENABLEDfalse
RESTRICTED_INSTANCEfalse
MAIL_DRIVERsmtp
MAIL_HOST172.17.0.1
MAIL_PORT25
MAIL_FROM_ADDRESS[email protected]
MAIL_FROM_NAMEPixelfed
MAIL_ENCRYPTIONnull
DB_CONNECTIONmysql
DB_DATABASEpixelfed_prod
DB_HOSTdb
DB_PASSWORDyour-password
DB_PORT3306
DB_USERNAMEpixelfed
MYSQL_DATABASEpixelfed_prod
MYSQL_PASSWORDyour-password
MYSQL_RANDOM_ROOT_PASSWORDtrue
MYSQL_USERpixelfed
REDIS_CLIENTphpredis
REDIS_SCHEMEtcp
REDIS_HOSTredis
REDIS_PASSWORDredis_password
REDIS_PORT6379
REDIS_DATABASE0
HORIZON_PREFIXhorizon-
EXP_LCfalse
EXP_RECfalse
EXP_LOOPSfalse
ACTIVITY_PUBfalse
AP_REMOTE_FOLLOWfalse
AP_SHAREDINBOXfalse
AP_INBOXfalse
AP_OUTBOXfalse
ATOM_FEEDStrue
NODEINFOtrue
WEBFINGERtrue
FILESYSTEM_DRIVERlocal
FILESYSTEM_CLOUDs3
PF_ENABLE_CLOUDfalse
HORIZON_DARKMODEfalse
PF_COSTAR_ENABLEDfalse
MEDIA_EXIF_DATABASEfalse
LOG_CHANNELstderr
IMAGE_DRIVERimagick
BROADCAST_DRIVERlog
CACHE_DRIVERredis
RESTRICT_HTML_TYPEStrue
QUEUE_DRIVERredis
SESSION_DRIVERredis
TRUST_PROXIES*
DOCKER_DB_HOST_PORT3306
OAUTH_ENABLEDfalse

Maintenance

Logging

The Elestio Pixelfed Docker image sends the container logs to stdout. To view the logs, you can use the following command:

docker-compose logs -f

To stop the stack you can use the following command:

docker-compose down

Backup and Restore with Docker Compose

To make backup and restore operations easier, we are using folder volume mounts. You can simply stop your stack with docker-compose down, then backup all the files and subfolders in the folder near the docker-compose.yml file.

Creating a ZIP Archive For example, if you want to create a ZIP archive, navigate to the folder where you have your docker-compose.yml file and use this command:

zip -r myarchive.zip .

Restoring from ZIP Archive To restore from a ZIP archive, unzip the archive into the original folder using the following command:

unzip myarchive.zip -d /path/to/original/folder

Starting Your Stack Once your backup is complete, you can start your stack again with the following command:

docker-compose up -d

That's it! With these simple steps, you can easily backup and restore your data volumes using Docker Compose.

Tag summary

Content type

Image

Digest

sha256:eead77475

Size

615.6 MB

Last updated

9 months ago

docker pull elestio/pixelfed

This week's pulls

Pulls:

1,595

Jul 27 to Aug 2