|shibao 9c4a32896f||2 days ago|
|assets||2 days ago|
|config||4 days ago|
|lib||2 days ago|
|priv||4 days ago|
|test||4 days ago|
|.credo.exs||11 months ago|
|.drone.yml||4 days ago|
|.formatter.exs||10 months ago|
|.gitignore||1 year ago|
|.tool-versions||4 days ago|
|CHANGELOG.md||4 days ago|
|CONTRIBUTING.md||2 months ago|
|Dockerfile||2 months ago|
|LICENSE.md||1 year ago|
|README.md||7 months ago|
|docker-compose.yml||12 months ago|
|home.png||7 months ago|
|mix.exs||5 days ago|
|mix.lock||2 weeks ago|
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 ammunition groups to your containers
- Stage groups of ammo for range day and record your ammo usage
- 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.