### Start Hollo Server Source: https://github.com/fedify-dev/hollo/blob/main/docs/src/content/docs/install/manual.mdx Starts the Hollo server in production mode using the pnpm run command. ```sh pnpm run prod ``` -------------------------------- ### Install Hollo Dependencies Source: https://github.com/fedify-dev/hollo/blob/main/docs/src/content/docs/install/manual.mdx Installs all necessary project dependencies using the pnpm package manager. ```sh pnpm install ``` -------------------------------- ### Create Hollo Configuration File Source: https://github.com/fedify-dev/hollo/blob/main/docs/src/content/docs/install/manual.mdx Copies the sample environment configuration file to be used for Hollo's settings. ```sh cp .env.sample .env ``` -------------------------------- ### Set up PostgreSQL for Hollo Source: https://github.com/fedify-dev/hollo/blob/main/docs/src/content/docs/install/manual.mdx Creates a new PostgreSQL user with database creation privileges and then creates a new database for Hollo with UTF8 encoding. ```sh createuser --createdb --pwprompt hollo createdb --username=hollo --encoding=utf8 --template=postgres hollo ``` -------------------------------- ### Clone Hollo Repository Source: https://github.com/fedify-dev/hollo/blob/main/docs/src/content/docs/install/manual.mdx Clones the latest stable version of Hollo from GitHub and navigates into the project directory. ```sh git clone -b stable https://github.com/fedify-dev/hollo.git cd hollo/ ``` -------------------------------- ### Start Docker Compose Services Source: https://github.com/fedify-dev/hollo/blob/main/docs/src/content/docs/ko/install/docker.mdx Starts the services defined in the 'compose.yaml' file in detached mode. ```sh docker compose up -d ``` -------------------------------- ### Update Hollo Code Source: https://github.com/fedify-dev/hollo/blob/main/docs/src/content/docs/install/manual.mdx Pulls the latest code changes from the GitHub repository to update the Hollo installation. ```sh git pull ``` -------------------------------- ### Docker Compose Configuration Source: https://github.com/fedify-dev/hollo/blob/main/docs/src/content/docs/install/docker.mdx An example `compose.yaml` file to set up and run Hollo along with its dependencies (PostgreSQL and S3-compatible storage) using Docker Compose. This file defines the services, networks, and volumes required for the deployment. ```yaml services: postgres: image: postgres:latest volumes: - postgres_data:/var/lib/postgresql/data environment: POSTGRES_DB: hollo POSTGRES_USER: hollo POSTGRES_PASSWORD: hollo minio: image: minio/minio:latest ports: - "9000:9000" volumes: - minio_data:/data environment: MINIO_ROOT_USER: hollo MINIO_ROOT_PASSWORD: hollo command: server /data --console-address ":9001" hollo: image: ghcr.io/fedify-dev/hollo:latest ports: - "8080:8080" environment: HOLIO_POSTGRES_URL: postgres://hollo:hollo@postgres:5432/hollo HOLIO_MEDIA_STORAGE_TYPE: s3 HOLIO_MEDIA_STORAGE_S3_ENDPOINT: http://minio:9000 HOLIO_MEDIA_STORAGE_S3_ACCESS_KEY_ID: hollo HOLIO_MEDIA_STORAGE_S3_SECRET_ACCESS_KEY: hollo depends_on: - postgres - minio volumes: postgres_data: minio_data: ``` -------------------------------- ### Run Hollo with Docker Compose Source: https://github.com/fedify-dev/hollo/blob/main/docs/src/content/docs/ko/install/docker.mdx Deploys Hollo along with its dependencies like PostgreSQL and S3-compatible object storage using Docker Compose. Save the provided YAML content as 'compose.yaml' and run the command to start the services. ```yaml services: postgres: image: postgres:latest volumes: - postgres_data:/var/lib/postgresql/data environment: POSTGRES_DB: hollo POSTGRES_USER: hollo POSTGRES_PASSWORD: hollo minio: image: minio/minio:latest ports: - "9000:9000" - "9001:9001" environment: MINIO_ROOT_USER: minioadmin MINIO_ROOT_PASSWORD: minioadmin command: server /data --console-address ":9001" hollo: image: ghcr.io/fedify-dev/hollo:latest ports: - "8080:8080" environment: HOLIO_DATABASE_URL: postgresql://hollo:hollo@postgres:5432/hollo HOLIO_OBJECT_STORAGE_ENDPOINT: http://minio:9000 HOLIO_OBJECT_STORAGE_ACCESS_KEY_ID: minioadmin HOLIO_OBJECT_STORAGE_SECRET_ACCESS_KEY: minioadmin HOLIO_OBJECT_STORAGE_BUCKET: hollo depends_on: - postgres - minio volumes: postgres_data: ``` -------------------------------- ### Run Docker Compose Services Source: https://github.com/fedify-dev/hollo/blob/main/docs/src/content/docs/install/docker.mdx Starts the services defined in the `compose.yaml` file in detached mode. This command is used after saving the `compose.yaml` file to launch the Hollo deployment. ```sh docker compose up -d ``` -------------------------------- ### Fix: Fetching Remote Posts for Local Accounts Source: https://github.com/fedify-dev/hollo/blob/main/CHANGES.md Corrects an issue where `GET /api/v1/accounts/:id/statuses` attempted to fetch remote posts for local accounts. -------------------------------- ### Add GET /api/v1/blocks API Source: https://github.com/fedify-dev/hollo/blob/main/CHANGES.md Introduces the `GET /api/v1/blocks` API endpoint to the Mastodon compatibility layer. This endpoint retrieves a list of accounts blocked by the authenticated user. ```shell GET /api/v1/blocks ``` -------------------------------- ### Feature: GET /api/v1/statuses/:id/reblogged_by API Source: https://github.com/fedify-dev/hollo/blob/main/CHANGES.md Implements the `GET /api/v1/statuses/:id/reblogged_by` API endpoint for Mastodon compatibility, returning a list of accounts that have reblogged a post. -------------------------------- ### Fix Application Registration Confidentiality for Sign-in Source: https://github.com/fedify-dev/hollo/blob/main/CHANGES.md Corrects an issue where Hollo installations failed to sign in with clients like Elk due to old application registrations defaulting to non-confidential. All existing applications are now properly set as confidential clients. ```OAuth Client Type: Confidential ``` -------------------------------- ### Fix GET /api/v1/accounts/:id/statuses remote post fetching Source: https://github.com/fedify-dev/hollo/blob/main/CHANGES.md Corrects a bug in `GET /api/v1/accounts/:id/statuses` that caused it to attempt fetching remote posts for local accounts. This ensures accurate data retrieval. ```shell GET /api/v1/accounts/:id/statuses ``` -------------------------------- ### Add GET /api/v1/mutes API Source: https://github.com/fedify-dev/hollo/blob/main/CHANGES.md Introduces the `GET /api/v1/mutes` API endpoint to the Mastodon compatibility layer. This endpoint retrieves a list of accounts muted by the authenticated user. ```shell GET /api/v1/mutes ``` -------------------------------- ### Mastodon API Changes: Verify Credentials Source: https://github.com/fedify-dev/hollo/blob/main/CHANGES.md Details changes to the Mastodon API endpoint GET /api/v1/apps/verify_credentials. It no longer requires the 'read' scope, only a valid access token or client credential. ```HTTP GET /api/v1/apps/verify_credentials ``` -------------------------------- ### Add 'profile' OAuth Scope and /oauth/userinfo Endpoint Source: https://github.com/fedify-dev/hollo/blob/main/CHANGES.md Support for the 'profile' OAuth scope has been added, enabling applications to request limited user profile information. This is accessible via the new /oauth/userinfo endpoint and can also be used with the GET /api/v1/accounts/verify_credentials endpoint. ```OAuth Requesting profile scope: GET /oauth/authorize?response_type=code&client_id=...&redirect_uri=...&scope=profile ``` ```HTTP GET /oauth/userinfo HTTP/1.1 Host: example.com Authorization: Bearer ACCESS_TOKEN ``` -------------------------------- ### Make Mastodon API Endpoints Publicly Accessible Source: https://github.com/fedify-dev/hollo/blob/main/CHANGES.md Several Mastodon API endpoints, specifically GET /api/v1/statuses/:id and GET /api/v1/statuses/:id/context, are now publicly accessible without authentication. This change improves Hollo's compatibility and similarity to Mastodon's API. ```HTTP GET /api/v1/statuses/12345 HTTP/1.1 Host: example.com ``` ```HTTP GET /api/v1/statuses/12345/context HTTP/1.1 Host: example.com ``` -------------------------------- ### Import Starlight Components Source: https://github.com/fedify-dev/hollo/blob/main/docs/src/content/docs/install/setup.mdx Imports the Aside and Steps components from the Astro Starlight library, which are used for structuring documentation content with visual cues like cautions and step-by-step instructions. ```javascript import { Aside, Steps } from "@astrojs/starlight/components"; ``` -------------------------------- ### Hollo 수동 설치 - 환경 설정 파일 생성 Source: https://github.com/fedify-dev/hollo/blob/main/docs/src/content/docs/ko/install/manual.mdx Hollo의 기본 환경 설정 파일(.env.sample)을 복사하여 실제 사용할 설정 파일(.env)을 생성합니다. 이 파일은 추후 환경 변수 설정을 위해 사용됩니다. ```sh cp .env.sample .env ``` -------------------------------- ### Fix: GET /api/v1/notifications Server Errors Source: https://github.com/fedify-dev/hollo/blob/main/CHANGES.md Fixes server errors that occurred when using certain filters with the `GET /api/v1/notifications` API endpoint. -------------------------------- ### Hollo 수동 설치 - Git Clone Source: https://github.com/fedify-dev/hollo/blob/main/docs/src/content/docs/ko/install/manual.mdx Hollo의 최신 코드를 GitHub 저장소에서 복제합니다. 이 명령은 stable 브랜치의 코드를 다운로드하고 hollo 디렉토리로 이동합니다. ```sh git clone -b stable https://github.com/fedify-dev/hollo.git cd hollo/ ``` -------------------------------- ### Hollo 업데이트 - 의존성 재설치 Source: https://github.com/fedify-dev/hollo/blob/main/docs/src/content/docs/ko/install/manual.mdx Hollo 업데이트 후 변경된 의존성을 pnpm을 사용하여 다시 설치합니다. 이는 최신 코드와 호환되는 라이브러리 버전을 보장합니다. ```sh pnpm install ``` -------------------------------- ### Fix GET /api/v1/notifications server errors Source: https://github.com/fedify-dev/hollo/blob/main/CHANGES.md Addresses an issue where `GET /api/v1/notifications` returned server errors when specific filters were applied. This fix ensures the API functions correctly with various filter parameters. ```shell GET /api/v1/notifications ``` -------------------------------- ### Hollo 업데이트 - 서버 재시작 Source: https://github.com/fedify-dev/hollo/blob/main/docs/src/content/docs/ko/install/manual.mdx Hollo 업데이트 후 변경 사항을 적용하기 위해 서버를 다시 시작합니다. `pnpm run prod` 명령은 업데이트된 애플리케이션을 실행합니다. ```sh pnpm run prod ``` -------------------------------- ### Hollo 업데이트 - 최신 코드 가져오기 Source: https://github.com/fedify-dev/hollo/blob/main/docs/src/content/docs/ko/install/manual.mdx GitHub 저장소에서 Hollo의 최신 코드를 가져옵니다. `git pull` 명령은 원격 저장소의 변경 사항을 로컬 저장소로 병합합니다. ```sh git pull ``` -------------------------------- ### Hollo 수동 설치 - pnpm 의존성 설치 Source: https://github.com/fedify-dev/hollo/blob/main/docs/src/content/docs/ko/install/manual.mdx Hollo 프로젝트에 필요한 의존성을 pnpm을 사용하여 설치합니다. 이 단계는 프로젝트 실행에 필수적인 라이브러리들을 준비합니다. ```sh pnpm install ``` -------------------------------- ### Hollo 수동 설치 - PostgreSQL 설정 Source: https://github.com/fedify-dev/hollo/blob/main/docs/src/content/docs/ko/install/manual.mdx Hollo에서 사용할 PostgreSQL 사용자 및 데이터베이스를 생성합니다. `--createdb` 옵션은 데이터베이스를 생성하고 `--pwprompt`는 비밀번호를 입력받습니다. ```sh createuser --createdb --pwprompt hollo createdb --username=hollo --encoding=utf8 --template=postgres hollo ``` -------------------------------- ### Hollo Dockerイメージのプル Source: https://github.com/fedify-dev/hollo/blob/main/docs/src/content/docs/ja/install/docker.mdx Holloの公式DockerイメージをDocker Hubからプル(ダウンロード)します。これにより、ローカル環境でHolloを実行するための準備が整います。 ```sh docker pull ghcr.io/fedify-dev/hollo:latest ``` -------------------------------- ### Deploy Hollo on Railway Source: https://github.com/fedify-dev/hollo/blob/main/docs/src/content/docs/install/railway.mdx This snippet shows how to initiate the deployment of Hollo on Railway using a provided template. It requires S3-compatible object storage for media files and configuration of environment variables. ```javascript import { Aside } from "@astrojs/starlight/components"; ``` -------------------------------- ### Docker ComposeによるHolloデプロイ Source: https://github.com/fedify-dev/hollo/blob/main/docs/src/content/docs/ja/install/docker.mdx Docker Composeを使用して、PostgreSQLデータベースとS3互換オブジェクトストレージ(MinIOなど)を含むHolloのデプロイメントを定義および実行します。この設定ファイルにより、複数のコンテナを連携させてHolloを簡単に起動できます。 ```yaml services: postgres: image: postgres:15 volumes: - postgres_data:/var/lib/postgresql/data environment: POSTGRES_DB: hollo POSTGRES_USER: hollo POSTGRES_PASSWORD: hollo minio: image: minio/minio:latest ports: - "9000:9000" - "9001:9001" environment: MINIO_ROOT_USER: minioadmin MINIO_ROOT_PASSWORD: minioadmin command: server /data --console-address ":9001" hollo: image: ghcr.io/fedify-dev/hollo:latest ports: - "8080:8080" environment: HOLIO_DATABASE_URL: postgresql://hollo:hollo@postgres/hollo HOLIO_OBJECT_STORAGE_PROVIDER: s3 HOLIO_OBJECT_STORAGE_S3_BUCKET: hollo HOLIO_OBJECT_STORAGE_S3_ENDPOINT: http://minio:9000 HOLIO_OBJECT_STORAGE_S3_ACCESS_KEY_ID: minioadmin HOLIO_OBJECT_STORAGE_S3_SECRET_ACCESS_KEY: minioadmin depends_on: - postgres - minio volumes: postgres_data: ``` -------------------------------- ### Hollo Development Commands Source: https://github.com/fedify-dev/hollo/blob/main/CLAUDE.md Provides essential commands for developing the Hollo project, including type checking, linting, running tests, and code formatting using Biome. These commands ensure code quality and consistency. ```Shell pnpm check pnpm test pnpm biome format --fix ``` -------------------------------- ### Hollo 서버 시작 Source: https://github.com/fedify-dev/hollo/blob/main/docs/src/content/docs/ko/install/manual.mdx Hollo 애플리케이션을 프로덕션 모드로 시작합니다. 이 명령은 빌드된 애플리케이션을 실행하여 서비스를 제공합니다. ```sh pnpm run prod ``` -------------------------------- ### Import Starlight Badge Component Source: https://github.com/fedify-dev/hollo/blob/main/docs/src/content/docs/clients.mdx Imports the Badge component from the Astro Starlight library, used for marking recommended clients. ```javascript import { Badge } from '@astrojs/starlight/components'; ``` -------------------------------- ### Hollo Features with Starlight Components Source: https://github.com/fedify-dev/hollo/blob/main/docs/src/content/docs/index.mdx This snippet showcases the features of Hollo using Astro's Starlight components. It highlights aspects like single-user design, multiple account support, Mastodon API compatibility, CommonMark support, Misskey-style quotes, emoji reactions, and its foundation on Fedify. Each feature is presented in a card format with an icon. ```html Hollo is designed for single-users, so you can own your instance and have full control over your data. It's perfect for personal microblogs, notes, and journals. Although Hollo is designed for single-users, you can have multiple accounts on the same instance. You can switch between accounts easily, and each account has its own profile, posts, and settings. Hollo is headless; instead, it complies with the [Mastodon API], so that you can use any Mastodon-compatible client to interact with it. [Mastodon API]: https://docs.joinmastodon.org/methods/ You can compose your posts in [CommonMark] (so-called Markdown), and Hollo will render them for you—of course, other fediverse software will render them as well. Moreover, you're allowed up to 10,000 characters per post. [CommonMark]: https://commonmark.org/ Hollo supports [Misskey]-style quotes, so you can quote other posts in your own posts. It's compatible with other fediverse software that supports Misskey-style quotes, e.g., Misskey, [Akkoma], [Fedibird], [Threads]. [Misskey]: https://misskey-hub.net/ [Akkoma]: https://akkoma.social/ [Fedibird]: https://github.com/fedibird/mastodon [Threads]: https://www.threads.net/ Hollo supports [Misskey]-style emoji reactions, so you can react to posts with Unicode emojis and custom emojis. It's compatible with other fediverse software that supports Misskey-style emoji reactions, e.g., Misskey, [Akkoma]. [Misskey]: https://misskey-hub.net/ [Akkoma]: https://akkoma.social/ Hollo is powered by [Fedify], an ActivityPub server framework for TypeScript. [Fedify]: https://fedify.dev/ ``` -------------------------------- ### Pull Hollo Docker Image Source: https://github.com/fedify-dev/hollo/blob/main/docs/src/content/docs/install/docker.mdx Pulls the latest official Hollo Docker image from GitHub Packages. This is the first step to deploying Hollo using Docker. ```sh docker pull ghcr.io/fedify-dev/hollo:latest ``` -------------------------------- ### Hollo 설치 및 설정 Source: https://github.com/fedify-dev/hollo/blob/main/docs/src/content/docs/ko/index.mdx Hollo는 Fedify 프레임워크를 사용하여 TypeScript로 구축되었습니다. 설치 및 설정에 대한 자세한 내용은 제공되지 않지만, Railway를 통한 설치 옵션이 언급되어 있습니다. ```TypeScript import { Card, CardGrid } from "@astrojs/starlight/components"; Hollo는 1인 사용자용으로 설계되어 있어, 인스턴스를 스스로 소유하고 데이터에 대한 제어권을 완전히 가질 수 있습니다. 개인용 마이크로블로그, 노트, 일기 등에 안성맞춤입니다. 비록 Hollo는 1인 사용자용으로 설계되어 있지만, 한 인스턴스 안에서 여러 계정을 만드는 것이 가능합니다. 계정 간 전환도 쉽고, 각 계정은 자신만의 프로필, 게시물, 설정을 갖습니다. Hollo는 자체 웹 인터페이스가 없습니다. 대신, [Mastodon API]와 호환되어, 아무 Mastodon 호환 클라이언트 앱으로 Hollo를 이용할 수 있습니다. [Mastodon API]: https://docs.joinmastodon.org/methods/ [CommonMark](일명 Markdown)으로 게시물을 작성할 수 있으며, 그렇게 작성한 게시물은 연합우주의 다른 소프트웨어들에서도 잘 보여집니다. 또한, 게시물 당 최대 10,000자까지 작성할 수 있습니다. [CommonMark]: https://commonmark.org/ Hollo는 [Misskey] 스타일의 인용 기능을 지원하므로, 다른 게시물을 인용하여 자신의 게시물에 포함시킬 수 있습니다. 이는 Misskey, [Akkoma], [Fedibird], [Threads] 등 Misskey 스타일 인용을 지원하는 다른 연합우주 소프트웨어들과도 호환됩니다. [Misskey]: https://misskey-hub.net/ko/ [Akkoma]: https://akkoma.social/ [Fedibird]: https://github.com/fedibird/mastodon [Threads]: https://www.threads.net/ Hollo는 [Misskey] 스타일의 에모지 리액션을 지원하므로, 게시물에 Unicode 에모지나 커스텀 에모지를 리액션으로 달 수 있습니다. 이는 Misskey, [Akkoma] 등 Misskey 스타일 에모지 리액션을 지원하는 다른 연합우주 소프트웨어들과도 호환됩니다. [Misskey]: https://misskey-hub.net/ [Akkoma]: https://akkoma.social/ Hollo는 TypeScript를 위한 ActivityPub 서버 프레임워크인 [Fedify]로 제작되었습니다. [Fedify]: https://fedify.dev/ ``` -------------------------------- ### Fix: Relative FS_ASSET_PATH Startup Failure Source: https://github.com/fedify-dev/hollo/blob/main/CHANGES.md Resolves a startup failure when `DRIVE_DISK` is set to `fs` and `FS_ASSET_PATH` is configured as a relative path. -------------------------------- ### Configure Public Asset Storage URL Source: https://github.com/fedify-dev/hollo/blob/main/docs/src/content/docs/install/env.mdx Sets the public URL base for accessing assets. Essential for federation and serving local files when using the 'fs' driver. ```env STORAGE_URL_BASE=https://media.hollo.social ``` -------------------------------- ### Configure Local Filesystem Storage Path Source: https://github.com/fedify-dev/hollo/blob/main/docs/src/content/docs/install/env.mdx Specifies the directory on the local filesystem where blob assets are stored. Requires the 'fs' driver and appropriate write permissions. ```bash FS_STORAGE_PATH=/var/lib/hollo ``` -------------------------------- ### Fix: Importing Follows from CSV Source: https://github.com/fedify-dev/hollo/blob/main/CHANGES.md Resolves issues with importing follows from CSV files generated by Iceshrimp. -------------------------------- ### Pull Hollo Docker Image Source: https://github.com/fedify-dev/hollo/blob/main/docs/src/content/docs/ko/install/docker.mdx Pulls the latest official Docker image for Hollo from GitHub Packages. This is the first step to deploying Hollo locally. ```sh docker pull ghcr.io/fedify-dev/hollo:latest ``` -------------------------------- ### Specify Host Address with BIND Environment Variable Source: https://github.com/fedify-dev/hollo/blob/main/CHANGES.md The BIND environment variable has been added to allow users to specify the host address on which Hollo should listen. This provides flexibility in network configuration and deployment. ```Shell export BIND=0.0.0.0 # Or to listen on a specific IP: # export BIND=192.168.1.100 ``` -------------------------------- ### Configure Local Filesystem Storage for Media Source: https://github.com/fedify-dev/hollo/blob/main/CHANGES.md This snippet shows how to configure the project to use the local filesystem for storing media files. It involves setting the DRIVE_DISK environment variable to 'fs' and specifying the path for media storage with FS_ASSET_PATH. It also mentions the ASSET_URL_BASE environment variable for replacing S3_URL_BASE. ```Shell DRIVE_DISK=fs FS_ASSET_PATH=/path/to/media ASSET_URL_BASE=http://yourdomain.com/media ``` -------------------------------- ### Fedify Upgrade Source: https://github.com/fedify-dev/hollo/blob/main/CHANGES.md Upgrades the Fedify library to version 1.1.1. ```Go Upgrade Fedify to 1.1.1 ``` -------------------------------- ### Change: Node.js Runtime Source: https://github.com/fedify-dev/hollo/blob/main/CHANGES.md Migrates the Hollo server from Bun to Node.js 23+ for improved memory efficiency. -------------------------------- ### Fix ActivityPub Discovery XHTML Self-Closing Tag Handling Source: https://github.com/fedify-dev/hollo/blob/main/CHANGES.md Resolves an issue where ActivityPub Discovery failed to recognize XHTML self-closing tags. The HTML/XHTML parser now correctly handles whitespace before the self-closing slash (/>), improving compatibility with XHTML documents. ```HTML ``` -------------------------------- ### Upgrade: Fedify Library Source: https://github.com/fedify-dev/hollo/blob/main/CHANGES.md Updates the Fedify library to various minor versions, including critical security fixes. -------------------------------- ### Configure Sentry Integration Source: https://github.com/fedify-dev/hollo/blob/main/CHANGES.md This snippet demonstrates how to enable Sentry for error tracking. It requires setting the SENTRY_DSN environment variable with the Data Source Name provided by Sentry. ```Shell SENTRY_DSN=your_sentry_dsn_here ``` -------------------------------- ### Implement OAuth 2.0 PKCE with S256 Code Challenge Source: https://github.com/fedify-dev/hollo/blob/main/CHANGES.md Hollo now includes support for OAuth 2.0 Proof Key for Code Exchange (PKCE) using the S256 code challenge method. This security enhancement helps prevent authorization code interception attacks during the OAuth authorization flow. ```OAuth PKCE Flow: 1. Client creates code_verifier and code_challenge (S256). 2. Client sends authorization request with code_challenge. 3. Authorization server issues authorization code. 4. Client exchanges authorization code and code_verifier for access token. ``` -------------------------------- ### Feature: Discoverable Profiles Source: https://github.com/fedify-dev/hollo/blob/main/CHANGES.md Allows users to make their profiles discoverable, enhancing visibility and integration within the network. -------------------------------- ### Configure Asset Storage with Environment Variables Source: https://github.com/fedify-dev/hollo/blob/main/CHANGES.md This update introduces new environment variables for configuring asset storage. FS_STORAGE_PATH is required when DRIVE_DISK is set to 'fs', and STORAGE_URL_BASE is required for the base URL of stored assets. The previous FS_ASSET_PATH and ASSET_URL_BASE are now deprecated. ```Shell export DRIVE_DISK=fs export FS_STORAGE_PATH=/path/to/storage export STORAGE_URL_BASE=https://cdn.example.com/assets ``` -------------------------------- ### Feature: Profile Cover Images Source: https://github.com/fedify-dev/hollo/blob/main/CHANGES.md Adds the functionality for user profile pages to display a cover image if one is set. -------------------------------- ### Configure AWS Access Key ID Source: https://github.com/fedify-dev/hollo/blob/main/docs/src/content/docs/install/env.mdx Provides the access key for authenticating with S3-compatible object storage. This is required when using the 's3' driver. ```env AWS_ACCESS_KEY_ID=YOUR_ACCESS_KEY_ID ``` -------------------------------- ### Fix: Database Foreign Key Reference Source: https://github.com/fedify-dev/hollo/blob/main/CHANGES.md Corrects a bug where the `follows.follower_id` column did not correctly reference the `accounts.id` column in the database. -------------------------------- ### Fix: Federation Dashboard Server Errors Source: https://github.com/fedify-dev/hollo/blob/main/CHANGES.md Resolves server errors that prevented the federation dashboard from displaying correctly on newly set up instances. -------------------------------- ### Enable ALLOW_HTML environment variable Source: https://github.com/fedify-dev/hollo/blob/main/CHANGES.md Adds the `ALLOW_HTML` environment variable to permit raw HTML within Markdown content. This allows for broader formatting options while mitigating XSS attacks through a restricted subset of HTML tags and attributes. ```bash ALLOW_HTML=true ``` -------------------------------- ### Configure S3 Path Style Source: https://github.com/fedify-dev/hollo/blob/main/docs/src/content/docs/install/env.mdx Enables or disables path-style URLs for S3-compatible object storage. Set to 'true' to force path style, useful for non-AWS services. Defaults to 'false'. ```env S3_FORCE_PATH_STYLE=true ``` -------------------------------- ### Fix: Update Activity Assertion Methods Source: https://github.com/fedify-dev/hollo/blob/main/CHANGES.md Resolves an interoperability problem with Mitra caused by the `Update` activity missing the `assertionMethods` field after an account profile update. -------------------------------- ### Mastodon API Changes: App Credentials Source: https://github.com/fedify-dev/hollo/blob/main/CHANGES.md Exposes 'redirect_uri', 'redirect_uris', and 'scopes' to verify credentials for apps in the Mastodon API. ```HTTP Expose redirect_uri, redirect_uris, and scopes to verify credentials for apps ``` -------------------------------- ### Configure S3 Bucket Name Source: https://github.com/fedify-dev/hollo/blob/main/docs/src/content/docs/install/env.mdx Specifies the name of the S3 bucket for storing assets. This is required when using the 's3' driver. ```env S3_BUCKET=hollo ``` -------------------------------- ### Feature: Data Import/Export (CSV) Source: https://github.com/fedify-dev/hollo/blob/main/CHANGES.md Enables importing and exporting of data such as follows, lists, muted accounts, blocked accounts, and bookmarks in CSV format via the administration dashboard. -------------------------------- ### Mastodon API Changes: Create App Source: https://github.com/fedify-dev/hollo/blob/main/CHANGES.md Details changes to the Mastodon API endpoint POST /api/v1/apps. It now supports multiple redirect URIs, and the 'redirect_uri' parameter is deprecated. ```HTTP POST /api/v1/apps ``` -------------------------------- ### Feature: LOG_FILE Environment Variable Source: https://github.com/fedify-dev/hollo/blob/main/CHANGES.md Introduces the `LOG_FILE` environment variable to specify the file path for writing structured logs in JSON Lines format. -------------------------------- ### Environment Variables for Hollo Source: https://github.com/fedify-dev/hollo/blob/main/CHANGES.md Introduces new environment variables for configuring the Hollo application: PORT for the server port and ALLOW_PRIVATE_ADDRESS for allowing private IP addresses. ```Shell PORT ALLOW_PRIVATE_ADDRESS ``` -------------------------------- ### Generate Secret Key with OpenSSL Source: https://github.com/fedify-dev/hollo/blob/main/docs/src/content/docs/install/env.mdx Generates a random hexadecimal string of 64 characters suitable for use as a secret key for Hollo's session security. This command utilizes OpenSSL to produce a secure key. ```sh openssl rand -hex 32 ``` -------------------------------- ### Upgrade Hollo on Railway Source: https://github.com/fedify-dev/hollo/blob/main/docs/src/content/docs/install/railway.mdx Instructions for upgrading an existing Hollo deployment on Railway. This involves redeploying the service through the Railway dashboard by accessing the service's deployment options. ```html 1. Go to the Railway dashboard. 2. Choose your Hollo project. 3. Choose your Hollo service. ![Choose your Hollo service](./railway/project.png) 4. In the deployments, click the button in the right corner which looks like three vertical dots. 5. In the dropdown, click *Redeploy* to redeploy the service. ![Redeploy the service](./railway/deployments.png) ``` -------------------------------- ### Configure S3 Endpoint URL Source: https://github.com/fedify-dev/hollo/blob/main/docs/src/content/docs/install/env.mdx Sets the endpoint URL for S3-compatible object storage. This is required when using the 's3' driver and is useful for non-AWS services. ```env S3_ENDPOINT_URL=https://s3.us-east-1.amazonaws.com ``` -------------------------------- ### Enable Cross-Origin Requests for Specific Endpoints Source: https://github.com/fedify-dev/hollo/blob/main/CHANGES.md The */.well-known/* and */oauth/* endpoints in Hollo now permit cross-origin requests. This alignment with Mastodon's behavior facilitates better interoperability and integration with other services. ```HTTP Access-Control-Allow-Origin: * Access-Control-Allow-Methods: GET, POST, OPTIONS Access-Control-Allow-Headers: Content-Type ``` -------------------------------- ### Fix: Migration Dashboard Aliases Source: https://github.com/fedify-dev/hollo/blob/main/CHANGES.md Corrects the display of the migration dashboard when account aliases include an unreachable actor. -------------------------------- ### Configure AWS Secret Access Key Source: https://github.com/fedify-dev/hollo/blob/main/docs/src/content/docs/install/env.mdx Provides the secret key for authenticating with S3-compatible object storage. This is required when using the 's3' driver. ```env AWS_SECRET_ACCESS_KEY=YOUR_SECRET_ACCESS_KEY ``` -------------------------------- ### Feature: IPv6 Preference Source: https://github.com/fedify-dev/hollo/blob/main/CHANGES.md Implements a preference for using IPv6 addresses over IPv4 addresses when establishing connections to remote servers. -------------------------------- ### Set Minimum SECRET_KEY Length Source: https://github.com/fedify-dev/hollo/blob/main/CHANGES.md Hollo now enforces a minimum length of 44 characters for the SECRET_KEY environment variable. This change is implemented to ensure sufficient cryptographic entropy, enhancing the security of the application's sensitive operations. ```Shell export SECRET_KEY="a_very_long_and_secure_secret_key_with_at_least_44_characters" ``` -------------------------------- ### Fix: LOG_LEVEL Environment Variable Source: https://github.com/fedify-dev/hollo/blob/main/CHANGES.md Ensures that the `LOG_LEVEL` environment variable is correctly respected for logging configurations. -------------------------------- ### Feature: TIMELINE_INBOXES Flag Source: https://github.com/fedify-dev/hollo/blob/main/CHANGES.md Introduces an experimental feature flag `TIMELINE_INBOXES` to store timeline posts in the database, improving performance for larger instances. -------------------------------- ### Fix Search Query Over-Inclusion and Timeouts Source: https://github.com/fedify-dev/hollo/blob/main/CHANGES.md Corrects a critical bug that caused search queries to return too many results, leading to out-of-memory errors and timeouts. The issue stemmed from incorrect logical operator precedence when filtering future-dated posts. ```SQL-like SELECT * FROM posts WHERE created_at > NOW() AND is_future_dated = TRUE ``` -------------------------------- ### Change: Sentry Log Sink Removal Source: https://github.com/fedify-dev/hollo/blob/main/CHANGES.md Removes the log sink for Sentry for the sake of concision.