/portal

Aplication portal for your Mastodon users. They can grant themselves access to your community Minecraft servers, or write blog posts. And more if you have time to add some features :)

Primary LanguageGo

Mastodon applications portal

Service deployed to apps.3615.computer if you want to take a look.

😿 The service development has been stopped and the application is not deployed anymore on 3615.computer.

It never got the traction I would have wanted, I don't think it fits people needs.

The simple blogging system was nice so maybe it could be refined and focus the project on this part.

You can deploy this for your own instances and your own users!.

Screenshots

Homepage

Light Version Dark Version
Screenshot 2024-03-10 at 11-03-24 3615 computer - Home Screenshot 2024-03-10 at 11-03-57 3615 computer - Home

Minecraft Home

Light Version Dark Version
Screenshot 2024-03-10 at 11-03-30 3615 computer - Minecraft Screenshot 2024-03-10 at 11-04-03 3615 computer - Minecraft

Miniblog Home

Light Version Dark Version
Screenshot 2024-03-10 at 11-03-39 3615 computer - Miniblog Screenshot 2024-03-10 at 11-04-13 3615 computer - Miniblog

Miniblog post

Light Version Dark Version
Screenshot 2024-03-10 at 11-04-39 3615 computer - Welcome to Miniblog! – Alyx (@alyx) Screenshot 2024-03-10 at 11-04-26 3615 computer - Welcome to Miniblog! – Alyx (@alyx)

Services used:

Services available

  • Minecraft Servers: Let your instance users play on your Minecraft Servers using Exaroton
  • Miniblog: A mini blogging system for your instance users. Markdown available.

Config

Environment variables

Name Example Notes
APP_BASE_URL http://apps.3615.computer Without a trailing slash
BIND_ADDRESS 0.0.0.0:3000 Bind application server to this IP and port
DATABASE_PATH_CACHE ./db/cache.sqlite3 Path to the cache database file
DATABASE_PATH_SESSION ./db/session.sqlite3 Path to the session database file
DATABASE_PATH ./db/db.sqlite3 Path to the main database file
EXAROTON_API_KEY XXX Get it on https://exaroton.com/account/
EXAROTON_SERVERS_ID XXX or XXX,YYY Split IDs with a comma, without the #
MASTODON_URL https://3615.computer/ With a trailing slash
OAUTH2_CLIENT_ID XXX Create your application: mastodon.example.com/settings/applications
OAUTH2_CLIENT_SECRET XXX Create your application: mastodon.example.com/settings/applications
ORG_NAME 3615.computer Displayed on the homepage and to name the instance in various places

How to run locally?

To run the application locally:

Docker

Just run docker compose up.

Native

  • Application:
    • Install golang
    • Use air for auto-reload
  • Tailwind:
    • Install packages: npm ci
    • Watch changes: npm run build:css