The awesome and damn simple, selfhosted alternative to linktree
Find a file
2023-03-02 20:08:40 +01:00
.vscode Added vscode workspace 2022-10-14 10:06:21 +02:00
assets Extend documentation and README 2023-01-17 09:45:36 +01:00
dev Update 'dev/docker/stacks/main/compose.yml' 2023-03-02 20:08:40 +01:00
src Extend documentation and README 2023-01-17 09:45:36 +01:00
.env.example FEATURE: Made Port dynamic with env variable 2022-11-10 15:49:01 +01:00
.gitignore Removed config file and added example config file 2023-01-11 21:57:09 +01:00
LICENSE.txt pushed version in package.json and added LICENSE.txt 2022-11-13 22:14:59 +01:00
package.json Bumped package.json to 1.0.0 and added new todo 2023-02-03 08:23:51 +01:00
README.md Update 'README.md' 2023-03-02 20:07:37 +01:00

Socialtree

The awesome and damn simple, selfhosted alternative to linktree

made-with-javascript GitHub license Speed  - Blazing ⚡

Screenshot of Nikus Socialtree

TODO:

  • working template
  • overwrites of default themes with css !important for round profile-pic etc.
  • more themes
  • more variations of the themes in version 1.0
  • Dockerize
  • Redirection with Routes (your-domain.xyz/mastodon redirects to your mastodon account)

TODO until 1.0:

  • Import my themes from the old socialtree
  • Overwrite for round profile pictures
  • Testing if everything works like expected
  • Expand Documentation
  • Rewrite README

Setup

A up to date docker image is provided at my gitea, but you can also build it yourself.

Build

  1. Clone the repository git clone https://dev.cat-enby.club/Nikurasu/socialtree.git
  2. Copy .env.example to .env and edit it to your needs
  3. Build the image. For unix like systems I provide a bash script in dev/shell/docker-prod.sh. I hated the hassle to type the full command every time ;)

Deploy

  1. Done with docker-compose. Use the file at dev/docker/stacks/main/compose.yml and edit it to your needs.
  2. Configure the resulting config.yml file under your mounted assets volume config/config.yml and replace the profile pic in the img folder img/profilepic.jpg. The image name can be ajusted in the config file if needed.

Build your own theme

SCSS only

  1. Create a new scss file with the themes name in /src/public/themes
  2. Import any dependencies you need. E.g. for a variant of the blurred theme, you can import the blurred-basic.scss from the utils. If you create a completely new theme create your own basic scss file. Write everything that has to do with the layout in this file. In the scss file in the themes folder, you should only define the colours, if possible.
  3. Change the theme variable in asstets/config.yml
  4. If you want I can merge your theme in the main project here. You can reach me over any platform on my Socialtree. I would be happy if the ammont of avalable themes grows.

Own HTML Body

If you want a completely new layout that requires another layout in the HTML you can also do that.

  1. create a new main.ejs for you theme in src/views/partials
  2. Add your themes name to the customMainPartialThemes array in src/index.js
  3. Write your own layout. You can see the available variables and their names in src/index.js
  4. Do the Stuff needed for a SCSS only theme.

To use your themes in Docker you have to rebuild the image.