Common questions about self-hosting, databases, configuration, and contributing to ActaLog.
Yes. ActaLog includes a full class scheduling system: gym locations, class templates, recurring schedule slots, and individual sessions with capacity management. Athletes can reserve spots, join waitlists, and receive automatic notifications when a spot opens. Admins sell credit packages (e.g., "10-Class Pack") and track document requirements (waivers, liability forms). Coaches can check in athletes and mark attendance from the Coach Dashboard.
ActaLog has three roles:
Yes! ActaLog supports SQLite (default), PostgreSQL, and MySQL/MariaDB. Configure your database by setting DB_DRIVER in your environment variables or docker-compose.override.yml. PostgreSQL is recommended for production deployments.
Check the seeds/ and imports/ directories in the repository. You'll find movements.csv with 182 CrossFit movements and wods.csv with 314 benchmark workouts ready to import.
Absolutely. ActaLog is lightweight and runs on a single-node Docker Compose stack. A $5/month VPS with 1GB RAM is plenty for small communities. SQLite keeps things simple, or use PostgreSQL/MariaDB for larger deployments.
Not currently hosted publicly. The easiest way to try ActaLog is to run the Docker Compose stack locally. It takes about 2 minutes to get running. See the Deploy Guide for quick start instructions.
ActaLog includes built-in backup functionality in the admin panel. You can also export your data as JSON/CSV. For SQLite, back up the database file directly. For PostgreSQL/MariaDB, use standard database backup tools.
Open issues and PRs on the GitHub repository. Bug reports, feature requests, and documentation improvements are all welcome. See CONTRIBUTING.md in the repo for guidelines.
Backend: Go 1.21+ with Chi router using Clean Architecture. Frontend: Vue.js 3 with Vuetify 3 and Pinia for state. Database: SQLite, PostgreSQL, or MySQL/MariaDB. See the Tech Docs for architecture details.
ActaLog is open source under the MIT License. You're free to use, modify, and distribute it for personal or commercial purposes. See the LICENSE file in the repository for full details.
Open an issue on GitHub or check out the documentation.