Acrarium
Acrarium is a backend for ACRA, which is an android crash reporting tool.
The service will be run in a docker container using our reverse proxy.
The official setup guide’s docker-compose uses a mysql DB and the acrarium image (f43nd1r/acrarium) itself doesn’t support arm64. So in order to run it on a raspberry pi 4, we’ll have to make some adjustments. If you’re not running the acrarium instance on an arm64 device, use the docker-compose from the official guide (reverse-proxy config needs to be adapted).
FROM alpine:latest
ENV JAVA_HOME="/usr/lib/jvm/default-jvm/"
RUN apk update \
&& apk add openjdk11 \
&& apk add wget
ENV PATH=$PATH:${JAVA_HOME}/bin
RUN mkdir /opt/app \
&& wget https://github.com/F43nd1r/Acrarium/releases/download/v1.3.2/acrarium-1.3.2-SNAPSHOT.jar -P /opt/app
EXPOSE 8080
CMD ["java", "-jar", "/opt/app/acrarium-1.3.2-SNAPSHOT.jar"]
Instead of the mysql image we’re using mariadb. Other than that and the reverse-proxy config, the docker-compose file is equal to the one from the official setup guide.
version: "3.9"
services:
database:
image: mariadb:latest
container_name: database
networks: ["server"]
environment:
MYSQL_ROOT_PASSWORD: "<MYSQL_ROOT_PASSWORD>"
MYSQL_DATABASE: "acrarium"
MYSQL_USER: "acrarium"
MYSQL_PASSWORD: "<MYSQL_PASSWORD>"
expose:
- "3306"
volumes:
- acrarium_data:/var/lib/mysql
acrarium:
build: .
container_name: acrarium
networks: ["server"]
depends_on:
- database
restart: always
ports:
- 8080:8080
environment:
VIRTUAL_HOST: "acrarium.<YOUR_DOMAIN>"
VIRTUAL_PORT: 8080
LETSENCRYPT_HOST: "acrarium.<YOUR_DOMAIN>"
SERVER_PORT: 8080
SPRING_DATASOURCE_URL: "jdbc:mysql://database:3306/acrarium?useSSL=false&allowPublicKeyRetrieval=true&useLegacyDatetimeCode=false&serverTimezone=UTC"
SPRING_DATASOURCE_USERNAME: "acrarium"
SPRING_DATASOURCE_PASSWORD: "<MYSQL_PASSWORD>"
SPRING_JPA_DATABASE-PLATFORM: "org.hibernate.dialect.MariaDB10Dialect"
volumes:
acrarium_data:
networks:
server:
external: true
Before you can setup your android app, a new app has to be added to your acrarium instance. Go to https://acrarium.<YOUR_DOMAIN> and create it. The credentials will be created and shown once. The shown URI is probably wrong, the correct one is https://acrarium.<YOUR_DOMAIN>/report.
With this info you can setup an ACRA httpSender. The official acra setup guide is pretty detailed.