diff --git a/Dockerfile b/Dockerfile
index df8a267aa7360c1f69739e6c1a0a6d457f31c373..3d7e18b1e29e38580794687a4149e187eb3f396d 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,6 +1,12 @@
 # debian 11 is the most recent debian version that aprsc supports
 FROM debian:bullseye-slim
 
+LABEL maintainer="Jeffrey Phillips Freeman <the@JeffreyFreeman.me>"
+LABEL description="This dockerfile is only for running an APRS-IS gateway at digipex.io"
+MAINTAINER Jeffrey Phillips Freeman <the@JeffreyFreeman.me>
+
+
+
 # Install requirements
 RUN apt-get update && apt-get install -y gnupg
 
@@ -12,9 +18,26 @@ RUN gpg --keyserver keyserver.ubuntu.com --recv-keys C51AA22389B5B74C3896EF3CA72
     apt-get update && \
     apt-get install -y aprsc
 
+COPY ./aprsc /etc/default/aprsc
+COPY ./aprsc.conf /opt/aprsc/etc/aprsc.conf
+
 # change the aprsc user's uid to 1000 so that volume permissions translate
 # between the first non-root user on the host
 RUN usermod -u 1000 aprsc
 
+# Expose the ports
+EXPOSE 14501/tcp
+EXPOSE 10152/tcp
+EXPOSE 10152/udp
+EXPOSE 14580/tcp
+EXPOSE 14580/udp
+#This one is supposed to be UDP only
+EXPOSE 8080/udp
+EXPOSE 10155/tcp
+EXPOSE 10155/udp
+
+VOLUME /opt/aprsc/logs
+VOLUME /opt/aprsc/data
+
 # start the service and follow the logs so that container doesn't exit
 CMD service aprsc start && tail -F /opt/aprsc/logs/aprsc.log
diff --git a/aprsc.conf.example b/aprsc.conf.example
deleted file mode 100644
index 820c2cdf67af00391feee0dc164f428c4d9e42d3..0000000000000000000000000000000000000000
--- a/aprsc.conf.example
+++ /dev/null
@@ -1,123 +0,0 @@
-# Configuration for aprsc, an APRS-IS server for core servers
-
-# Your unique server ID
-ServerId   NOCALL
-# Passcode for the server ID
-PassCode   0
-# Who is running this server?
-MyAdmin    "My Name, MYCALL"
-# The email address where the admin can be reached
-MyEmail    email@example.com
-
-### Directories #########
-# Data directory (for persistent state files - currently none)
-RunDir data
-
-# If logging to a file (-o file), enable built-in log rotation.
-# LogRotate <megabytes> <filecount>
-# "LogRotate 10 5" keeps 5 old files of 10 megabytes each.
-LogRotate 1000 1
-
-### Intervals and timers #########
-# Interval specification format examples:
-# 600 (600 seconds), or 600s, 5m, 2h, 1h30m, 1d3h15m24s, etc...
-
-# When no data is received from an upstream server in N seconds, switch to
-# another server.
-UpstreamTimeout		15s
-
-# When no data is received from a downstream server in N seconds, disconnect
-ClientTimeout		48h
-
-### TCP listener ##########
-# Listen <socketname> <porttype> tcp <address to bind> <port> <options...>
-#	socketname: any name you wish to show up in logs and statistics
-#	porttype: one of:
-#		fullfeed - everything, after dupe filtering
-#		igate - igate / client port with user-specified filters
-#		udpsubmit - UDP packet submission port (8080)
-#		dupefeed - duplicate packets dropped by the server
-#	options:
-#		filter "m/500" - force a filter for users connected here
-#		maxclients 100 - limit clients connected on this port
-#		acl etc/client.acl - match client addresses against ACL
-#		hidden - don't show the port in the status page
-#
-#              If you wish to provide UDP service for clients, set up a
-#              second listener on the same address, port and protocol.
-#
-#              The  "::"  is IPv6 "IN6ADDR_ANY", whereas "0.0.0.0" is same
-#              with IPv4.
-#
-#              On FreeBSD you need to have separate listeners for IPv4 and
-#              IPv6. On Linux, just use :: alone - the IPv6 listener will
-#              catch the IPv4 connections just as well.
-#
-# Example of normal server ports for Linux, supporting both TCP and UDP,
-# IPv4 and IPv6:
-# 
-Listen "Full feed"                                fullfeed tcp ::  10152 hidden
-Listen ""                                         fullfeed udp ::  10152 hidden
-
-Listen "Client-Defined Filters"                   igate tcp ::  14580
-Listen ""                                         igate udp ::  14580
-
-#Listen "350 km from my position"                 igate tcp ::  20350 filter "m/350"
-#Listen ""                                        igate udp ::  20350 filter "m/350"
-
-Listen "UDP submit"                               udpsubmit udp :: 8080
-
-### Uplink configuration ########
-# Uplink <name> <type> tcp <address> <port>
-#	name: a name of the server or service you're connecting to
-#	type: one of:
-#		full - full feed
-#		ro   - read-only, do not transmit anything upstream
-#
-# If you wish to specify multiple alternative servers, use multiple
-# Uplink lines, one for each server.
-#
-# Normally a single line for the 'rotate' address is fine - it will connect
-# to one of the servers in a random fashion and go for another one should
-# the first one become unavailable.
-#
-#Uplink "Core rotate" full  tcp  rotate.aprs.net 10152
-#Uplink "Core rotate" ro    tcp  rotate.aprs.net 10152
-
-# OPTIONAL: Bind source address before connecting to an uplink
-# You can enter two addresses, one for IPv4 and one for IPv6 connections.
-# Needed if you have multiple IP addresses on your server and only one
-# of them is allowed to connect by the remote server.
-#UplinkBind 127.0.0.1
-#UplinkBind ::1
-
-### HTTP server ##########
-# HTTPStatus port provides a status view to web browsers.
-# IPv6+IPv4 support works slightly differently than in Listen:
-# :: is "all addresses" for IPv6, 0.0.0.0 for IPv4, but
-# :: only works if you actually have a global IPv6 address
-# configured on the system.
-# The example is for IPv4, change the address to :: if you have
-# IPv6. For FreeBSD, or if you wish to support multiple specific
-# ports/addresses, use multiple HTTPStatus directives for each.
-HTTPStatus 0.0.0.0 14501
-# HTTPUpload port allows position uploads over HTTP
-HTTPUpload 0.0.0.0 8080
-
-### Environment ############
-# When running this server as super-user, the server can (in many systems)
-# increase several resource limits, and do other things that less privileged
-# server can not do.
-#
-# The FileLimit is resource limit on how many simultaneous connections and
-# some other internal resources the system can use at the same time.
-# If the server is not being run as super-user, this setting has no effect
-# in case it is above what normal user can set.
-#
-FileLimit        10000
-
-### Operator attention span qualification run ###########
-# After configuring the rest of the settings, remove this bad command
-# from the configuration file. It's here only to avoid starting the
-# server up accidentally with an invalid configuration.
-MagicBadness	42.7
\ No newline at end of file
diff --git a/data/.gitkeep b/data/.gitkeep
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000
diff --git a/docker-compose.yaml b/docker-compose.yaml
index 0b8701455d43e97ecb3a6012fec257f9b4e9d529..a71d735ca7c7836142efd138ecbdc80b80e64bd7 100644
--- a/docker-compose.yaml
+++ b/docker-compose.yaml
@@ -1,15 +1,6 @@
 version: '3'
 services:
   aprsc:
+    image: 'registry.qoto.org/digipex/aprsc-docker:latest'
     build: .
-    volumes:
-      - "./aprsc:/etc/default/aprsc"
-      - "./aprsc.conf:/opt/aprsc/etc/aprsc.conf"
-      - "./logs:/opt/aprsc/logs"
-      - "./data:/opt/aprsc/data"
-    ports:
-      - 8080:8080
-      - 10152:10152
-      - 14501:14501
-      - 14580:14580
     privileged: true
diff --git a/logs/.gitkeep b/logs/.gitkeep
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000