The self-hosted firearm tracker app
Go to file
2022-02-07 19:30:21 -05:00
assets update caniuse-lite 2022-02-07 18:01:06 -05:00
config configure gettext 2022-02-07 19:30:21 -05:00
lib configure gettext 2022-02-07 19:30:21 -05:00
priv add ammo type stuff 2022-02-05 16:22:02 -05:00
test alias changeset 2022-02-01 00:22:44 -05:00
.credo.exs add default credo 2021-09-12 17:57:56 -04:00
.drone.yml add drone ci 2022-01-23 22:51:56 -05:00
.formatter.exs reenable heex_formatter 2022-02-01 01:08:18 -05:00
.gitignore add .vscode dir to gitignore 2022-01-27 00:57:03 -05:00
.tool-versions add heex formatter 2022-01-23 22:50:06 -05:00
CONTRIBUTING.md add types to ecto changeset specs 2022-01-31 23:45:00 -05:00
docker-compose.yml update readme and docker-compose.yml 2022-01-23 22:51:56 -05:00
Dockerfile add touchless docker deploys 2021-09-04 16:16:39 -04:00
mix.exs configure gettext 2022-02-07 19:30:21 -05:00
mix.lock reenable heex_formatter 2022-02-01 01:08:18 -05:00
README.md configure gettext 2022-02-07 19:30:21 -05:00

Cannery is a personal ammo manager that adjusts to your own needs.

  • 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.
  • Simple: Access from any internet-capable device

Features

  • Create containers to store your ammunition, and tag them with custom tags
  • Add ammunition types to Cannery, and then ammunition to your containers
  • Customizable invite tokens or public registration via the REGISTRATION environment variable.

Installation

  1. Install Docker Compose or alternatively Docker Desktop on your machine.
  2. Copy the example docker-compose.yml into your local machine where you want. Bind mounts are created in the same directory by default.
  3. Use docker-compose up or docker-compose up -d to start the container.

Reverse proxy

Finally, reverse proxy to port 80 of the container. If you're using a reverse proxy in another docker container, you can reverse proxy to http://cannery:80. Otherwise, you'll need to modify the docker-compose.yml to bind the port to your local machine.

For instance, instead of

expose:
  - "80"

use

ports:
  - "127.0.0.1:80:80"

and reverse proxy to http://localhost:80.

Configuration

You can use the following environment variables to configure Cannery in docker-compose.yml.

  • HOST: External url to generate links with. Set these especially if you're behind a reverse proxy. Defaults to localhost.
  • PORT: Internal port to bind to. Defaults to 80 and attempts to bind to 0.0.0.0. Must be reverse proxied!
  • DATABASE_URL: Controls the database url to connect to. Defaults to ecto://postgres:postgres@cannery-db/cannery.
  • ECTO_IPV6: Controls if Ecto should use ipv6 to connect to PostgreSQL. Defaults to false.
  • POOL_SIZE: Controls the pool size to use with PostgreSQL. Defaults to 10.
  • SECRET_KEY_BASE: Secret key base used to sign cookies. Must be generated with docker exec -it cannery mix phx.gen.secret and set for server to start.
  • REGISTRATION: Controls if user sign-up should be invite only or set to public. Set to public to enable public registration. Defaults to invite.
  • LOCALE: Sets a custom locale. Defaults to en_US.

Contribution

Contributions are greatly appreciated! You can browse the Contribution Guide to learn more.

I can be contacted at shibao@bubbletea.dev, or on the fediverse at @shibao@misskey.bubbletea.dev. Thank you!

--

Build
Status