Docker
Version Pinning
Please note that I highly recommend pinning the release version to a specific release if your event is coming up soon. This will ensure any releases pushed in the days leading up to your event won't break your site.
To do this all you need to do is replace the latest tag in the commands with the release version instead.
E.g., memtly/memtly:1.0.0
Run
docker run --name Memtly -h memtly -p 8080:5000 -v /var/lib/docker/volumes/memtly-config/_data:/app/config:rw -v /var/lib/docker/volumes/memtly-thumbnails/_data:/app/thumbnails:rw -v /var/lib/docker/volumes/memtly-uploads/_data:/app/uploads:rw -v /var/lib/docker/volumes/memtly-custom-resources/_data:/app/custom_resources:rw --restart always memtly/memtly:latest
Compose (MariaDB) - Recommended
services:
mariadb:
container_name: 'mariadb'
image: 'mariadb:latest'
ports:
- '3306:3306/tcp'
environment:
MYSQL_ROOT_HOST: '%'
MYSQL_ROOT_PASSWORD: 'ChangeMe!'
MYSQL_DATABASE: 'memtly'
MYSQL_USER: 'memtly'
MYSQL_PASSWORD: 'ChangeMe!'
volumes:
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
- data-volume-mariadb:/var/lib/mysql:rw
command: ["mysqld","--character-set-server=utf8mb4","--collation-server=utf8mb4_unicode_ci"]
networks:
- memtly-net
hostname: 'mariadb'
restart: 'always'
memtly:
container_name: Memtly
image: memtly/memtly:latest
ports:
- '${HTTP_PORT:-8080}:5000/tcp'
environment:
TITLE: 'Memtly'
DATABASE_TYPE: 'mariadb'
DATABASE_CONNECTION_STRING: 'Server=mariadb;Port=3306;Database=memtly;User=memtly;Password=ChangeMe!;'
ACCOUNT_ADMIN_PASSWORD: 'admin'
ENCRYPTION_KEY: 'ChangeMe'
ENCRYPTION_SALT: 'ChangeMe'
volumes:
- data-volume-config:/app/config
- data-volume-thumbnails:/app/thumbnails
- data-volume-uploads:/app/uploads
- data-volume-custom-resources:/app/custom_resources
networks:
- memtly-net
hostname: memtly
restart: always
depends_on:
- mariadb
volumes:
data-volume-config:
name: Memtly-Config
data-volume-thumbnails:
name: Memtly-Thumbnails
data-volume-uploads:
name: Memtly-Uploads
data-volume-custom-resources:
name: Memtly-CustomResources
data-volume-mariadb:
name: Memtly-MariaDB
networks:
memtly-net:
name: 'memtly-net'
external: false
Compose (MySQL)
services:
mysql:
container_name: 'mysql'
image: 'mysql:latest'
ports:
- '3306:3306/tcp'
environment:
MYSQL_ROOT_HOST: '%'
MYSQL_ROOT_PASSWORD: 'ChangeMe!'
MYSQL_DATABASE: 'memtly'
MYSQL_USER: 'memtly'
MYSQL_PASSWORD: 'ChangeMe!'
volumes:
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
- data-volume-mysql:/var/lib/mysql:rw
command: ["mysqld","--character-set-server=utf8mb4","--collation-server=utf8mb4_unicode_ci"]
networks:
- memtly-net
hostname: 'mysql'
restart: 'always'
memtly:
container_name: Memtly
image: memtly/memtly:latest
ports:
- '${HTTP_PORT:-8080}:5000/tcp'
environment:
TITLE: 'Memtly'
DATABASE_TYPE: 'mysql'
DATABASE_CONNECTION_STRING: 'Server=mysql;Port=3306;Database=memtly;User=memtly;Password=ChangeMe!;'
ACCOUNT_ADMIN_PASSWORD: 'admin'
ENCRYPTION_KEY: 'ChangeMe'
ENCRYPTION_SALT: 'ChangeMe'
volumes:
- data-volume-config:/app/config
- data-volume-thumbnails:/app/thumbnails
- data-volume-uploads:/app/uploads
- data-volume-custom-resources:/app/custom_resources
networks:
- memtly-net
hostname: memtly
restart: always
depends_on:
- mysql
volumes:
data-volume-config:
name: Memtly-Config
data-volume-thumbnails:
name: Memtly-Thumbnails
data-volume-uploads:
name: Memtly-Uploads
data-volume-custom-resources:
name: Memtly-CustomResources
data-volume-mysql:
name: Memtly-MySQL
networks:
memtly-net:
name: 'memtly-net'
external: false
Compose (SQLite)
services:
memtly:
container_name: Memtly
image: memtly/memtly:latest
ports:
- '${HTTP_PORT:-8080}:5000/tcp'
environment:
TITLE: 'Memtly'
DATABASE_TYPE: 'sqlite'
ACCOUNT_ADMIN_PASSWORD: 'admin'
ENCRYPTION_KEY: 'ChangeMe'
ENCRYPTION_SALT: 'ChangeMe'
volumes:
- data-volume-config:/app/config
- data-volume-thumbnails:/app/thumbnails
- data-volume-uploads:/app/uploads
- data-volume-custom-resources:/app/custom_resources
network_mode: bridge
hostname: memtly
restart: always
volumes:
data-volume-config:
name: Memtly-Config
data-volume-thumbnails:
name: Memtly-Thumbnails
data-volume-uploads:
name: Memtly-Uploads
data-volume-custom-resources:
name: Memtly-CustomResources
Compose (Postgres)
services:
postgres:
image: postgres:16
container_name: postgres
environment:
POSTGRES_DB: 'memtly'
POSTGRES_USER: 'memtly'
POSTGRES_PASSWORD: 'ChangeMe!'
volumes:
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
- data-volume-postgres:/var/lib/postgresql/data:rw
networks:
- memtly-net
hostname: 'postgres'
restart: 'always'
memtly:
container_name: Memtly
image: memtly/memtly:latest
ports:
- '${HTTP_PORT:-8080}:5000/tcp'
environment:
TITLE: 'Memtly'
DATABASE_TYPE: 'postgres'
DATABASE_CONNECTION_STRING: 'Host=postgres;Port=5432;Database=memtly;Username=memtly;Password=ChangeMe!;'
ACCOUNT_ADMIN_PASSWORD: 'admin'
ENCRYPTION_KEY: 'ChangeMe'
ENCRYPTION_SALT: 'ChangeMe'
volumes:
- data-volume-config:/app/config
- data-volume-thumbnails:/app/thumbnails
- data-volume-uploads:/app/uploads
- data-volume-custom-resources:/app/custom_resources
networks:
- memtly-net
hostname: memtly
restart: always
depends_on:
- postgres
volumes:
data-volume-config:
name: Memtly-Config
data-volume-thumbnails:
name: Memtly-Thumbnails
data-volume-uploads:
name: Memtly-Uploads
data-volume-custom-resources:
name: Memtly-CustomResources
data-volume-postgres:
name: Memtly-Postgres
networks:
memtly-net:
name: 'memtly-net'
external: false
Compose (MSSQL)
services:
mssql:
container_name: 'mssql'
image: 'mcr.microsoft.com/mssql/server:latest'
ports:
- '1433:1433/tcp'
environment:
ACCEPT_EULA: 'Y'
MSSQL_SA_PASSWORD: 'ChangeMe!23'
MSSQL_DB: 'memtly'
volumes:
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
- data-volume-mssql:/var/opt/mssql:rw
networks:
- memtly-net
hostname: 'mssql'
restart: 'always'
memtly:
container_name: Memtly
image: memtly/memtly:latest
ports:
- '${HTTP_PORT:-8080}:5000/tcp'
environment:
TITLE: 'Memtly'
DATABASE_TYPE: 'mssql'
DATABASE_CONNECTION_STRING: 'Server=mssql,1433;Database=memtly;User=sa;Password=ChangeMe!23;TrustServerCertificate=True;'
ACCOUNT_ADMIN_PASSWORD: 'admin'
ENCRYPTION_KEY: 'ChangeMe'
ENCRYPTION_SALT: 'ChangeMe'
volumes:
- data-volume-config:/app/config
- data-volume-thumbnails:/app/thumbnails
- data-volume-uploads:/app/uploads
- data-volume-custom-resources:/app/custom_resources
networks:
- memtly-net
hostname: memtly
restart: always
depends_on:
- mssql
volumes:
data-volume-config:
name: Memtly-Config
data-volume-thumbnails:
name: Memtly-Thumbnails
data-volume-uploads:
name: Memtly-Uploads
data-volume-custom-resources:
name: Memtly-CustomResources
data-volume-mssql:
name: Memtly-MSSQL
networks:
memtly-net:
name: 'memtly-net'
external: false