Kbin is a decentralized content aggregator and microblogging platform running on the Fediverse network. It can communicate with many other ActivityPub services, including Mastodon, Lemmy, Pleroma, Peertube. The initiative aims to promote a free and open internet.
This is a very early beta version, and a lot of features are currently broken or in active development, such as federation.
Currently, a new frontend is being implemented on develop branch. In the next stage, a similar refactor will go through the backend and the project will be prepared for contribution.
$ yarn install $ yarn build
Based on https://github.com/dunglas/symfony-docker
docker compose build --pull --no-cacheto build fresh images
docker compose up(the logs will be displayed in the current shell)
https://app.localhostin your favorite web browser and accept the auto-generated TLS certificate
docker compose down --remove-orphansto stop the Docker containers.
$ docker compose exec php bin/console doctrine:fixtures:load $ docker compose exec php bin/phpunit # Using Xdebug # Linux / Mac $ XDEBUG_MODE=debug docker compose up -d # Windows $ set XDEBUG_MODE=debug&& docker compose up -d&set XDEBUG_MODE=
$ APP_ENV=dev SERVER_NAME=dev.karab.in \ APP_SECRET=acme \ CADDY_MERCURE_JWT_SECRET='!ChangeThisMercureHubJWTSecretKey!' \ POSTGRES_USER=kbin \ POSTGRES_PASSWORD=acme \ POSTGRES_DB=kbin \ CADDY_MERCURE_URL="https://example.com/.well-known/mercure" \ KBIN_DEFAULT_LANG=pl \ docker compose -f docker-compose.yml -f docker-compose.prod.yml up -d
If you want to deploy your app on a cluster of machines, you can use Docker Swarm, which is compatible with the provided Compose files.
# Create new user (without email verification) $ docker compose exec php bin/console kbin:user:create username [email protected] password # Grant administrator privileges $ docker compose exec php bin/console kbin:user:admin username
$ mkdir public/media $ chmod 755 public/media $ chown 82:82 public/media
$ docker compose exec php bin/console fos:elastica:create $ docker compose exec php bin/console fos:elastica:populate
Next, set up your instance https://localhost/admin
# Backup $ docker exec -it database pg_dump -U kbin kbin > dump_`date +%d-%m-%Y"_"%H_%M_%S`.sql # Restore $ docker compose exec -T database psql -U kbin kbin < dump.sql
// @todo rsync
If you work on linux and cannot edit some of the project files right after the first installation, you can
docker compose run --rm php chown -R $(id -u):$(id -g) . to set yourself as owner of the project files that were
created by the docker container.
$ docker compose logs -f $ docker compose exec php tail var/log/prod.log
$ docker compose exec php bin/console cache:clear