Welcome to Aksaria! π
π€ What is Aksaria?
"Where discipline meets destiny."
Aksaria is a Discord-based community and system designed for those who choose discipline, consistency, and long-term growth. In a world saturated with distractions, Aksaria emerges as a space where each day is recorded, every step is acknowledged, and every spark is carefully tendedπΈ.
We call those who walk this path Grinders.
π€¨ What features are available in Aksaria?
-
Daily Check-In System
Log your consistency and discipline daily to maintain your streak and unlock new roles.
-
Dynamic Streak Roles
Special Discord roles are awarded based on your check-in streaks, marking milestones and dedication.
-
Discord Slash Commands Integration
Fast and intuitive command set for all server interactions directly from Discord.
-
Comprehensive User Profiles
Track your progression, personal stats, and received awards.
-
Streak Leaderboards (WIP)
See where you stand! View rankings of Grinders based on their check-in streaks and totals.
-
Automated Reminders (WIP)
Bots automatically remind you to check-in and stay on track.
-
Flexible Deployment
Ready to run with Docker or via local development with Bun.
-
Multi-Platform Ready
Runs anywhere via Docker (Linux, macOS, ARM, AMD64).
πΎ Pre-requisite
Here are the prerequisites required for installing and running the application.
- Bun (for local development) β₯ v1.3
- PostgreSQL (for DB) β₯ v17.6
- Docker (for containerized deployment)
- Make (recommended for migration scripts)
π» Installation
πββοΈ Develop by yourself
- Clone repository and install its deps
git clone https://github.com/devoverid/aksaria.git
cd aksaria
bun install
bun prisma- Copy
.env.examplefile withcp .env.example .envand configure database:
# Your application's token (APP_TOKEN) # Obtain this from the [Discord Developer Portal](https://discord.com/developers/applications): # 1. Navigate to your application # 2. Go to "Bot" in the sidebar # 3. Under "Bot", you will see the "Token" section, click "Reset Token" or "Copy" to get your token. # 4. NEVER share your token publicly APP_TOKEN=MTQxxxxxxxxxxxx # Your Discord server's guild id (GUILD_ID) # To get your guild (server) ID: # 1. In Discord, go to User Settings > Advanced, and turn on "Developer Mode" # 2. Right-click your server's icon in the guild/server list # 3. Click "Copy Server ID" GUILD_ID=99999999999999 # Your application's ID (APP_ID) # To get your application (client) ID: # 1. Go to the [Discord Developer Portal](https://discord.com/developers/applications) # 2. Select your application # 3. Your App's "Application ID" (Client ID) is displayed at the top under the app name APP_ID=99999999999999 # Your DB's creds DB_HOST=localhost DB_NAME=aksaria DB_USER=postgres DB_PASS=password
- Do migrations with
Makefile
make migrate-up
# Use this command below if you want to reset all of the data on database
make migrate-reset- Deploy its commands and launch the bot
π³ Develop w/ Docker
- Clone the repository
git clone https://github.com/devoverid/aksaria.git
cd aksaria- Copy
.env.examplefile withcp .env.example .envand configure database:
APP_TOKEN=MTQxxxxxxxxxxxx GUILD_ID=99999999999999 APP_ID=99999999999999 DB_HOST=db DB_NAME=aksaria DB_USER=postgres DB_PASS=password
- Make sure you have Docker installed and run:
docker compose up --build -d
π Commands
- Bun
-
docker compose run --rm --entrypoint "" app bunx prisma migrate reset
- PostgreSQL
-
docker compose exec db psql -U postgres -d aksaria
π Production
π³ Deployment w/ Docker (use Virtual Private Server)
-
Clone the repository w/ SSH method
git clone git@github.com:devoverid/aksariaand go to the directory withcd aksariacommand. -
Copy
.env.examplefile to.envand do configs.
APP_TOKEN=MTQxxxxxxxxxxxx GUILD_ID=99999999999999 APP_ID=99999999999999 DB_HOST=db DB_NAME=aksaria DB_USER=postgres DB_PASS=password
-
Let's deploy with
docker compose -f ./docker-compose.prod.yaml up -dcommand. -
Congrats! The bot is running securely, connected to persistent Postgres, and auto-updating when
devover/aksaria:latestchanges.
π Commands
docker compose -f docker-compose.prod.yml psdocker compose -f docker-compose.prod.yml logs -f appdocker compose -f docker-compose.prod.yml logs -f watchtowerdocker compose -f docker-compose.prod.yml logs -f db
π Support us
You can support us and the further development of Aksaria! Even the smallest contribution goes a long way. Giving a βοΈ to this repo or sharing it with others is already greatly appreciated.
If you'd like to treat us to a coffee, you can support via Trakteer:
π€ Contributing
Contributions, issues, and feature requests are highly appreciated as this application is far from perfect. Please do not hesitate to make a pull request and make changes to this project!
π License
Aksaria is open-sourced software licensed under the MIT License.