Files
johto-infra/roles/silverbullet_server/templates/silverbullet.container.j2
T
jdelpilarandJordan Del Pilar 2eaa2e9c5e
Johto Infrastructure Pipeline / Run Ansible Lint (push) Successful in 2m19s
Johto Infrastructure Pipeline / Deploy to Production (push) Successful in 3m24s
21 feat add new silverbullet role (#23)
### Description
This PR adds a new silvetbullet role that configures and starts the silverbullet container
Changes
- Creates required silverbullet `space` directory
- creates silverbullet `.container` file
- starts new and updated `.container` files

### Related Issue
Closes #21

### Testing Done
- [x] [e.g., Ran local unit tests]
- [x] [e.g., Verified service starts under Podman]
- [x] [e.g., Manual check of configuration file output]

### Checklist
- [x] My code follows the project's style guidelines.
- [x] I have performed a self-review of my own code.
- [x] I have updated the documentation (if necessary).

---------

Co-authored-by: Jordan Del Pilar <[email protected]>
Reviewed-on: #23
2026-07-27 20:40:42 -07:00

51 lines
1.6 KiB
Django/Jinja

# {{ ansible_managed }}
[Unit]
After=network-online.target
StartLimitBurst=10
StartLimitIntervalSec=120
[Container]
ContainerName={{ silverbullet_name }}
Image={{ silverbullet_image }}
Network=services-net
PublishPort={{ silverbullet_port }}:3000
AutoUpdate=registry
Label=category=management
Label=owner={{ container_owner | default('jdelpilar') }}
{% if silverbullet_enable_traefik %}
Label=traefik.enable=true
Label=traefik.http.routers.{{ silverbullet_name }}.rule=Host(`{{ silverbullet_url | default(silverbullet_name + "." + base_domain, true) }}`)
Label=traefik.http.routers.{{ silverbullet_name }}.entrypoints={{ traefik_entrypoint | default('websecure', true) }}
Label=traefik.http.routers.{{ silverbullet_name }}.tls.certresolver={{ traefik_resolver | default('cloudflare', true) }}
Label=traefik.http.services.{{ silverbullet_name }}.loadbalancer.server.port={{ silverbullet_port | default(3000, true) }}
Label=traefik.docker.network=services-net
Label=traefik.http.routers.{{ silverbullet_name }}.tls=true
{% endif %}
Volume={{ podman_config_base_dir }}/{{ silverbullet_name }}/space:/space
{% if silverbullet_volumes is defined %}
{% for volume in silverbullet_volumes %}
Volume={{ volume }}
{% endfor %}
{% endif %}
Environment=TZ={{ timezone | default('America/Los_Angeles') }}
Environment=SB_USER={{ silverbullet_user }}:{{ silverbullet_pass }}
{% if silverbullet_env is defined %}
{% for key, value in silverbullet_env.items() | sort %}
Environment={{ key }}={{ value }}
{% endfor %}
{% endif %}
[Service]
Restart=on-failure
RestartSec=5
[Install]
WantedBy=default.target