Skip to main content Link Search Menu Expand Document (external link)
  1. Pixelfed: Configuração e Desenvolvimento
    1. Realizando a instalação do pixelfed.

Pixelfed: Configuração e Desenvolvimento

Realizando a instalação do pixelfed.

Antes de qualquer coisa lembre-se de ter na sua máquina o Redis instalado, além do php e todas as ferramentas atreladas ao contexto de desenvolvimento como um banco de dados, seja mysql, mariadb ou postgresql.

Instale o Redis, como seguinte comando:

sudo apt install redis-server

Para verificar se ele está funcionando utilize o seguinte comando:

redis-cli ping

Deve retornar a palavra PONG no terminal. Pode utilizar as ferramentas de controle do sistema do linux. Exemplo:

sudo systemctl status redis

Agora é necessário configurar o banco de dados que iremos utilizar para o pixelfed. (Algumas dessas informações podem ser verificadas no site oficial).

Aqui neste tutorial estaremos utilizando o MariaDB, Caso já possua instalado um banco de sua preferêcia apenas crie o banco que irá utilizar na sua aplicação. Siga o processo abaixo:

sudo apt install mariadb-server mariadb-client

sudo systemctl start mariadb # para caso o serviço não tenha iniciado.
sudo systemctl status mariadb # para verificar o estado do serviço.

sudo mariadb

Agora crie a instância do banco que irá utilizar, fique a vontade com os nomes estaremos utilizando pixelfed, a senha é de seu encargo.


CREATE DATABASE pixelfed CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

CREATE USER 'pixelfed'@'localhost' IDENTIFIED BY 'senha_de_sua_escolha';

GRANT ALL PRIVILEGES ON pixelfed.* TO 'pixelfed'@'localhost';

FLUSH PRIVILEGES;

EXIT;

Tudo pronto podemos dar início ao desenvolvimento com um fork do repositório oficial do pixelfed.

git clone --branch v0.12.7 --depth 1 https://github.com/pixelfed/pixelfed.git

Após clonar o diretório diretamente do repositório oficial do pixelfed, siga para o diretorio salvo na sua máquina. Utilize o comando:

cd pixelfed

Em seguida utilize o Composer para instalar os pacotes necessários para o execução da aplicação. Os comandos --no-ansi --no-interaction --optimize-autoloader, servem argumentos para a execução do comando install, definem respectivamente a realizar o comando sem a utilização de cores ansi do terminal, realizar o comando sem interações do usuário (perguntas de “yes” ou “no” que podem surgir) e a otimização da execução do comando utilizado.

composer install --no-ansi --no-interaction --optimize-autoloader

Agora copie o .env.example, a fim de ter seu próprio arquivo .env, utilize o seguinte comando:

cp .env.example .env

Após esse processo será necessário configurar o .env para o funcionamento adequado e correto. As variáveis seguintes devem ser configuradas no .env:

FORCE_HTTPS_URLS=false
SESSION_SECURE_COOKIE=false
SESSION_DRIVER="redis"
BROADCAST_DRIVER="redis"

# Chat e Notificações
PF_CHAT_ENABLED=true
PF_CHAT_SYSTEM=redis
PF_CHAT_NOTIFICATIONS=true
PF_CHAT_MAX_LENGTH=1000
PF_CHAT_RATE_LIMIT=10

# Follow System
PF_FOLLOW_AUTO_ACCEPT=false

# Redis para broadcasting
BROADCAST_DRIVER=redis
REDIS_BROADCAST_HOST=127.0.0.1
REDIS_BROADCAST_PORT=6379

# Cache para contadores
PF_CACHE_FOLLOW_COUNTS=true
PF_CACHE_FOLLOW_TTL=300

# API e Eventos
PF_API_RATE_LIMIT=300
PF_EVENTS_ENABLED=true
PF_REAL_TIME_UPDATES=true

Gerando chave:

php artisan key:generate

É muito importante que a variável FORCE_HTTPS_URLS seja false. O pixelfed tem restrições de domínio para Https que são chatas e atrapalham no desenvolvimento local.

Agora vamos rodar as migrations via Artisan, lembre-se que o banco deve já ter sido criado previamente e deve estar corretamente especificado no .env, utilize o seguinte comando:

php artisan migrate --force

Migrations realizadas. Tudo pronto para iniciar o seu serviço local com o Pixelfed.

Tudo pronto para iniciar o servidor e começar a desenvolvimento da sua aplicação! Utilize o comando a seguir para criar chaves de autenticação de oauth:

php artisan passport:keys --force

Agora é necessário dizer para a sua aplicação que alguns arquivos que não são públicos sejam expostos, então o comando a serguir serve para criar um link simbólico para o acesso a tais arquivos:

php artisan storage:link

Agora utilize o comando de inicialização do servidor via Artisan para que possamos testar a aplicação.

php artisan serve --host=0.0.0.0

O parâmetro --host, delimita os valores que endereçam a aplicação no nosso servidor artisan. Caso não fosse definido tal parâmetro haveria um conflito, pois especificamos no .env que a aplicação está endereçada por localhost, logo o servidor seria incapaz de localizar o localhost, por seu padrão de endereçamento ser 127.0.0.1. Assim também se faz necessário especificar a porta.

Agora vamos criar um usuário admin e um usuário comum para os testes.

Utilizando o comando:

php artisan user:create

Siga o que a imagem a baixo indica para criar um usuário.

user_create_img

Para criar um usuário sem as autorizações de admin basta responder não na criação do mesmo.