Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Acrarium migration #17620

Open
david-allison opened this issue Dec 18, 2024 · 1 comment
Open

Acrarium migration #17620

david-allison opened this issue Dec 18, 2024 · 1 comment
Labels
CI Dev Development, testing & CI Keep Open avoids the stale bot

Comments

@david-allison
Copy link
Member

Note

Transferred from #17343

There's going to be some work we need to do for Acrarium:

  • Use Ankidroid's own DO account for hosting the droplet.
    • Who pays for this? @mikehardy willing to use personal billing info, but AnkiDroid pays via reimbursement from OpenCollective
    • Consider upgrading to a droplet with better specs (more cores&RAM) so that it's actually usable.
    • Who should we have maintaining the droplet? Do we need more than one person?
  • Upgrade to Acrarium 2.
    • Not even released yet? About 300 commits since the latest stable release: F43nd1r/Acrarium@v1.8.1...v2.0.0-beta09
    • I found several dependencies in the beta with fairly high CVE scores and pinned the patched versions to fix this. Not sure how bad stable looks. Should consider submitting a PR with my changes.
    • Purge old reports in a cron job or something. Problem: Acrarium's API endpoint for reports does not support delete operations. Maybe we can just.. drop records from the database directly?
    • Problem: I tried upgrading to the latest beta with the current database as-is, but Acrarium got stuck during the database migration saying something like "duplicate column name". I tried tinkering with the MySQL dialect variable as mentioned here to no avail. Idea: Dump a (very) small proportion of our DB and try migrating it, instead of doing the whole DB at once, so that it becomes faster to debug any migration issues by changing settings around and so on.
    • Try adding Proguard mappings, again? Didn't work for me on the droplet (Acrarium v1.8.1). Trying to open any report results in an "Error 500" page. Good to know: After a few "Error 500" messages, you can get back into the admin panel and upload an empty mappings file for the app version that's now bugged out. That has always un-bugged it for me, so that I can check reports for that version.
    • Check to see if filtering has changed in Acrarium (maybe it has improved?). I have personally felt that it is a bit lacking, like when trying to filter after a specific field in the reports.
    • Check if ingress stack matching is possible with the newer version, without degradation of performance on the droplet (or total meltdown, apparently?) Mike has way better knowledge about this.
@david-allison
Copy link
Member Author

david-allison commented Dec 18, 2024

Comment by mikehardy

Hetzner is more cost-efficient then Digital Ocean, I've got a new server up on Hetzner cloud:

  • IP address 37.27.88.220 / 2a01:4f9:c012:e3bc::/64
  • shared cx32 server type (4 vCPU / 8GB RAM / 80GiB disk)

Should be more than powerful enough to hold ankidroid.org in the future, appears like it will cost somewhere between $8-15/month (based on server being up approximately 20% of a 30-day period and generating approximately 1.6euro in charges so far), which is pretty good for a server that size.

Next steps I think:
-install webserver stuff on it and get our ankidroiddocs build workflow to publish to it
-work to get unreleased acarium 2 stuff releasable upstream and install it (note: I don't think a data migration is important, we can just let the old data stay in the old server and evaporate when we turn it off)
-point ankidroid.org to the new server

@mikehardy mikehardy added Keep Open avoids the stale bot Dev Development, testing & CI CI labels Dec 18, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CI Dev Development, testing & CI Keep Open avoids the stale bot
Projects
None yet
Development

No branches or pull requests

2 participants