good.news is a free and open-source social media platform developed based on the ActivityPub protocol. With good.news, you can freely publish various types of content, including text, images, links, and videos. As part of the ActivityPub ecosystem, good.news supports interaction with users and content from other platforms/servers that implement this protocol.
- Efficient Backend Architecture: The backend is developed using PHP, Swoole, and Hyperf, offering convenient deployment, ease of customization, and outstanding performance.
- Active Development: good.news is currently in an active development phase, with timely responses to issues and continuous development of new features.
- SEO Friendly: The front end utilizes Nuxt.js and is optimized for search engines, making content more accessible for search engine indexing.
- Mastodon API Compatibility: good.news is compatible with most commonly used Mastodon API, allowing users to access it with applications that support the Mastodon protocol. Additionally, good.news provides an open-source Flutter client.
- MySQL 8.0+
- Redis 6.0+
- PHP 8.2+
- Install the Libvips extension (
sudo apt-get install --no-install-recommends libvips42
)
- Install the Libvips extension (
- Hyperf 3.0+
- NSQ 3.0+
git clone https://github.com/good-news/goodnews.git
cd goodnews
composer install
cp .env.example .env
- Migrate the database tables:
php bin/hyperf migrate
- Generate the key pair, which is required for passport authentication:
php bin/hyperf.php passport:keys
- Run the service:
php bin/hyperf server:watch
AP_HOST ATTACHMENT_PREFIX
git clone https://github.com/good-news/goodnews.git
cd goodnews
docker compose build
docker compose up -d
- docker compose exec -it goodnews bash php bin/hyperf.php migrate php bin/hyperf.php passport:keys