continuous-integration/drone/push Build is passing Details
The self-hosted firearm tracker website.
- Easy to Use: Cannery lets you easily keep an eye on your ammo levels before and after range day
- Secure: Self-host your own instance, or use an instance from someone you trust. Your data stays with you, period
- Simple: Access from any internet-capable device
- Create containers to store your ammunition, and tag them with custom tags
- Add ammunition types to Cannery, and then ammo packs to your containers
- Stage ammo packs for range day and track your usage with shot records
- Invitations via invite tokens or public registration
- Install Docker Compose or alternatively Docker Desktop on your machine.
- Copy the example docker-compose.yml. into your local machine where you want. Bind mounts are created in the same directory by default.
- Set the configuration variables in
docker-compose.yml. You'll need to run
docker run -it shibaobun/cannery /app/priv/random.shto generate a new secret key base.
docker-compose up -dto start the container!
The first created user will be created as an admin.
Finally, reverse proxy to port
4000 of the container. If you're using a reverse proxy in another docker container, you can reverse proxy to
http://cannery:4000. Otherwise, you'll need to modify the
docker-compose.yml to bind the port to your local machine.
For instance, instead of
expose: - "4000"
ports: - "127.0.0.1:4000:4000"
and reverse proxy to
You can use the following environment variables to configure Cannery in docker-compose.yml.
HOST: External url to generate links with. Must be set with your hosted domain name! I.e.
PORT: Internal port to bind to. Defaults to
4000. Must be reverse proxied!
DATABASE_URL: Controls the database url to connect to. Defaults to
ECTO_IPV6: If set to
true, Ecto should use ipv6 to connect to PostgreSQL. Defaults to
POOL_SIZE: Controls the pool size to use with PostgreSQL. Defaults to
SECRET_KEY_BASE: Secret key base used to sign cookies. Must be generated with
docker run -it shibaobun/cannery mix phx.gen.secretand set for server to start.
REGISTRATION: Controls if user sign-up should be invite only or set to public. Set to
publicto enable public registration. Defaults to
LOCALE: Sets a custom default locale. Defaults to
- Available options:
- Available options:
SMTP_HOST: The url for your SMTP email provider. Must be set
SMTP_PORT: The port for your SMTP relay. Defaults to
SMTP_USERNAME: The username for your SMTP relay. Must be set!
SMTP_PASSWORD: The password for your SMTP relay. Must be set!
SMTP_SSL: Set to
trueto enable SSL for emails. Defaults to
EMAIL_FROM: Sets the sender email in sent emails. Defaults to
HOSTwas previously defined.
EMAIL_NAME: Sets the sender name in sent emails. Defaults to "Cannery".
Contributions are greatly appreciated, no ability to code needed! You can browse the Contribution Guide to learn more.
Cannery is licensed under AGPLv3 or later. A copy of the latest version of the license can be found at LICENSE.md.
- Gitea: Main repo, feature requests and bug reports
- Github: Source code mirror, please don't open pull requests to this repository
- Weblate: Contribute to translations!