feat(linkding): Add linkding stack
Bookmarking software similar to shaarli but a bit more featureful. And not written in php, thankfully.
This commit is contained in:
parent
83613f6d86
commit
33d19e9373
8 changed files with 200 additions and 0 deletions
46
roles/linkding/templates/docker-stack.yml.j2
Normal file
46
roles/linkding/templates/docker-stack.yml.j2
Normal file
|
|
@ -0,0 +1,46 @@
|
|||
services:
|
||||
app:
|
||||
image: "{{ stack_image }}:{{ linkding_version }}"
|
||||
healthcheck:
|
||||
test: ["CMD", "curl", "--fail", "http://127.0.0.1:9090/health"]
|
||||
interval: 1m
|
||||
timeout: 10s
|
||||
retries: 3
|
||||
start_period: 1m
|
||||
networks:
|
||||
- "{{ docker_swarm_public_network_name }}"
|
||||
volumes:
|
||||
- data:/etc/linkding/data
|
||||
environment:
|
||||
- "LD_SUPERUSER_NAME={{ linkding_username }}"
|
||||
- "LD_SUPERUSER_PASSWORD={{ linkding_password }}"
|
||||
{% if linkding_autoupdate is defined and linkding_autoupdate %}
|
||||
deploy:
|
||||
labels:
|
||||
- shepherd.autoupdate=true
|
||||
{% endif %}
|
||||
|
||||
{% if backup_enable is not undefined and not false and linkding_backup_enable is not undefined and not false %}
|
||||
backup:
|
||||
image: mazzolino/restic
|
||||
environment:
|
||||
- "TZ={{ restic_timezone }}"
|
||||
# go-cron starts w seconds
|
||||
- "BACKUP_CRON={{ linkding_backup_cron }}"
|
||||
- "RESTIC_REPOSITORY={{ restic_repo }}"
|
||||
- "AWS_ACCESS_KEY_ID={{ restic_s3_key }}"
|
||||
- "AWS_SECRET_ACCESS_KEY={{ restic_s3_secret }}"
|
||||
- "RESTIC_PASSWORD={{ restic_pass }}"
|
||||
- "RESTIC_BACKUP_TAGS=linkding"
|
||||
- "RESTIC_BACKUP_SOURCES=/volumes"
|
||||
volumes:
|
||||
- data:/volumes/linkding_data:ro
|
||||
{% endif %}
|
||||
|
||||
volumes:
|
||||
data:
|
||||
|
||||
networks:
|
||||
"{{ docker_swarm_public_network_name }}":
|
||||
external: true
|
||||
|
||||
38
roles/linkding/templates/upstream.json.j2
Normal file
38
roles/linkding/templates/upstream.json.j2
Normal file
|
|
@ -0,0 +1,38 @@
|
|||
{
|
||||
"@id": "{{ stack_name }}_upstream",
|
||||
{% if server_domain is not undefined and not none %}
|
||||
"match": [
|
||||
{
|
||||
"host": [
|
||||
{% if subdomain_alias is not undefined and not none %}
|
||||
"{{ subdomain_alias }}.{{ server_domain }}"
|
||||
{% else %}
|
||||
"{{ stack_name }}.{{ server_domain }}"
|
||||
{% endif %}
|
||||
]
|
||||
}
|
||||
],
|
||||
{% else %}
|
||||
"match": [
|
||||
{
|
||||
"path": [
|
||||
{% if subdomain_alias is not undefined and not none %}
|
||||
"/{{ subdomain_alias }}*"
|
||||
{% else %}
|
||||
"/{{ stack_name }}*"
|
||||
{% endif %}
|
||||
]
|
||||
}
|
||||
],
|
||||
{% endif %}
|
||||
"handle": [
|
||||
{
|
||||
"handler": "reverse_proxy",
|
||||
"upstreams": [
|
||||
{
|
||||
"dial": "{{ stack_name }}_app:9090"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue