Hosts all iterations of abtmtr.link, successful or otherwise.
- JavaScript 79.8%
- Less 20.2%
| .vscode | ||
| assets | ||
| express | ||
| scripts | ||
| views | ||
| .gitignore | ||
| example.config.json | ||
| index.js | ||
| package.json | ||
| README.md | ||
abtmtr.link v15
v15 is a monorepo for various subdomains under abtmtr.link. It's built on Node.js and Express, and uses few cosmetic dependencies.
Dependencies
Runs mainly on Node.js LTS Krypton (v24).
Setup
Development environment
# Clone repo
git clone -b v15 --single-branch \
"https://codeberg.org/MeowcaTheoRange/abtmtr.link.git" \
abtmtr
cd abtmtr
# Install node (optional)
nvm install lts/krypton
nvm use lts/krypton
# Install node modules.
npm i
# Copy config.json
cp example.config.json dev.config.json
# Generate password
npm run pass-gen
# Configure config.json
${EDITOR:-nano} -e dev.config.json
SERVER_HOST=$(jq -r '.general.server_host' dev.config.json)
PORT=$(jq -r '.general.port' dev.config.json)
# Configure hosts
echo "127.0.0.1 $SERVER_HOST cdn.$SERVER_HOST s.$SERVER_HOST discord.$SERVER_HOST mc.$SERVER_HOST" | sudo tee -a /etc/hosts
Running
In a development environment, you can do npm run dev to get a nodemon session running. Otherwise, if you don't have Nodemon, or just want to run the dev environment once, do ENV=dev node index.js.
In a production environment, configure any scripts to execute npm run prod from the root directory as the user that owns dev.config.json.
Here's an example systemd service:
[Unit]
Description=abtmtr.link v15 Daemon
After=network.target
[Service]
WorkingDirectory=/var/www/abtmtr/
ExecStart=/usr/local/bin/node index.js
Environment="ENV=prod"
User=[YOUR_USER]
Group=www-data
Restart=always
[Install]
WantedBy=multi-user.target
Services
Currently, abtmtr.link v15 contains these services:
-
Teo'ne (
Regular abtmtr.link. Has a frontpage mascot area, character listings, webmaster info, and more.SERVER_HOST) -
Stronghold (
A filesystem indexer and host. Depends on Node FS, supports ranged file streaming.cdn.SERVER_HOST) -
Labyrinth (
A frontend for any SearXNG instance that supports JSON output.s.SERVER_HOST) -
Discord (
A site designed mainly as an introduction to abtmtr.link's Discord server.discord.SERVER_HOST)