mirror of
https://github.com/house-of-vanity/OutFleet.git
synced 2025-07-06 17:14:07 +00:00
This commit is contained in:
@ -1,7 +1,10 @@
|
|||||||
services:
|
services:
|
||||||
web_ui:
|
web_ui:
|
||||||
image: ultradesu/outfleet:v2
|
#image: ultradesu/outfleet:v2
|
||||||
|
image: outfleet:local
|
||||||
container_name: outfleet-web
|
container_name: outfleet-web
|
||||||
|
# volumes:
|
||||||
|
# - .:/app
|
||||||
build:
|
build:
|
||||||
context: .
|
context: .
|
||||||
ports:
|
ports:
|
||||||
@ -10,6 +13,7 @@ services:
|
|||||||
- POSTGRES_HOST=postgres
|
- POSTGRES_HOST=postgres
|
||||||
- POSTGRES_USER=postgres
|
- POSTGRES_USER=postgres
|
||||||
- POSTGRES_PASSWORD=postgres
|
- POSTGRES_PASSWORD=postgres
|
||||||
|
- EXTERNAL_ADDRESS=http://127.0.0.1:8000
|
||||||
- CELERY_BROKER_URL=redis://redis:6379/0
|
- CELERY_BROKER_URL=redis://redis:6379/0
|
||||||
depends_on:
|
depends_on:
|
||||||
postgres:
|
postgres:
|
||||||
@ -25,6 +29,8 @@ services:
|
|||||||
worker:
|
worker:
|
||||||
image: ultradesu/outfleet:v2
|
image: ultradesu/outfleet:v2
|
||||||
container_name: outfleet-worker
|
container_name: outfleet-worker
|
||||||
|
# volumes:
|
||||||
|
# - .:/app
|
||||||
build:
|
build:
|
||||||
context: .
|
context: .
|
||||||
environment:
|
environment:
|
||||||
@ -42,6 +48,8 @@ services:
|
|||||||
beat:
|
beat:
|
||||||
image: ultradesu/outfleet:v2
|
image: ultradesu/outfleet:v2
|
||||||
container_name: outfleet-beat
|
container_name: outfleet-beat
|
||||||
|
# volumes:
|
||||||
|
# - .:/app
|
||||||
build:
|
build:
|
||||||
context: .
|
context: .
|
||||||
environment:
|
environment:
|
||||||
@ -66,6 +74,8 @@ services:
|
|||||||
POSTGRES_DB: outfleet
|
POSTGRES_DB: outfleet
|
||||||
ports:
|
ports:
|
||||||
- "5432:5432"
|
- "5432:5432"
|
||||||
|
volumes:
|
||||||
|
- postgres_data:/var/lib/postgresql/data
|
||||||
healthcheck:
|
healthcheck:
|
||||||
test: ["CMD-SHELL", "pg_isready -U postgres"]
|
test: ["CMD-SHELL", "pg_isready -U postgres"]
|
||||||
interval: 10s
|
interval: 10s
|
||||||
|
@ -139,13 +139,13 @@ class ACLLinkInline(admin.TabularInline):
|
|||||||
help_text = 'Add or change ACL links'
|
help_text = 'Add or change ACL links'
|
||||||
verbose_name = 'Dynamic link'
|
verbose_name = 'Dynamic link'
|
||||||
verbose_name_plural = 'Dynamic links'
|
verbose_name_plural = 'Dynamic links'
|
||||||
fields = ('link',)
|
fields = ('link', 'comment')
|
||||||
|
|
||||||
@admin.register(ACL)
|
@admin.register(ACL)
|
||||||
class ACLAdmin(admin.ModelAdmin):
|
class ACLAdmin(admin.ModelAdmin):
|
||||||
|
|
||||||
list_display = ('user', 'server', 'server_type', 'display_links', 'created_at')
|
list_display = ('user', 'server', 'server_type', 'display_links', 'created_at')
|
||||||
list_editable = ('server', )
|
#list_editable = ('server', )
|
||||||
list_filter = (UserNameFilter, 'server__server_type', ServerNameFilter)
|
list_filter = (UserNameFilter, 'server__server_type', ServerNameFilter)
|
||||||
search_fields = ('user__name', 'server__name', 'server__comment', 'user__comment', 'links__link')
|
search_fields = ('user__name', 'server__name', 'server__comment', 'user__comment', 'links__link')
|
||||||
readonly_fields = ('user_info',)
|
readonly_fields = ('user_info',)
|
||||||
@ -168,6 +168,6 @@ class ACLAdmin(admin.ModelAdmin):
|
|||||||
@admin.display(description='Dynamic Config Links')
|
@admin.display(description='Dynamic Config Links')
|
||||||
def display_links(self, obj):
|
def display_links(self, obj):
|
||||||
links = obj.links.all()
|
links = obj.links.all()
|
||||||
formatted_links = [f"{EXTERNAL_ADDRESS}/ss/{link.link}" for link in links]
|
formatted_links = [f"{EXTERNAL_ADDRESS}/ss/{link.link}#{link.acl.server.name}" for link in links]
|
||||||
return mark_safe('<br>'.join(formatted_links))
|
return mark_safe('<br>'.join(formatted_links))
|
||||||
|
|
||||||
|
@ -67,6 +67,7 @@ def acl_deleted(sender, instance, **kwargs):
|
|||||||
|
|
||||||
class ACLLink(models.Model):
|
class ACLLink(models.Model):
|
||||||
acl = models.ForeignKey(ACL, related_name='links', on_delete=models.CASCADE)
|
acl = models.ForeignKey(ACL, related_name='links', on_delete=models.CASCADE)
|
||||||
|
comment = models.TextField(default="", blank=True, help_text="ACL link comment, device name, etc...")
|
||||||
link = models.CharField(max_length=1024, default="", unique=True, blank=True, null=True, verbose_name="Access link", help_text="Access link to get dynamic configuration")
|
link = models.CharField(max_length=1024, default="", unique=True, blank=True, null=True, verbose_name="Access link", help_text="Access link to get dynamic configuration")
|
||||||
|
|
||||||
def save(self, *args, **kwargs):
|
def save(self, *args, **kwargs):
|
||||||
|
Reference in New Issue
Block a user