Skip to content

Federated, ActivityPub-compatible social network server with friends, walls, and groups.

License

Notifications You must be signed in to change notification settings

ShambhaviVijay/Smithereen

 
 

Repository files navigation

Smithereen

SMITHEREEN

Crowdin

Federated, ActivityPub-compatible social network with friends, walls, and groups.

If you have any questions or feedback, there's a Telegram chat you can join.

Building/installation

Running directly on your server

  1. Install and configure MySQL
  2. Install maven and JDK >=17 if you don't have it already
  3. Build the jar by running mvn package -DskipTests=true and place the one with dependencies at /opt/smithereen/smithereen.jar
  4. Set up the image processing native library (libvips): run java LibVipsDownloader.java to automatically download a prebuilt one from here. If you already have libvips installed on your system, you may skip this step, but be aware that not all libvips builds include all the features Smithereen needs.
  5. Install and configure imgproxy
  6. Fill in the config file, see a commented example here
  7. Create a new MySQL database and initialize it with the schema using a command (mysql -p smithereen < schema.sql) or any GUI like phpMyAdmin
  8. Configure and start the daemon: assuming your distribution uses systemd, copy the service file to /etc/systemd/system, then run systemctl daemon-reload and service smithereen start
  9. Run java -jar /opt/smithereen/smithereen.jar /etc/smithereen/config.properties init_admin to create the first account
  10. Log into that account from your web browser, then configure the rest of the server settings from its UI

Using Docker

Copy Docker-specific config example to the project root directory as config.properties and edit it to set your domain. Also edit docker-compose.yml to add your imgproxy secrets. You can then use docker-compose to run Smithereen, MySQL, and imgproxy. You still need to configure your web server to reverse proxy the port 4567. Create the first account by running docker exec -it smithereen_web_1 bash -c ./smithereen-init-admin.

Contributing

If you would like to help translate Smithereen into your language, please do so on Crowdin.

About

Federated, ActivityPub-compatible social network server with friends, walls, and groups.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 79.1%
  • Twig 9.7%
  • TypeScript 5.7%
  • SCSS 4.3%
  • PHP 0.9%
  • JavaScript 0.3%